在Maven项目中,我将log4j.properties文件放在src\main\resources目录中,这似乎是将其放入的通常位置。但是,它似乎没有读取它,或者我看不到一个错误,因为我的记录器没有打印调试级别的消息(但是它确实打印了信息级别的消息),也没有创建logs.log文件。下面是我使用的log4j.properties文件:
# Root logger option
log4j.rootLogger=DEBUG, file, stdout
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=D:/.../src/main/resources/META-INF/logs.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
我还尝试将路径传递到运行配置中的log4j.properties文件,但是它也没有工作:-Dlog4j.configuration=file:D:/.../src/main/resources/log4j.properties
这个项目是通过一个不同的绑定项目启动的,所以我使用了整个文件路径,这可能是不正确的,因为我看到的所有示例都没有提供完整的路径。
我们用来运行这个应用程序的服务器是Wildfli8.1.0,它有自己的log4j记录器,所以这可能会有干扰吗?
下面是我的拦截器中应该创建日志的部分:
final static Logger logger = Logger.getLogger(RestInterceptor.class);
...
if(e instanceof ApplicationException) {
logger.debug(e.getMessage(), e);
//TODO remove these when done testing
logger.debug("debug is working");
logger.info("info is working");
return Response.status(Response.Status.INTERNAL_SERVER_ERROR).build();
}
然而,只有“信息是有效的”正在印刷。
发布于 2015-08-17 00:02:09
好吧,所以我设法解决了这个问题。这是由野蝇的伐木工干扰我的。我在<use-deployment-logging-config value="false"/>
中添加了standalone.xml行,但这还不够。在进一步挖掘之后,我还发现并添加了下面的一行<add-logging-api-dependencies value="false"/>
,它终于开始工作了。虽然我对这个解决方案并不完全满意,但我认为它仍然比没有好,也许它值得分享。
因此,简单地说,将其添加到您的standalone.xml中,如果您使用Wildfly 8,它将解决日志记录冲突:
<subsystem xmlns="urn:jboss:domain:logging:2.0"> <add-logging-api-dependencies value="false"/> <use-deployment-logging-config value="false"/> ... </subsystem>
发布于 2015-08-13 06:40:58
您确定src\main\resources在您的构建路径上吗?
右键单击项目-> Java构建路径源选项卡
确保资源文件夹位于构建路径上。还要确保排除模式= '**‘
发布于 2017-04-17 20:59:02
更新春季版本。对我来说很管用。
https://stackoverflow.com/questions/31991115
复制相似问题