美文网首页
Java log4j

Java log4j

作者: 黑白_a9aa | 来源:发表于2019-04-22 16:09 被阅读0次

    log4j 是如何寻找appender的

    配置文件节选如下,appender节点定义了日志的输出形式和输出的位置
    logger则根据完整的类名,从最末端一层层循环往上寻找,直至找到root

    • 情形一:"aaa.bbb.ccc.ddd.xxx.class"最终输出到file2.log
      寻找name为"aaa.bbb.ccc.ddd"的logger,未匹配,则寻找父节点"aaa.bbb.ccc"对应的配置,匹配,则输出到file2.log
    • 情形二:"aaa.bbb.ccc.xxx.class"最终输出到file2.log
      寻找name为"aaa.bbb.ccc"的logger,匹配,则输出到file2.log
    • 情形三:"aaa.bbb.xxx.class"调用输出到file1.log
      寻找name为"aaa.bbb"的logger,未匹配,则寻找父节点"aaa"对应的配置,依然未匹配,再继续,直到root,最终输出到file2.log
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/" INFO="false" threshold="null">
            <appender class="handler class" name="ROLLING_FILE">
                    <param name="Encoding" value="UTF-8"/>
                    <param name="File" value="logs/file1.log"/>
                    ……
            </appender>
            <appender class="handler class" name="ROLLING_FILE_SYN">
                    <param name="Encoding" value="UTF-8"/>
                    <param name="File" value="logs/file2.log"/>
                    ……
            </appender>
            <logger additivity="false" name="aaa.bbb.ccc">
                    <level value="DEBUG"/>
                    <appender-ref ref="ROLLING_FILE_SYN"/>
            </logger>
            <root>
                    <level value="ERROR"/>
                    <appender-ref ref="ROLLING_FILE"/>
            </root>
    </log4j:configuration>
    

    相关文章

      网友评论

          本文标题:Java log4j

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