美文网首页工具癖
log4j2.xml 配置简介

log4j2.xml 配置简介

作者: 不惧未来 | 来源:发表于2019-03-15 16:55 被阅读7次

log4j2.xml总共分为三大块:Properties,Appenders,Loggers.

<?xml version="1.0" encoding="UTF-8"?>
<configuration monitorInterval="30" shutdownHook="disable">
    <Properties>
        <Property name="baseDir">../log</Property>
        <Property name="impLogFileName">../log/imp.log</Property>
        <Property name="limitedLogFileName">../log/limited.log</Property>
        <Property name="impLogDeleteGlob">*/imp-*.log.gz</Property>
        <Property name="limitedDeleteGlob">*/limited-*.log.gz</Property>
/*如上 Property 定义log文件名,包含相对路径*/
/*如下 Appenders 定义了 Property 中各个log文件的打印规范和限制*/
<Appenders>
        <Console name="stdout" target="System.out">
            <PatternLayout pattern="%d{ISO8601} %sn [%t] %-5p %c - %m%n"/>
        </Console>
        <RollingRandomAccessFile name="impLogFileAppender" fileName="${impLogFileName}"
                                 filePattern="${impLogFilePatten}" immediateFlush="false">
            <PatternLayout pattern="${impLogLayout}"/>
            <SizeBasedTriggeringPolicy size="100MB"/>
            <DefaultRolloverStrategy>    /*超过限制要被删掉的文件*/
                <Delete basePath="${baseDir}" maxDepth="2">
                    <IfFileName glob="${impLogDeleteGlob}">
                        <IfAccumulatedFileCount exceeds="30"/>
                    </IfFileName>
                </Delete>
            </DefaultRolloverStrategy>
        </RollingRandomAccessFile>
        <RollingRandomAccessFile name="limitedLogFileAppender" fileName="${limitedLogFileName}"
                                 filePattern="${impLogFilePatten}" immediateFlush="false">
            <PatternLayout pattern="${impLogLayout}"/>
/*<=ERROR级别的log受到filter的限制,平均每秒打印 <10,排队数量不超过100*/
            <BurstFilter level="ERROR" rate="10" maxBurst="100"/>
            <SizeBasedTriggeringPolicy size="100MB"/>
            <DefaultRolloverStrategy>
                <Delete basePath="${baseDir}" maxDepth="2">
                    <IfFileName glob="${limitedDeleteGlob}">
                        <IfAccumulatedFileCount exceeds="30"/>
                    </IfFileName>
                </Delete>
            </DefaultRolloverStrategy>
        </RollingRandomAccessFile>
    </Appenders>
/*以下 Loggers 定义了工程代码中的log输出到哪些文件*/
    <Loggers>
        <AsyncLogger name="com.nokia.imp.conversion.impl.domains.ParameterConverter" level="ERROR" additivity="false">
            <AppenderRef ref="limitedLogFileAppender" />
        </AsyncLogger>
        <root level="INFO"> /*未定义的默认输出到 root定义中的 appender*/
            <appender-ref ref="impLogFileAppender"/>
            <appender-ref ref="errorAppender"/>
        </root>
    </Loggers>

相关文章

网友评论

    本文标题:log4j2.xml 配置简介

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