設定ファイルを以下のように変更しようとしましたが、それでも出力は真っ白です。どうすれば任意の色に変更できますか?のようにレベルごとに異なる色。
コード:
import org.Apache.log4j.*;
public class StartUp {
private static final Logger LOGGER = Logger.getLogger(Class.class.getName());
public static void main(String[] args) throws Exception {
LOGGER.trace("Trace Message!");
LOGGER.debug("Debug Message!");
LOGGER.info("Info Message!");
LOGGER.warn("Warn Message!");
LOGGER.error("Error Message!");
LOGGER.fatal("Fatal Message!");
構成ファイル(log4j2.xml):
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="CONSOLE" target="SYSTEM_OUT">
<PatternLayout pattern="%highlight{[%d] - %msg%n}{FATAL=red blink, ERROR=red, WARN=yellow bold, INFO=black, DEBUG=green bold, TRACE=blue}"/>
</Console>
</Appenders>
<Loggers>
<Root level="ALL">
<AppenderRef ref="CONSOLE"/>
</Root>
</Loggers>
</Configuration>
Log4j2の安定バージョン2.9.1を使用し、LOGGERの初期化を次のように置き換えます
private static final Logger LOGGER = LogManager.getLogger(Class.class.getName());
コンソールアペンダーの強調表示に関する追加のドキュメント: https://logging.Apache.org/log4j/2.x/manual/layouts.html
2.10.0ではデフォルトが壊れているようです。 disableAnsi
オプションを追加することで、前回のリリースで色を取り戻すことができました。
<PatternLayout pattern="%highlight{...}" disableAnsi="false"/>
ドキュメントでは、デフォルトでfalse
と言われていますが、そうではないようです。