Log4j指定输出日志的文件

时间:2022-12-02 21:20:28

在Log4j的配置文件中,有一个log4j.rootLogger用于指定将何种等级的信息输出到哪些文件中,

这一项的配置情况如下: log4j.rootLogger=日志等级,输出目的地1,输出目的地2,...

日志等级可以是ALL, DEBUG, INFO, WARN, ERROR, FATAL, OFF,一般主要都是使用DEBUG, INFO, WARN, ERROR这四项。

指定日志等级后,可以指定日志输出的目的地,这个目的地可以是任意的符合命名规则的名字,给出这些名字后,会在后面对这些名称对应的目的地进行

配置。

配置目的的配置如下:

log4j.Appender.目的地=目的地的类型,这里可以包括控制台,每天一个文件等类型,这里大家可以去网上搜索一下,不细讲。

然后配置目的地的其他配置信息,这些信息都相对很好配置。

对于Log4j的配置就不详细介绍了,网上有很多的相关资源。这里主要是说一下,如何将某些日志信息输出到指定的文件中。

如果配置了log4j.rootLogger则之后定义的其他日志源都会继承rootLogger下的日志输出的目的文件,但是有时候,你想要将某些日志源记入到

指定好的文件中,这样就需要做一个设置,可以通过设置additivity来将指定的日志源输出到指定的文件中。定义的形式如下

log4j.logger.com.demo = INFO, 你想输出的日志目的地

log4j.addtivity.com.demo = false  这里说明这个日志源不继承父类的日志源

这样就可以将指定的日志源的日志信息输出到指定的文件中,且只输出到指定的文件中,当然前提是你指定的日志源没有设置多个输出目的地。

这里的com.demo可以是你的项目中你要指定的类的名字,也可以是包的名字,这样,这个类或包中产生的日志就会被输出到指定的文件中或其他指定的目的地中。

如果只想在这个目的地中输出你指定的这个日志源,那么就不要再将这个目的地作为其他日志源的目的地。

因为第一次接触log4j所以表达可能会不清晰,大家如果有问题可以给我留言。