JAVA LOG4J使用方法

首先,需要在项目中导入log4j使用的JAR包,导入结果如下图:

菜单:Build Path->Configure Build Path->Add Extern Jars

导入JAR包后,在SRC级别下创建log4j.properties配置文件,配置方法如下:

### 设置###
log4j.rootLogger = debug,stdout,D,E

### 输出信息到控制台###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%n%m%n

### 输出DEBUG 级别以上的日志文件设置 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = vincent_player_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{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

### 输出ERROR 级别以上的日志文件设置 ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File = vincent_player_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{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

如果日志文件没有设置路径的话,那么日志文件会输出到工程目录下。

log4j支持两种类型的配置文件,xml和properties 
log4j.properties配置文件如下:(需要把log4j的配置文件放在classpath下) 

log4j.rootLogger = [level], appenderName, appenderName, ...    (level是错误级别,appenderName是输出目的地,可以定义多个) 
level优先级分别为FATAL、ERROR、WARN、INFO、DEBUG 5个级别.通过定义的级别,你可以控制程序中的日志输出.比如在这里定义了ERROR级别,程序中只有FARAL、ERROR 级别的LOG会被输出. 

log4j.appender.appenderName = 输出目的地(这里的appenderName是在前面定义的,可任意起名) 
log4j.appender.appenderName.layout = 布局类型 (设置布局类型)

Log4j提供的layout有以下4

org.apache.log4j.HTMLLayout(以HTML表格形式布局)

org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)

org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

org.apache.log4j.PatternLayout(可以灵活地指定布局模式)

如果使用PatternLayout布局就要指定的打印信息的具体格式ConversionPattern

测试代码如下:

import org.apache.log4j.*;

public class vincent_player_framt {
    private static Logger logger = Logger.getLogger(vincent_player_framt.class);
    
    public static void main(String[] args) throws Exception {
        // 记录debug级别的信息  
        logger.debug("This is debug message.");  
        // 记录info级别的信息  
        logger.info("This is info message.");  
        // 记录error级别的信息  
        logger.error("This is error message."); 
    }
}

首先,创建logger,然后可以调用debug、info、error函数来输出信息到日志文件。error函数信息只会输出到error的log文件下面。

原文地址:https://www.cnblogs.com/rookie-newbie/p/7919292.html