日志系统Log4j 2.x版本基本版本和高级版本xml配置文件

配置文件类型: 

log4j是通过一个.properties的文件作为主配置文件的,而现在的log4j 2则已经弃用了这种方式,采用的是.xml,.json或者.jsn这种方式来做,可能这也是技术发展的一个必然性,毕竟properties文件的可阅读性真的是有点差。

log4j 2.x版本的xml配置文件名必须为log4j2.xml

基本版本:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
  <Appenders>
    <Console name="Console" target="SYSTEM_OUT">
      <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </Console>
  </Appenders>
  <Loggers>
    <Root level="error">
      <AppenderRef ref="Console"/>
    </Root>
  </Loggers>
</Configuration>

高级版本:

<?xml version="1.0" encoding="UTF-8"?>
<!-- status=debug 可以查看log4j的装配过程 -->
<configuration status="off" monitorInterval="1800">
    <appenders>
        <!-- 定义控制台输出 -->
        <Console name="Console" target="SYSTEM_OUT" follow="true">
            <!-- 输出的内容格式 -->
            <PatternLayout
                pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" />
        </Console>
 
        <!-- 系统打印日志
            fileName:文件名
            filePattern:文件的名字格式
         -->
        <RollingRandomAccessFile name="System"
            fileName="logs/system.log" filePattern="logs/system_%d{yyyy-MM-dd}_%i.log">
            <!-- 输出的内容格式 -->
            <PatternLayout
                pattern="%date{yyyy-MM-dd HH:mm:ss.SSS} %level [%thread][%file:%line] - %msg%n" />
            <Policies>
                <!-- 如果日志的文件超过100M,重新创建一个新文件 -->
                <TimeBasedTriggeringPolicy interval="1"
                    modulate="true" />
                <SizeBasedTriggeringPolicy size="100M" />
            </Policies>
        </RollingRandomAccessFile>
    </appenders>
    <loggers>
        <!-- Root Logger 默认的 -->
        <root level="info">
            <!-- ref:指的是appenders子标签的name值
                只有控制台
             -->
            <appender-ref ref="Console" />
            <appender-ref ref="System" />
        </root>
 
        <!-- 外部日志,分开日志,name为getLogger()
            除了控制台还有文件(System)
         -->
        <logger name="SystemLog" level="info" additivity="false">
            <appender-ref ref="Console" />
            <appender-ref ref="System" />
        </logger>
    </loggers>
</configuration>

 

posted @ 2018-12-02 19:04  LIHStar  阅读(2051)  评论(0编辑  收藏  举报