如何从log4j.properties文件中获取选择性日志



我使用Eclipse创建了一个java项目。在那个项目中,我使用了log4j.properties文件。在这个项目中,在某些情况下,我使用了这样的语句

logger.debug("This is from debug");
logger.info("This is from Info");

我的日志文件是

# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, CONSOLE
#log4j.rootCategory=INFO, CONSOLE, LOGFILE
# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=DEBUG, stdout
# Root logger option
 log4j.rootLogger=DEBUG,stdout
 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
 log4j.appender.stdout.Threshold=DEBUG
 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
 log4j.appender.stdout.layout.ConversionPattern=%-4r [%t] %-5p %c %x – %m%n

现在,当我运行该项目时,我得到了所有的日志语句。例如,我在我的项目中使用Quartz计时器,所以当我运行程序时,我得到了Quartz的默认语句,如

16   [main] INFO  org.quartz.core.QuartzScheduler  ? Quartz Scheduler v.2.1.4 created.

但我只想要自定义日志语句,即由我编写的语句。如何得到这个?

如果您只想要自定义日志语句,请关闭rootLogger并配置自定义日志,例如

log4j.rootLogger=OFF
log4j.logger.com.mycompany=DEBUG, CONSOLE

您可以实现如下所示的类级记录器

log4j.logger.package.classOne=信息,LOGFILE

确保删除其他log4j键(或对其进行注释),以便只记录您的

您可以为包和类显式设置记录器,如下所示

log4j.logger.com.mycompany=INFO
log4j.logger.com.mycompany.MyClass=DEBUG

最新更新