gpt4 book ai didi

java - log4j,想在控制台中只显示调试(不是信息)并在应用程序启动时清除日志文件

转载 作者:搜寻专家 更新时间:2023-11-01 02:48:51 24 4
gpt4 key购买 nike

我是这个 log4j 的新手,并设法在 eclipse 上设置并让它运行。我了解级别中的优先级链,现在这是我的属性文件配置:

log4j.rootLogger = DEBUG, rollingFile, console
log4j.appender.rollingFile=org.apache.log4j.RollingFileAppender
log4j.appender.rollingFile.Threshold=INFO
log4j.appender.rollingFile.File=logs/logFile.log
log4j.appender.rollingFile.MaxFileSize=1MB
log4j.appender.rollingFile.MaxBackupIndex=5
log4j.appender.rollingFile.layout = org.apache.log4j.PatternLayout
log4j.appender.rollingFile.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %c: %m%n

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.Threshold=DEBUG
log4j.appender.console.Target=System.out
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.conversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %-5p - %m%n

我有 2 个关于这个 log4j 的问题
1) log4j 是否可以在我每次启动应用程序时清除我的日志文件?我不确定该怎么做。

2) 好吧,我从配置中设置了我的控制台来打印调试,但我真正希望它打印的是纯调试消息,而不是 INFO 消息。无论如何要控制这个?如果阈值设置为调试,就像只打印调试和错误?

最佳答案

在您的 log4j.properties 中添加以下行,使其在每次应用程序启动时都保持新鲜

log4j.appender.rollingFile.Append=false

您也可以像这样将日志记录级别添加到您的自定义包。
假设你有一个包 foo.bar.MyPack
你想为这个包指定日志级别为 info 那么你必须在你的log4j.properties

log4j.logger.foo.bar.MyPack=info

通过这种方式,您可以控制哪个包应该在 info 或哪个应该在 debug 等。

关于java - log4j,想在控制台中只显示调试(不是信息)并在应用程序启动时清除日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15780745/

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