两种方式,一种直接使用Log4j,一种使用lombok
SLF4J(The Simple Logging Facade for Java) 是一个用于日志系统的简单Facade,允许最终用户在部署其应用时使用其所希望的日志框架,如log4j/logback/log4j2等,这里介绍两种日志使用方法
1.使用第一种方式,需要把log4j.properties配置文件放在source目录下,否则不会输出日志,控制台会报如下信息
log4j:WARN No appenders could be found for logger (testcase.demotest.TestLogger).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.30</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.30</version>
<scope>test</scope>
</dependency>
log4j.properties配置
### 设置根 定义###
log4j.rootLogger = info,stdout,I,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
### 输出info 级别以上的日志到 ###
log4j.appender.I = org.apache.log4j.DailyRollingFileAppender
log4j.appender.I.Encoding=UTF-8
log4j.appender.I.File = ./logs/executeLog.log
log4j.appender.I.Append = false
log4j.appender.I.Threshold = info
log4j.appender.I.layout = org.apache.log4j.PatternLayout
log4j.appender.I.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.Encoding=UTF-8
log4j.appender.E.File =./logs/error.log
log4j.appender.E.Append = false
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
public class MCTest {
# 第一种方式,需要初始化类
private static final Logger LOGGER = LoggerFactory.getLogger(MCTest.class);
@Test
public void testLOGGER() {
LOGGER.info("LOGGER output {}", "success");
}
}
第二种方式更简便,引入lombok即可,不需要初始化和log4j.properties配置文件,在类上加个@Slf4j注解
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>