log4j关键点

日志级别

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

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

设置log4j日志缓冲打印

如下图,当日志大于8192byte才打印,且每小时产生一个日志。但这里有个问题:如果应用重启或宕机,最后不足8K(约50条)的日志会丢失。

<appendername="UNIFIEDLIMIT-QUERY-DIGEST-APPENDER"class="com.alibaba.common.logging.spi.log4j.DailyRollingFileAppender">

<paramname="file"value="${loggingRoot}/${sys_host_name}/unifiedlimit-query-digest.log"/>

<paramname="append"value="true"/>

<paramname="encoding"value="GBK"/>

<layoutclass="org.apache.log4j.PatternLayout">

<paramname="ConversionPattern"value="%d%m%n"/>

</layout>

<paramname="datePattern"value=".yyyy-MM-dd_HH"/>

<paramname="bufferedIO"value="true"/>

<paramname="bufferSize"value="8192"/>

</appender>

输出日志格式形如下:

prodtrans-query-digest.log.2014-05-25_16

分包输出日志:

<appendername="MYPROJECT-COMMON-APPENDER"

class="com.alibaba.common.logging.spi.log4j.DailyRollingFileAppender">

<paramname="file"

value="${loggingRoot}/${sys_host_name}/myproject-common.14dt.log"/>

<paramname="append"value="true"/>

<paramname="encoding"value="UTF-8"/>

<layoutclass="org.apache.log4j.PatternLayout">

<paramname="ConversionPattern"

value="%d%-5p%c{2}-[%X{sofaInvokeId},%X{loadTestFlag},,,]%m-[%X{requestType},%X{requestSource},%X{requestId},%X{compositeId},%X{atomId}]%n"/>

</layout>

</appender>

<loggername="com.aaa.bbb.common"additivity="false">

<levelvalue="${myproject_loggingLevel_info}"/>

<appender-refref="MYPROJECT"/>

<appender-refref="ERROR-APPENDER"/>

</logger>

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

相关推荐