我尝试使用log4j2-test.xml配置日志 我可以编写我在代码log.info()中记录的信息和错误日志并进行记录。错误()。
但是,我无法在日志文件中写入运行时异常(例如空点异常,数字格式异常等)的控制台错误。我正在使用JBoss服务器。控制台错误记录在jboss服务器日志中,但是我需要登录test-1.log文件。
有人可以建议一种方法吗?
<?xml version="1.0" encoding="UTF-8"?>
<Configuration monitorInterval="60">
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout>
<Pattern>test-1.log</Pattern>
</PatternLayout>
</Console>
<RollingFile name="TestDailyAppender">
<FileName>/Test/test-1.log</FileName>
<PatternLayout>
<Pattern>test-1.log</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
</Policies>
<DefaultRolloverStrategy max="20"/>
</RollingFile>
</Appenders>
<Loggers>
<logger name="com" level="info">
<AppenderRef ref="TestDailyAppender"/>
</logger>
<logger name="com" level="info">
<AppenderRef ref="TestDailyAppender"/>
</logger>
<Logger name="org" level="info">
<AppenderRef ref="console"/>
</Logger>
<Root>
<AppenderRef ref="TestDailyAppender"/>
</Root>
</Loggers>
</Configuration>
答案 0 :(得分:0)
您的应用程序是否已部署为WAR文件?如果是这样,是否在所需的文件夹中生成了test-1.log文件?
如果在服务器启动时未生成文件,请在项目中添加jboss-deployment-structure.xml 文件,以将Log4j日志排除在写入jboss服务器日志之外。
示例:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<exclusions>
<module name="org.slf4j" />
<module name="org.slf4j.impl" />
</exclusions>
</deployment>
</jboss-deployment-structure>
此xml配置将排除slf4j日志,并将创建test-1.log文件。希望对您有所帮助。谢谢