私は少し問題があり、解決策を見つけることができません。私はレベルの警告以外のレベル情報のパターンレイアウトを設定したい。ログイン情報レベルがINFOの場合はすべてOKですが、ログがレベルWARN
の場合は、コンソールに2回書き込まれます(レベル情報とレベル警告として)。特定のレベルのすべてのログが、そのレベルおよびレベル以下でログに記録されます。Log4j2異なるレベルの異なるアペンダー
レベルINFOでコンソールに書き込む場合:"%-5level %d{dd-MM-yyyy HH:mm:ss} %msg%n"
とレベルWARN
のように"%-5level %d{dd-MM-yyyy HH:mm:ss} [%l] %msg%n"
のように書きます。
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
<Console name="ConsoleInfo" target="SYSTEM_OUT">
<ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="%-5level %d{dd-MM-yyyy HH:mm:ss} %msg%n"/>
</Console>
<Console name="ConsoleWarning" target="SYSTEM_OUT">
<ThresholdFilter level="WARN" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout pattern="%-5level %d{dd-MM-yyyy HH:mm:ss} [%l] %msg%n"/>
</Console>
<File name="File" fileName="logs/cli.log">
<PatternLayout pattern="%-5level %d{dd-MM-yyyy HH:mm:ss} [%l] %msg%n"/>
</File>
</Appenders>
<Loggers>
<Root level="ALL">
<AppenderRef ref="ConsoleInfo"/>
<AppenderRef ref="ConsoleWarning"/>
<AppenderRef ref="File"/>
</Root>
</Loggers>
</Configuration>