最近项目中要对日志进行拆分,按操作人员所属机构和员工编号进行分文件存储,系统学习了下logback,记录一下:
打印日志到控制台:
1.pom添加依赖:
<logback.version>1.1.7</logback.version>
<slf4j.api.version>1.7.25</slf4j.api.version>
<!-- 日志logback start -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.api.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>${logback.version}</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>${logback.version}</version>
</dependency>
<!-- 日志logback end -->
2.classpath下添加配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="CONSOLEOUT" class="ch.qos.logback.core.ConsoleAppender">
<!-- encoder的默认实现类是ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{5} - %m%n</pattern>
</encoder>
</appender>
<!-- name值可以是包名或具体的类名:该包(包括子包)下的类或该类将采用此logger -->
<logger name="com.chm" level="INFO" />
<!-- root的默认level是DEBUG -->
<root level="DEBUG">
<appender-ref ref="CONSOLEOUT" />
</root>
</configuration>
3.测试代码
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class LogTest {
private static final Logger logger = LoggerFactory.getLogger(LogTest.class);
public static void main(String[] args) {
logger.info("test {}","logtest");
}
}
4.输出结果