log4j关键点

日志级别
级别顺序(低到高): DEBUG < INFO < WARN < ERROR < FATAL

显示台显示的内容是:大于等于log4j.properties中配置的信息。


设置log4j日志缓冲打印
如下图,当日志大于8192byte才打印,且每小时产生一个日志。但这里有个问题:如果应用重启或宕机,最后不足8K(约50条)的日志会丢失。
<appender name="UNIFIEDLIMIT-QUERY-DIGEST-APPENDER" class="com.alibaba.common.logging.spi.log4j.DailyRollingFileAppender">
        <param name="file" value="${loggingRoot}/${sys_host_name}/unifiedlimit-query-digest.log"/>
        <param name="append" value="true"/>
        <param name="encoding" value="GBK"/>
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern" value="%d %m%n"/>
        </layout>
        <param name="datePattern" value=".yyyy-MM-dd_HH"/>
        <param name="bufferedIO" value="true"/>
    <param name="bufferSize" value="8192"/>
    </appender>
输出日志格式形如下:
prodtrans-query-digest.log.2014-05-25_16

分包输出日志:
<appender name="MYPROJECT-COMMON-APPENDER"
class="com.alibaba.common.logging.spi.log4j.DailyRollingFileAppender">
<param name="file"
value="${loggingRoot}/${sys_host_name}/myproject-common.14dt.log" />
<param name="append" value="true" />
<param name="encoding" value="UTF-8" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d %-5p %c{2} - [%X{sofaInvokeId},%X{loadTestFlag},,,]%m - [%X{requestType},%X{requestSource},%X{requestId},%X{compositeId},%X{atomId}]%n" />
</layout>
</appender>
<logger name="com.aaa.bbb.common" additivity="false">
<level value="${myproject_loggingLevel_info}" />
<appender-ref ref="MYPROJECT" />
<appender-ref ref="ERROR-APPENDER" />
</logger>

则所有com.aaa.bbb.common包下的类用如下写法会输出到文件myproject-common.14dt.log

猜你喜欢

转载自bingyingao.iteye.com/blog/1947260
今日推荐