- 根节点Configuration有两个属性:status和monitorinterval,有两个子节点:Appenders和Loggers.
status用来指定log4j本身的打印日志的级别.
monitorinterval用于指定log4j自动重新配置的监测间隔时间,单位是s,最小是5s.
- Appenders节点,常见的有三种子节点:Console、RollingFile、File.
* Console节点用来定义输出到控制台的Appender.
name:指定Appender的名字.
target:SYSTEM_OUT 或 SYSTEM_ERR,一般只设置默认:SYSTEM_OUT.
PatternLayout:输出格式,不设置默认为:%m%n.
* File节点用来定义输出到指定位置的文件的Appender.
name:指定Appender的名字.
fileName:指定输出日志的目的文件带全路径的文件名.
PatternLayout:输出格式,不设置默认为:%m%n.
* RollingFile节点用来定义超过指定大小自动删除旧的创建新的的Appender.
name:指定Appender的名字.
fileName:指定输出日志的目的文件带全路径的文件名.
PatternLayout:输出格式,不设置默认为:%m%n.
filePattern:指定新建日志文件的名称格式.
Policies:指定滚动日志的策略,就是什么时候进行新建日志文件输出日志.
TimeBasedTriggeringPolicy:Policies子节点,基于时间的滚动策略,interval属性用来指定多久滚动一次.
SizeBasedTriggeringPolicy:Policies子节点,基于指定文件大小的滚动策略,size属性用来定义
每个日志文件的大小.
DefaultRolloverStrategy:用来指定同一个文件夹下最多有几个日志文件时开始删除最旧的,
如果不做配置,默认是7
- Loggers节点,常见的有两种:Root和Logger.
* Root节点用来指定项目的根日志,如果没有单独指定Logger,那么就会默认使用该Root日志输出
AppenderRef:Root的子节点,用来指定该日志输出到哪个Appender.
* Logger节点用来单独指定日志的形式,比如要为指定包下的class指定不同的日志级别等。
name:用来指定该Logger所适用的类或者类所在的包全路径,继承自Root节点.