私はCronとWebserviceを持っています。どちらもSpringを使って実装されています。 cronとwebserviceは、目的を達成するためにクラスA、B、Cのセットを使用します。各クラスでlog4j:どのようにしてcronとwebservice用の別のファイルにログを送ることができますか?
は、私がようにロギングメカニズムとしてのlog4j 2を使用しますのlog4j.xmlで
Logger log = LogManager.getLogger(A.class.getName());
、私は、ファイルに記録します単一RollingAppenderを持っています。
ここで、私はCronに別のファイルにログインする、つまり別のアペンダーを使用したいと思います。しかし、別のアペンダーを使用するようにcronのカテゴリーを設定しても、それでもA、B、Cのログはそのアペンダーには入りません。
更新:log4jの設定:あなたは同じクラスを使用して別のファイルに記録したい場合は、上記構成の下に使用することができます
<Configuration status="warn" name="mylogger" packages="">
<Properties>
<Property name="baseDir">/var/log/tomcat</Property>
</Properties>
<Appenders>
<RollingFile name="RollingFile" fileName="${baseDir}/app.log"
filePattern="${baseDir}/$${date:yyyy-MM}/app-%d{yyyy-MM-dd}.log.gz">
<PatternLayout><Pattern>%5p %d{ISO8601} [%t][%x] %c - %m%n</Pattern></PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy />
</Policies>
</RollingFile>
</Appenders>
<Loggers>
<Root level="debug">
<AppenderRef ref="RollingFile"/>
</Root>
</Loggers>
</Configuration>
あなたがlog4jの設定を共有することができますか? – cody123
@ cody123 log4j設定を上に追加 – Farhad
私があなたの問題を解決した場合は、私の解決策を正しいものとしてマークしてください。 – cody123