gpt4 book ai didi

java - 无法使用 Java 中的 Log4j 仅记录我的项目日志

转载 作者:行者123 更新时间:2023-11-29 09:27:37 26 4
gpt4 key购买 nike

这是我的 log4j.properties 文件。

log4j.rootLogger=DEBUG, stdout, file

# Redirect log messages to console
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

# Redirect log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
#outputs to Tomcat home
log4j.appender.file.File=${catalina.home}/logs/myapp.log
log4j.appender.file.MaxFileSize=5MB
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

这是加载一堆与框架等相关的日志。

我试着把

log4j.rootLogger=DEBUG only to load only my logs. 

我希望我的日志文件只有我的项目日志。我应该在哪里更改?

我记录我的陈述的方式是

private Logger logger = Logger.getLogger(MyClass.class);

logger.debug("bla bla");

最佳答案

您应该根据您的应用程序包名称配置logger

假设,您的应用程序包名称是 test.example 然后在您的 log4j.properties 中添加以下行 -

log4j.logger.test.example = DEBUG, stdout, file
log4j.additivity.test.example = false

它将在 test.example 包和子包中的类中启用调试日志。

要删除与框架相关的日志,请将 rootLogger 日志级别更改为 ERRORWARN -

log4j.rootLogger=ERROR, stdout, file

它将仅显示与框架类相关的错误或不存在于上述包 test.example 及其子包中的类。

关于java - 无法使用 Java 中的 Log4j 仅记录我的项目日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46138364/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com