maven工程 slf4j和log4j配合使用
阿新 • • 發佈:2018-11-17
使用slf4j的優點:
提供帶引數的日誌輸出方法(SLF4J 1.7及以後版本)。
pom中只需引入slf4j-log4j12,然後maven會引入它所依賴的其它JAR包。
1.在pom檔案中新增程式碼
<dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
2.新增log4j配置檔案log4j.properties(編碼為GBK中文輸出不亂)
# DEBUG,INFO,WARN,ERROR,FATAL LOG_LEVEL=INFO log4j.rootLogger=${LOG_LEVEL},CONSOLE,FILE log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Encoding=GBK log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout #log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %C{8}@(%F:%L):%m%n log4j.appender.CONSOLE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss} %C{1}@(%F:%L):%m%n log4j.appender.FILE=org.apache.log4j.DailyRollingFileAppender log4j.appender.FILE.File=${catalina.base}/logs/workorder.log log4j.appender.FILE.Encoding=GBK log4j.appender.FILE.DatePattern='.'yyyy-MM-dd log4j.appender.FILE.layout=org.apache.log4j.PatternLayout #log4j.appender.FILE.layout=org.apache.log4j.HTMLLayout log4j.appender.FILE.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH\:mm\:ss} %C{8}@(%F\:%L)\:%m%n
3.在web.xml中配置log4j
<!-- 配置log4j配置檔案路徑 --> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>WEB-INF/config/log4j.properties</param-value> </context-param> <!-- 60s 檢測日誌配置 檔案變化 --> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>60000</param-value> </context-param> <!-- 配置Log4j監聽器 --> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>
在使用的時候需要引入
import org.slf4j.Logger; import org.slf4j.LoggerFactory;
然後例項化
需要列印日誌的地方
logger.info("當前狀態{}", "收到列表請求,並進入");
執行效果
當不需要使用log4j 用回java的loggin的時候,
在pom.xml中進行如下修改,重新部署即可
輸出風格又回來了