最近,看了下日志的相关知识。先记录下logback的配置和使用吧。
1. logback的前世今生
logback是由log4j的创始人又一个开源日志组件,logback主要由两部分构成,logback-core和logback-classic(当然还有其他的组成,比如logback-access,logback-jackson等等,具体的其他内容可以去maven的仓库搜索logback相关就可以了)。
logback-classic是log4j的一个 改良版本。此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。
2. logback的配置
2.1 maven依赖,声明此依赖会将logback-core和slf4j-api依赖注入进来:
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version> 1.1.3</version>
</dependency>
2.2 logback.xml配置
<?xml version="1.0"?>
<!--当scan属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true-->
<!--debug属性是否打印logback内部的日志信息-->
<configuration>
<!-- ch.qos.logback.core.ConsoleAppender 控制台输出 -->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>[%-5level] %d{HH:mm:ss.SSS} [%thread] %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<!-- 日志级别 -->
<root>
<level value="error" />
<appender-ref ref="console" />
</root>
</configuration>
3. logback的实战
3.1 使用
我们使用org.slf4j.LoggerFactory,就可以直接使用日志了。
protected final Logger logger = LoggerFactory.getLogger(this.getClass());
代码中,写日志
@Controller
@RequestMapping(value = "/index")
public class IndexController {
/**
* Success
* @param response
* @throws IOException
*/
@RequestMapping(value = "ceshi")
@ResponseBody
public void hello() {
logger.debug("DEBUG TEST 这个地方输出DEBUG级别的日志");
logger.info("INFO test 这个地方输出INFO级别的日志");
logger.error("ERROR test 这个地方输出ERROR级别的日志");
}
}
4. 总结
4.1编写logback.xml没有提示
因为logback的灵活性,没有tld规范文件,所以编写时,不会有相关的标签属性的提示
转载请注明原文地址: https://ju.6miu.com/read-1787.html