目录
- 1.配置文件
- 2.测试程序:
工具:log4j的jar包、配置文件log4j.properties(文件名自定义)、eclipse或IDEA
更多参考:https://www.cnblogs.com/ITtangtang/p/3926665.html、
1.配置文件
新建一个配置文件log4j.properties(我把它放在了C:\Users\YCKJ\IdeaProjects\mavendemo\src\main\resource目录下):
### set log levels ###
log4j.rootLogger = debug , stdout , D,R
### 1.输出到控制台 ###
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 = %d{ABSOLUTE} %5p %c{1}:%L - %m%n
### 2.输出到日志文件 ###
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = logs/log.log
log4j.appender.D.Append = true
## 输出DEBUG级别以上的日志
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
### 3.保存异常信息到单独文件 ###
log4j.appender.R = org.apache.log4j.DailyRollingFileAppender
## 异常日志文件名
log4j.appender.R.File = logs/error.log
log4j.appender.R.Append = true
## 只输出ERROR级别以上的日志!!!
log4j.appender.R.Threshold = ERROR
log4j.appender.R.layout = org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
注意:
-
此配置文件的注释一定要独占一行,不要像eclipse中单行注注释一样写在当前行代码后面,那样会报错
-
其中的stdout是标准输出流,更多详情百度试试。
-
这样输出配置到三个位置:控制台(console)、当前项目下logs文件下 的log.log和error.log 。其中debug和error信息都会输出到控制台,debug以上的包括debug、error都会写进log.log里,error以上的才会写进error.log里。一般调试,就看error.log文件更省事省力。
2.测试程序:
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class main {
public static void main(String[] args) {
PropertyConfigurator.configure( "C:\\Users\\YCKJ\\IdeaProjects\\mavendemo\\src\\main\\resource\\log4j.properties" );
Logger logger = Logger.getLogger(main.class );
logger.debug( " debug " );
logger.error( " error " );
}
}
测试结果: