コンソールと log4j2 を使用したファイル アペンダーを備えた非常に単純な XML 構成ファイルが必要です。
(Apache Web サイトは、多くの情報で私を殺しています。)
コンソールと log4j2 を使用したファイル アペンダーを備えた非常に単純な XML 構成ファイルが必要です。
(Apache Web サイトは、多くの情報で私を殺しています。)
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
<File name="MyFile" fileName="all.log" immediateFlush="false" append="false">
<PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</File>
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="Console" />
<AppenderRef ref="MyFile"/>
</Root>
</Loggers>
</Configuration>
ノート:
Logger logger = LogManager.getLogger();
ロガーの初期化に使用しますlog4j2 には非常に柔軟な構成システムがあり (これは助けというより気を散らすものです)、JSON を使用することもできます。リファレンスについては、 https://logging.apache.org/log4j/2.x/manual/configuration.htmlを参照してください。
個人的には、最近 log4j2 を使い始めたばかりですが、スキーマ検証が可能な「厳密な XML」構成 (つまり、要素名の代わりに属性を使用する) を使用する傾向があります。
ファイル名を設定するために「プロパティ」を使用して、自動構成と厳密モードを使用した簡単な例を次に示します。
<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorinterval="30" status="info" strict="true">
<Properties>
<Property name="filename">log/CelsiusConverter.log</Property>
</Properties>
<Appenders>
<Appender type="Console" name="Console">
<Layout type="PatternLayout" pattern="%d %p [%t] %m%n" />
</Appender>
<Appender type="Console" name="FLOW">
<Layout type="PatternLayout" pattern="%C{1}.%M %m %ex%n" />
</Appender>
<Appender type="File" name="File" fileName="${filename}">
<Layout type="PatternLayout" pattern="%d %p %C{1.} [%t] %m%n" />
</Appender>
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="File" />
<AppenderRef ref="Console" />
<!-- Use FLOW to trace down exact method sending the msg -->
<!-- <AppenderRef ref="FLOW" /> -->
</Root>
</Loggers>
</Configuration>