log4j的配置参数

  • layout 的 conversion patterns的参数说明:
    • %r : 程序从开始之后跑的时间
    • %t : 发出日志请求的线程
    • %-10p : 日志level,”-“号为向左对齐,10为显示的长度
    • %c : logger的名字,通常就是所在类的全名,后面加上{2}可指定只输出的全名的最后两个
    • %m : 日志信息
    • %n : 换行
    • %d : 日期
    • %l : 位置
    • %L: 输出代码中的行号
    • %X{variableName} : 输出和当前线程相关联的NDC(嵌套诊断环境),{指定变量名输出}
    • %.30c : 指定输出category的名称,最大的宽度是30,如果category的名称大于30的话,就会将左边多出的字符截掉,但小于30的话也不会有空格
    • %20.30c : 如果category的名称小于20就补空格,并且右对齐,如果其名称长于30字符,就从左边较远输出的字符截掉
  • log4j的Appender类型:
    • AppenderSkeleton
    • AsyncAppender
    • ConsoleAppender : 控制台
    • DailyRollingFileAppender : 每天产生一个日志文件
    • ExternallyRolledFileAppender
    • FileAppender : 文件
    • JDBCAppender
    • JMSAppender
    • LF5Appender
    • NTEventLogAppender
    • NullAppender
    • RollingFileAppender : 文件大小到达指定尺寸的时候产生一个新的文件
    • SMTPAppender
    • SocketAppender
    • SocketHubAppender
    • SyslogAppender
    • TelnetAppender
    • WriterAppende :将日志信息以流格式发送到任意指定的地方
  • log4j的layout类型
    • DateLayout
    • HTMLLayout
    • PatternLayout
    • SimpleLayout
    • XMLLayout

xml配置模板

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration>
    <appender name="console" class="org.apache.log4j.ConsoleAppender">
        <param name="target" value="System.out" />
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%-d{yyyy-MM-dd HH:mm:ss.SSS} %-6p%c:%L %x - %m%n" />
        </layout>
    </appender>

    <appender name="error" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="D://logs//error.log" />
        <param name="DatePattern" value="'.'yyyy-MM-dd" />
        <param name="threshold" value="error"/>
        <param name="append" value="true"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss.SSS}] %-6p%c:%L - %m%n" />
        </layout>
    </appender>

    <appender name="logic" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="D://logs//logic.log" />
        <param name="DatePattern" value="'.'yyyy-MM-dd" />
        <param name="threshold" value="info"/>
        <param name="append" value="true"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss.SSS}] %-6p%c:%L - %m%n" />
        </layout>
    </appender>

    <appender name="trace" class="org.apache.log4j.DailyRollingFileAppender">
        <param name="File" value="D://logs//trace.log" />
        <param name="DatePattern" value="'.'yyyy-MM-dd" />
        <param name="threshold" value="info"/>
        <param name="append" value="true"/>
        <layout class="org.apache.log4j.PatternLayout">
               <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss.SSS}] - %X{mchId} - %X{mchName} - %X{siteName} - %X{sessionId} - %X{cityId} - %X{userName} - %X{mobile} - %m%n" />
         </layout>
    </appender>

    <logger name="traceLog" additivity="false">
        <level value="info" />
        <appender-ref ref="trace" />
    </logger>

    <root>
        <level value="info" />
        <appender-ref ref="console"/>
        <appender-ref ref="logic" />
        <appender-ref ref="error" />
    </root>
</log4j:configuration>

猜你喜欢

转载自blog.csdn.net/u012124304/article/details/77413771