Java使用log4j输出标准化日志

最近做的项目要输出标准化日志,查了下使用log4j比较好用,记录一下,使用很简单,需要下载并导入log4j的jar包,官网有,按需下载:下载地址

import org.apache.log4j.Logger;

public class Testlinux {
        public static Logger logger= Logger.getLogger(Testlinux.class);
        public static void main(String[] args) {
                logger.trace("trace_log");
                logger.debug("debug_log");
                logger.info("info_Log");
                logger.warn("warn_log");
                logger.error("error_log");
                logger.fatal("fatal_log");
        }
}

直接运行会报错:No appenders could be found for logger,原因为找不到默认配置文件log4j.properties和log4j.xml,并且应用程序不执行显式配置时,就会发生这种情况。

自建一个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 级别以上的日志到=D://logs/error.log ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = D://logs/log.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 级别以上的日志到=D://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.File =D://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{yyyy-MM-dd HH:mm:ss}  [ %t:%r ] - [ %p ]  %m%n

之后就可以成功输出,并将日志写入到properties里配置的文件目录下了,将原来的System.out地方进行替换即可
在这里插入图片描述

posted @ 2020-08-31 14:18  鱼蛋炒饭  阅读(384)  评论(0)    收藏  举报