java中log4j的使用体验

Posted Franson

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中log4j的使用体验相关的知识,希望对你有一定的参考价值。

log4j相信大部分java开发者都已经很熟悉了,在此记录下自己的使用过程。

一.文件准备:

1.log4j.jar(我这里使用的版本是log4j-1.2.17.jar,在附件中提供下载)

2.log4j配置,可以使用xml或properties文件进行配置,推荐使用xml形式的配置,方便灵活还直观,一个完整的log4j.xml参考配置文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration xmlns:log4j=\'http://jakarta.apache.org/log4j/\'>
    <appender name="myConsole" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%d{dd HH:mm:ss,SSS\\} %-5p] [%t] %c{2\\} - %m%n" />
        </layout>
        <!--过滤器设置输出的级别 -->
        <filter class="org.apache.log4j.varia.LevelRangeFilter">
            <param name="levelMin" value="debug" />
            <param name="levelMax" value="warn" />
            <param name="AcceptOnMatch" value="true" />
        </filter>
    </appender>

    <appender name="myFile" class="org.apache.log4j.RollingFileAppender">
        <param name="File" value="C:/output.log" /><!-- 设置日志输出文件名 -->
        <!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志 -->
        <param name="Append" value="true" />
        <param name="MaxBackupIndex" value="10" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%p (%c:%L)- %m%n" />
        </layout>
    </appender>

    <appender name="activexAppender" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="C:/activex.log" />
        <param name="DatePattern" value="\'.\'yyyy-MM-dd\'.log\'" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%d{MMdd HH:mm:ss SSS\\} %-5p] [%t] %c{3\\} - %m%n" />
        </layout>
    </appender>
    <!-- 指定logger的设置,additivity指示是否遵循缺省的继承机制,定义此节点以便后文中使用 -->
    <logger name="mylog4j" additivity="true">
        <level value="ERROR" />
        <appender-ref ref="activexAppender" />
    </logger>
    <!-- 根logger的设置 -->
    <root>
        <priority value="debug" />
        <appender-ref ref="myConsole" />
        <appender-ref ref="myFile" />
    </root>
</log4j:configuration>  

需要注意的是,在eclipse中编写xml文件时,对于不能出现智能提示时,需要eclipse添加DTD的引用。如下图:

同时注意log4j.xml的

<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">

二.开始使用
1.将log4j.xml复制拷贝到src目录下;
2.将log4j-1.2.17.jar引入到编译环境中;
3.编写代码测试。

四.附件
log4j-1.2.17.zip

以上是关于java中log4j的使用体验的主要内容,如果未能解决你的问题,请参考以下文章

junit小试log4j及xml配置文件说明

log4j的使用,即java该如何使用日志文件

java工程中如何使用log4j输出指定路径日志文件,是java工程,不是web工程,谢谢

Jenkins实践之入门体验

使用 log4j 在 Java 中记录运行时异常

java log4j基本配置及日志级别配置详解