ToB企服应用市场:ToB评测及商务社交产业平台
标题:
springboot中如何集成logback呢?
[打印本页]
作者:
小秦哥
时间:
2022-9-3 22:49
标题:
springboot中如何集成logback呢?
转自:
http://www.java265.com/JavaCourse/202201/2160.html
LogBack简介:
Logback是由log4j创始人设计的另一个开源日志组件,中文网站 http://www.logback.cn/ 。它当前分为下面下个模块:
logback-core
:其它两个模块的基础模块
logback-classic
:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging
logback-access
:访问模块与Servlet容器集成提供通过Http来访问日志的功能
下文笔者讲述springboot中集成logback的方法分享,如下所示:
SpringBoot默认使用logback作为日志框架
在生成springboot项目的时候可以直接勾选logback
则可以直接使用logback
下文讲述springboot使用logback的方法分享,如下所示
复制代码
步骤一:添加logback的maven依赖
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</dependency>
推荐使用slf4j+logback,后面项目更容易维护
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.1.7</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.1.7</version>
</dependency>
复制代码
步骤二:配置logback-spring.xml
resources下配置的spring-logback.xml
<?xml version="1.0" encoding="UTF-8" ?>
<configuration scan="true" scanPeriod="60 seconds" debug="false">
<jmxConfigurator/>
<property name="log.home_dir" value="/usr/local/springboot/log"/>
<property name="log.app_name" value="http-demo"/>
<property name="log.maxHistory" value="20"/>
<property name="log.level" value="debug"/>
<property name="log.maxSize" value="5MB" />
<appender name="CONSOLE" >
<encoder>
<pattern>
%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] [%thread] %logger - %msg%n
</pattern>
</encoder>
</appender>
<appender name="ERROR" >
<filter >
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<rollingPolicy >
<fileNamePattern>
${log.home_dir}/error/%d{yyyy-MM-dd}/${log.app_name}-%i.log
</fileNamePattern>
<maxHistory>${log.maxHistory}</maxHistory>
<MaxFileSize>${log.maxSize}</MaxFileSize>
</rollingPolicy>
<encoder>
<pattern>
%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n
</pattern>
</encoder>
</appender>
<appender name="INFO" >
<filter >
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<rollingPolicy >
<fileNamePattern>${log.home_dir}/info/%d{yyyy-MM-dd}/${log.app_name}-%i.log</fileNamePattern>
<maxHistory>${log.maxHistory}</maxHistory>
<MaxFileSize>${log.maxSize}</MaxFileSize>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %logger - %msg%n</pattern>
</encoder>
</appender>
<appender name="DEBUG" >
<filter >
<level>DEBUG</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<rollingPolicy >
<fileNamePattern>${log.home_dir}/debug/%d{yyyy-MM-dd}/${log.app_name}-%i.log</fileNamePattern>
<maxHistory>${log.maxHistory}</maxHistory>
<MaxFileSize>${log.maxSize}</MaxFileSize>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %logger - %msg%n</pattern>
</encoder>
</appender>
<appender name="app" >
<rollingPolicy >
<fileNamePattern>${log.home_dir}/app/%d{yyyy-MM-dd}/${log.app_name}-%i.log</fileNamePattern>
<maxHistory>${log.maxHistory}</maxHistory>
<MaxFileSize>${log.maxSize}</MaxFileSize>
</rollingPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %logger - %msg%n</pattern>
</encoder>
</appender>
<logger name="org.springframework.web" additivity="false" level="WARN">
<appender-ref ref="WARN"/>
</logger>
<logger name="com.zgd" additivity="false" level="DEBUG" >
<appender-ref ref="app" />
<appender-ref ref="ERROR" />
<appender-ref ref="CONSOLE" />
</logger>
<root>
<level value="${log.level}"/>
<appender-ref ref="CONSOLE"/>
</root>
</configuration>
复制代码
Controller中使用logback
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class IndexController {
private final Logger logger = LoggerFactory.getLogger(getClass());
@GetMapping("/index")
public Object index() {
logger.debug("debug");
logger.info("info");
logger.warn("warn");
logger.error("error");
return "success";
}
}
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/)
Powered by Discuz! X3.4