Log4J2的配置與使用

log4j2的配置文件只支持JSON和XML了。

【甲】. 對logger的實例化:

static Logger logger = LogManager.getLogger(XXXResynchronizingAjaxController.class.getName());


【乙】 配置文件(XML)舉例

文件名為:log4j.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration status="error">
  <appenders>
    <Console name="Console" target="SYSTEM_OUT">
	  <ThresholdFilter level="trace" onMatch="ACCEPT" onMismatch="DENY"/>
	  <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>
	</Console>
	<File name="log" fileName="logs/crawler.log" append="true">
	  <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36} %L %M - %msg%xEx%n"/>
	</File>
	<RollingFile name="RollingFile" fileName="logs/crawler_roll.log"
                 filePattern="logs/$${date:yyyy-MM}/app-%d{MM-dd-yyyy}-%i.log.gz">
      <PatternLayout pattern="%d{yyyy.MM.dd 'at' HH:mm:ss z} %-5level %class{36} %L %M - %msg%xEx%n"/>
      <SizeBasedTriggeringPolicy size="10 MB" />
    </RollingFile>
  </appenders>
  <loggers>
	<root level="info">
	  <appender-ref ref="RollingFile"/>
	  <!--  <appender-ref ref="Console"/> -->
    </root>
  </loggers>
</configuration>

【丙】與common-logging的搭配使用

如果你的工程調用了其他使用common-logging的模塊,原來與log4j V1一起使用的時候,只要在項目SRC目錄下添加common-logging.properties,並加上配置語句:

org.apache.commons.logging.Log=org.apache.commons.logging.impl.Log4JLogger
被調用模塊的日誌就會跟你的日誌打在一起而不會在Console下打印出來。

還未找到Log4J V2如何與common-logging搭配使用的辦法。

發佈了62 篇原創文章 · 獲贊 0 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章