maven工程 slf4j和log4j配合使用

使用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中进行如下修改,重新部署即可

 

输出风格又回来了

猜你喜欢

转载自www.cnblogs.com/jnhs/p/9974950.html