项目日志在整个项目运行中,起着至关重要的作用。后期的运维,和功能更新无疑日志是最好的根据,下面介绍一下log4j的项目日志记录
1、引入maven依赖
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
2、log4j.properties
新建一个log.properties文件,放在resources下,具体如下
### 设置###
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 级别以上的日志到=E://logs/log.log ###
#RollingFileAppender 可以指定文件的最大尺寸(MaxFileSize),当日志文件达到指定大小时,会将原来的数据移步到log.log.1文件中,然后继续在log.log上进行日志记录。
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.DatePattern = '.'yyyy-MM-dd
log4j.appender.D.File = E://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 级别以上的日志到=E://logs/error.log ###
log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
log4j.appender.E.DatePattern = '.'yyyy-MM-dd
log4j.appender.E.File =E://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
具体的说明也已经在注释里面为大家说的比较清楚了,大家可以仔细看一下
3、测试
package com.aimeng.productfactory.controller;
import org.apache.log4j.Logger;
/**
* Author:fjc
* datetime:2021-7-20
*/
public class TestController {
private static Logger log = Logger.getLogger(TestController.class);
public void one(){
log.info("into one method");
try{
System.out.println(9/0);
}catch (Exception e){
log.error(e.getMessage());
}
log.info("into one method");
log.debug("into one method");
}
public static void main(String[] args) {
new TestController().one();
}
}
然后就可以在console上看到日志,同时在本地也可以看到相关的日志。