在officiale Apache guide之后,我设法写了这个愚蠢的xml文件,用log4j2配置我的记录器2.10:
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<File name="FileFatal" immediateFlush="true" fileName="bin/logs/fatal.log">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</File>
<File name="FileError" immediateFlush="true" fileName="bin/logs/error.log">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</File>
<File name="FileWarn" immediateFlush="true" fileName="bin/logs/warn.log">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</File>
<File name="FileInfo" immediateFlush="true" fileName="bin/logs/info.log">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</File>
<File name="FileDebug" immediateFlush="true" fileName="bin/logs/debug.log">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</File>
<File name="FileTrace" immediateFlush="true" fileName="bin/logs/trace.log">
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</File>
</Appenders>
<Loggers>
<Root level="trace">
<AppenderRef ref="Console"/>
<AppenderRef ref="FileFatal" level="fatal"/>
<AppenderRef ref="FileError" level="error"/>
<AppenderRef ref="FileWarn" level="warn"/>
<AppenderRef ref="FileInfo" level="info"/>
<AppenderRef ref="FileDebug" level="debug"/>
<AppenderRef ref="FileTrace" level="trace"/>
</Root>
</Loggers>
</Configuration>
似乎工作正常。
无论如何,我希望将error()
,info()
,debug()
,warn()
,trace()
方法写在不同的特定文件中,显然在控制台旁边。相反,例如,在警告日志文件中我也发现错误和致命的。我该怎么设置它?这似乎不像我在其他任何地方找到的标准xml配置,有一些不同的语法不同的标签。