使用 Log4J 属性文件免除给定类不写入我的日志文件的义务
我正在使用 log4j 进行日志记录。
我最近添加了一个库(称为 DBPool 的连接池库),它正在向我的日志文件生成大量输出。日志文件在 30 分钟内达到其最大文件大小。
日志文件的过多输出也使我的调试变得非常困难,因为我无法在日志文件中轻松找到我感兴趣的行,这阻碍了我调试代码。
我的问题是,如何使用 log4j 避免给定类写入我的日志文件?
这是我的 log4.properties 文件的内容。
log4j.rootCategory=DEBUG, dailyApp
log4j.rootCategory=DEBUG, dailyApp
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d %-4r [%t] %-5p %c{2} %x - %m%n
log4j.appender.dailyApp=org.apache.log4j.RollingFileAppender
log4j.appender.dailyApp.File=logs/myLog.log
log4j.appender.dailyapp.MaxFileSize=1024KB
log4j.appender.dailyApp.MaxBackupIndex=5
log4j.appender.dailyApp.layout=org.apache.log4j.PatternLayout
log4j.appender.dailyApp.layout.ConversionPattern=%d %-4r [%t] %-5p %c{2} %x - %m%n
log4j.logger.httpclient=INFO
log4j.logger.org.apache.commons.httpclient=INFO
我不想登录logs/myLog.log 的类是snaq.db.ConnectionPool
谢谢。
I am using log4j to do my logging.
I lately added a library (Connection pooling lib called DBPool) and it is producing a lot of output to my log file. The log file reaches its max file size in less than 30minutes.
The excessive output to my log file is also making my debugging very hard because I cannot see easily locate my lines of interest in the log file is hindering me from debugging my code.
My question is, How do I exempt a given class from writing in my log file using log4j?
Here is my log4.properties file's contents.
log4j.rootCategory=DEBUG, dailyApp
log4j.rootCategory=DEBUG, dailyApp
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d %-4r [%t] %-5p %c{2} %x - %m%n
log4j.appender.dailyApp=org.apache.log4j.RollingFileAppender
log4j.appender.dailyApp.File=logs/myLog.log
log4j.appender.dailyapp.MaxFileSize=1024KB
log4j.appender.dailyApp.MaxBackupIndex=5
log4j.appender.dailyApp.layout=org.apache.log4j.PatternLayout
log4j.appender.dailyApp.layout.ConversionPattern=%d %-4r [%t] %-5p %c{2} %x - %m%n
log4j.logger.httpclient=INFO
log4j.logger.org.apache.commons.httpclient=INFO
The class I do not want to log into logs/myLog.log is snaq.db.ConnectionPool
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
据我所知,以下内容应该有效,就像配置底部的两个
INFO
级别一样。As far as I know the following should work, like with the two
INFO
levels at the bottom of your configuration.添加此行
log4.logger.snaq.db = ERROR
应该有所帮助
Adding this line
log4.logger.snaq.db = ERROR
should help
将此行添加到配置文件应该可以:
这不会禁用此类实例的日志记录,但将最低级别设置为错误。
Adding this line to the configuration file should work:
This will not disable logging for instances of this class but set the minimum level to error.