使用log4j如何打印输出到日志文件

maven工程web项目使用log4j如何打印输出日志

导入log4j相关的maven坐标

<!-- log4j日志相关坐标 -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.21</version>
    </dependency>
    <!-- 这里注意:如果是springBoot项目,不必再引入下边这个jar了,
    因为spring-boot-starter本身就已经引入这个jar了。以免造成jar包冲突 -->
    <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-log4j12</artifactId>
        <version>1.7.21</version>
    </dependency>


2.编写log4j配置文件:log4j.properties

#设置优先级别、以及输出源 stdout输出到控制台,D,F,E保存到文件
log4j.rootLogger = DEBUG,stdout,D,F,E
# 把日志信息输出到控制台
log4j.appender.stdout = org.apache.log4j.ConsoleAppender                    #添加到控制台 
log4j.appender.stdout.Target = System.out                                    #方式为输出  
log4j.appender.stdout.Threshold = DEBUG                                     #优先级为debug
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout                #信息布局方式为自定义
log4j.appender.stdout.layout.ConversionPattern = %d - %m %5p (%c:%L) %n        #自定义布局方式
# 把日志信息输出到文件debug.log
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = ../logs/**项目名**/debug.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG 
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %d - %m %5p (%c:%L) %n
# 把日志信息输出到文件info.log
log4j.appender.F = org.apache.log4j.DailyRollingFileAppender
log4j.appender.F.File = ../logs/**项目名**/info.log
log4j.appender.F.Append = true
log4j.appender.F.Threshold = INFO 
log4j.appender.F.layout = org.apache.log4j.PatternLayout
log4j.appender.F.layout.ConversionPattern = %d - %m (%c:%L)%n
# 把日志信息输出到文件error.log 
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =../logs/**项目名**/error.log 
log4j.appender.E.Append = true
log4j.appender.E.Threshold = ERROR 
log4j.appender.E.layout = org.apache.log4j.PatternLayout
log4j.appender.E.layout.ConversionPattern =%d - %m (%c\:%L) %n

#ibatis logger config  
log4j.logger.com.ibatis=info  
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug  
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=info  
log4j.logger.com.ibatis.sqlmap.engine.impl.SqlMapClientDelegate=info  
log4j.logger.java.sql.Connection=info  
log4j.logger.java.sql.Statement=info  
log4j.logger.java.sql.PreparedStatement=info

说明:01.日志文件的输出路径可以自定义。
02.log4j.properties是log4j默认加载的文件名,一般不需要修改。
03.日志输出优先级:从高到低依次为error,warn,info,debug,低级别的可以输出高级别的日志,如debug可以输出任何优先级的日志,但是info只能输出info,warn,error级别的日志。
4.stdout,D,F,E这两个有点类似于变量名,可以自定义名称,可以用这两个东西进行控制台或者文件的输出。
3.现场测试

编写测试类

@SpringBootTest
class ApplicationTests {
    Logger log = Logger.getLogger(ApplicationTests.class);
    @Test
    public void testOne() {
        // 记录debug级别的信息
        log.debug(">>This is debug message");
        // 记录info级别的信息
        log.info(">>This is info message");
        // 记录error级别的信息
        log.error(">>This is error message");
        
    }
}

运行结果

注意看日志文件的输出路径,看配置文件配置的路径:如 ../logs/**项目名**/debug.log
找到位置看是不是输出日志文件了。

 

 

上一篇:log4j.properties配置文件


下一篇:Log4j入门教程