spring boot 日志配置 logback-spring.xml
2017-07-25 10:50
921 查看
最近在学习spring boot相关,所以必然要了解日志文件的配置。
Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。logback-access访问模块与Servlet容器集成提供通过Http来访问日志的功能。 Logback是要与SLF4J结合起来用两个组件的官方网站如下:
logback的官方网站: http://logback.qos.ch
maven配置:
不多说 直接上我的配置,这样的配置是在开发过程中用的。
我这里使用spring扩展profile支持,所以日志名称为logback-spring.xml
通过application.properties文件中 spring.profiles.active=test 来指定logback-spring.xml 中使用哪一段来记录日志 。
在需要记录日志的地方使用
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private final Logger logger = (Logger) LoggerFactory.getLogger(this.getClass());
logger.info(“日志内容”);
这样就可以记录了,满足开发需要。
另在eclipse中可以在控制台打印彩色日志,如有需要可以自行百度搜索,个人感觉用处不大,这里不做说明。
Logback是由log4j创始人设计的又一个开源日志组件。logback当前分成三个模块:logback-core,logback- classic和logback-access。logback-core是其它两个模块的基础模块。logback-classic是log4j的一个 改良版本。此外logback-classic完整实现SLF4J API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging。logback-access访问模块与Servlet容器集成提供通过Http来访问日志的功能。 Logback是要与SLF4J结合起来用两个组件的官方网站如下:
logback的官方网站: http://logback.qos.ch
SLF4J的官方网站:http://www.slf4j.org 本文章用到的组件如下:请自行到官方网站下载! logback-access-1.0.0.jar logback-classic-1.0.0.jar logback-core-1.0.0.jar slf4j-api-1.6.0.jar
maven配置:
<dependency> <groupId>ch.qos.logback</groupId> <artifactId>logback-classic</artifactId> <version>1.0.11</version>
不多说 直接上我的配置,这样的配置是在开发过程中用的。
我这里使用spring扩展profile支持,所以日志名称为logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?> <!-- 从高到地低 OFF 、 FATAL 、 ERROR 、 WARN 、 INFO 、 DEBUG 、 TRACE 、 ALL --> <!-- 日志输出规则 根据当前ROOT 级别,日志输出时,级别高于root默认的级别时 会输出 --> <!-- 以下 每个配置的 filter 是过滤掉输出文件里面,会出现高级别文件,依然出现低级别的日志信息,通过filter 过滤只记录本级别的日志--> <configuration> <!-- 文件输出格式 --> <property name="PATTERN" value="%-12(%d{yyyy-MM-dd HH:mm:ss.SSS}) |-%-5level [%thread] %c [%L] -| %msg%n" /> <!-- 文件路径 --> <!--<property name="FILE_PATH" value="D:/DevData/kmcmsLogs" /> --> <!-- 开发环境 --> <springProfile name="dev"> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>${PATTERN}</pattern> </encoder> </appender> <logger name="com.km.controller" level="debug" /> <root level="info"> <appender-ref ref="CONSOLE" /> </root> </springProfile> <!-- 测试环境 --> <springProfile name="test"> <appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 文件路径 --> <file>D:/DevData/kmAppletLogs/kmapplet.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!-- rollover daily --> <fileNamePattern>D:/DevData/kmAppletLogs/kmapplet_%d{yyyy-MM-dd}.%i.log </fileNamePattern> <!-- each file should be at most 100MB, keep 60 days worth of history, but at most 20GB --> <maxFileSize>1MB</maxFileSize> <maxHistory>60</maxHistory> <totalSizeCap>10MB</totalSizeCap> </rollingPolicy> <!-- <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>${PATTERN}</pattern> </layout> --> <encoder> <pattern>${PATTERN}</pattern> </encoder> </appender> <root level="DEBUG"> <appender-ref ref="ROLLING" /> </root> </springProfile> <!-- 生产环境 --> <springProfile name="prod"> <appender name="ROLLING" class="ch.qos.logback.core.rolling.RollingFileAppender"> <!-- 文件路径 --> <file>/ftp/private/kmAppletLogs/kmapplet.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy"> <!-- rollover daily --> <fileNamePattern>/ftp/private/kmAppletLogs/kmapplet_%d{yyyy-MM-dd}.%i.log </fileNamePattern> <!-- each file should be at most 10MB, keep 30 days worth of history, but at most 1GB --> <!-- 每个日志文件最大10MB, 保留30天的日志文件, 但是最多总文件大小为 5GB --> <maxFileSize>10MB</maxFileSize> <maxHistory>30</maxHistory> <totalSizeCap>5GB</totalSizeCap> </rollingPolicy> <!-- <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>${PATTERN}</pattern> </layout> --> <encoder> <pattern>${PATTERN}</pattern> </encoder> </appender> <!--这里控制日志输出级别 --> <root level="DEBUG"> <appender-ref ref="ROLLING" /> </root> </springProfile> </configuration>
通过application.properties文件中 spring.profiles.active=test 来指定logback-spring.xml 中使用哪一段来记录日志 。
在需要记录日志的地方使用
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private final Logger logger = (Logger) LoggerFactory.getLogger(this.getClass());
logger.info(“日志内容”);
这样就可以记录了,满足开发需要。
另在eclipse中可以在控制台打印彩色日志,如有需要可以自行百度搜索,个人感觉用处不大,这里不做说明。
相关文章推荐
- 关于springboot的默认日志配置文件logback.xml
- java鬼混笔记:springboot 10、springboot logback-spring.xml简单的日志配置
- 为什么Spring Boot推荐使用logback-spring.xml来替代logback.xml来配置logback日志的问题分析
- 为什么Spring Boot推荐使用logback-spring.xml来替代logback.xml来配置logback日志的问题分析
- spring boot + spring cloud日志级别的配置logback.xml
- SpringBoot整合+logback日志配置
- Spring Boot基础教程——日志配置-logback和log4j2
- SpringBoot实践之---默认日志logback配置解析
- springboot入门(四)springboot默认日志logback配置
- 基于Spring Boot的Logback日志轮转配置
- spring boot(三)logback日志配置
- Spring Boot基础教程5-日志配置-logback和log4j2
- Spring Boot干货系列:(七)默认日志logback配置解析
- Spring Boot日志配置logback,log4j
- Spring boot——logback.xml 配置详解(三)<appender>
- spring boot logback.xml 文件 配置出力到linux 下的系统log
- Spring Boot 日志配置(LogBack,LockBack异步日志)
- SpringBoot Logback日志配置
- Spring-Boot (三) 默认日志logback配置
- 【spring boot logback】日志使用自定义的logback-spring.xml文件后,application.properties中关于日志的相关配置还会起作用么