美文网首页
2018-11-16 log4j2配置示例

2018-11-16 log4j2配置示例

作者: 黄昭鸿 | 来源:发表于2018-11-16 20:51 被阅读0次

官网指导:https://logging.apache.org/log4j/2.x/manual/configuration.html

相关依赖

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-core</artifactId>
    <version>${log4j-version}</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-api</artifactId>
    <version>${log4j-version}</version>
</dependency>

log4j2-tses.xml

<?xml version="1.0" encoding="UTF-8"?>
<!--
    log4j定义了8个级别的log(除去OFF和ALL,可以说分为6个级别)
    优先级从高到低依次为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、TRACE、 ALL
    Configuration的monitorInterval属性,log4j 2自动检测配置文件的时间间隔(秒),最小为5
-->
<Configuration status="OFF" monitorInterval="30">
    <Properties>
        <!-- 定义日志存储的路径,不要配置相对路径 -->
        <Property name="log_path">D:/logs/</Property>
    </Properties>
    <Appenders>
        <!--Console标签指示在命令行打印,RollingFile标签指示打印到文件中-->
        <Console name="Console" target="SYSTEM_OUT">
            <!-- 格式化输出:%date表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度 %msg:日志消息,%n是换行符-->
            <PatternLayout pattern="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"/>
        </Console>
        <!--filePattern指定 当发生Rolling时,文件的转移和重命名规则(Rolling的意思是当满足一定条件后,就重命名原日志文件用于备份,并从新生成一个新的日志文件)-->
        <RollingFile name="DailyRollingFile" fileName="${log_path}/zcrTest.log"
                     filePattern="${log_path}/zcrTest%d{yyyy-MM-dd}.log">
            <PatternLayout pattern="%date{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n"/>
            <!--结合RollingFile的filePattern属性,每一天生成1个新文件-->
            <TimeBasedTriggeringPolicy interval="1"/>
            <!--指定当文件体积大于size指定的值时,触发Rolling-->
            <!--<SizeBasedTriggeringPolicy size="1 MB"/>-->
        </RollingFile>
    </Appenders>
    <Loggers>
        <!--log的缺省输出形式-->
        <Root level="WARN">
            <!--以AppenderRef所定义的输出格式来输出log-->
            <!--<AppenderRef ref="Console"/>-->
            <AppenderRef ref="DailyRollingFile"/>
        </Root>

        <!-- ShiroTest会在INFO级别上输出log;默认情况下additivity="true",子Logger会继承父Logger的appender,也就是说子Logger也会在父Logger的appender里输出 -->
        <Logger name="ShiroTest" level="INFO" additivity="false">
            <AppenderRef ref="Console"/>
            <!--<AppenderRef ref="DailyRollingFile"/>-->
        </Logger>
        <Logger name="nl.shiro.realm" level="WARN" additivity="false">
            <AppenderRef ref="Console"/>
        </Logger>
    </Loggers>
</Configuration>

相关文章

网友评论

      本文标题:2018-11-16 log4j2配置示例

      本文链接:https://www.haomeiwen.com/subject/eidvfqtx.html