Spring-Boot (三) 默认日志logback配置
来源:互联网 发布:sqlserver 索引维护 编辑:程序博客网 时间:2024/05/22 15:49
Spring-Boot官方开发指导文档
SpringBoot默认采用了logback日志系统,也支持Log4j2、JDK (Java Util Logging)、SLF4J、Commons Logging等。下面说一下logback日志系统在SpringBoot中的配置。
如果日志需求简单,可以直接在application.properties中配置logback日志属性,否则可以自定义logback日志文件位置,然后根据自己需要配置logback内容。下面是一部分常用配置属性:
logging.file=xxxx.log //该属性指定日志文件名称
logging.path=/xxx/xxx //日志文件存储目录,当前目录 . 。
logging.file.max-size=2MB //单个日志文件大小,
logging.file.max-history=30 //日志文件保存30天的
logging.level.root=INFO //root日志打印级别
logging.level.xxx.xxx.xx=INFO //指定类或者包打印日志级别
项目中使用时,private Logger logger = LoggerFactory.getLogger(XXX.class);即可,该Logger为SLF4J的导入类。
日志系统在实际项目中一般需要个性化配置,所以可以通过下面的属性指定配置文件位置
logging.config=xxxxx
//该属性配置自定义日志文件位置,如果位于classpath根目录下,则直接填写文件名称即可。本例中使用logback, 位置位于src/main/resources/log下,配置应为:
logging.config=classpath:log/logback-spring.xml
关于logback配置文件名称,springboot官网推荐尽可能不要叫logback.xml,因为该文件在启动时就会加载,加载非常早,会导致配置文件中的springboot标签不识别。所以推荐命名xxxxx-spring.xml形式。
在springboot中的logback除了本身的标签外,还增加了<springProfile> 、 <springProperty>标签。
springProfile标签用于区分各个环境下配置文件,在application.properties中配置了spring.profiles.active=xxx后,该标签会加载指定的日志配置文件。
如:logback-spring.xml
<?xml version="1.0" encoding="UTF-8"?><configuration debug="true" scan="true" scanPeriod="60 seconds"><!-- scan日志刷新 scanPeriod不带单位时,单位为毫秒 --><!-- 控制台输出 --><appender name="Console" class="ch.qos.logback.core.ConsoleAppender"><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} -%msg%n</pattern></encoder></appender><!-- springProfile是springboot标签,可以配置运行时激活的配置 ,另外还有springProperty可以读取properties内的属性值应用到logback配置文件中--><springProfile name="dev"><include resource="log/logback-spring-dev.xml" /></springProfile><springProfile name="test"><include resource="log/logback-spring-test.xml" /></springProfile><springProfile name="pro"><include resource="log/logback-spring-pro.xml" /></springProfile></configuration>
其中logback-spring-dev.xml、logback-spring-test.xml、logback-spring-pro.xml三个配置文件分别是开发、测试、生产环境下的日志配置信息。logback-spring-dev.xml如下:其他不再列举
<?xml version="1.0" encoding="UTF-8"?><included><!-- 属性定义使用以及ref参照使用,必须有顺序,使用前必须已定义--><!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径 --><property name="LOG_HOME" value="D:/logs" /><!-- 按照每天生成日志文件 --><appender name="File"class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><!--日志文件输出的文件名 --><FileNamePattern>${LOG_HOME}/springboot.log.%d{yyyy-MM-dd}.log</FileNamePattern><!--日志文件保留天数 --><MaxHistory>30</MaxHistory></rollingPolicy><encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"><!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符 --><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%n</pattern></encoder><!--日志文件最大的大小 --><triggeringPolicyclass="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><MaxFileSize>2MB</MaxFileSize></triggeringPolicy></appender><!-- 可以指定包或者类 --><logger name="com.tom" level="INFO"><appender-ref ref="File"></appender-ref></logger><!-- 日志输出级别 --><root level="INFO"><appender-ref ref="Console" /></root></included>springProperty标签用于读取spring环境中property配置的属性值,springProperty有name属性,与logback中标签property作用类似,可以在配置文件的下文中通过${name}读取值。logback中配置定义有顺序,取值或者引用必须先声明后引用。
官文例子:
<springProperty scope="context" name="fluentHost" source="myapp.fluentd.host"defaultValue="localhost"/><appender name="FLUENT" class="ch.qos.logback.more.appenders.DataFluentAppender"><remoteHost>${fluentHost}</remoteHost>....</appender>
- Spring-Boot (三) 默认日志logback配置
- spring boot(三)logback日志配置
- spring boot配置logback日志
- spring boot 日志配置 logback-spring.xml
- logback:输出日志到文件(滚动)&& Spring Boot干货系列:(七)默认日志logback配置解析(转载)
- Spring Boot日志配置logback,log4j
- Spring Boot日志配置logback,log4j
- Spring Boot 日志配置 logback和log4j2
- spring boot配置logback日志输出
- spring boot 日志配置-logback和log4j2
- Spring Boot如何配置日志logback
- Spring Boot干货系列:(七)默认日志logback配置解析
- Spring Boot 默认日志工具logback与ELK系统对接
- Spring Boot 日志配置(LogBack,LockBack异步日志)
- spring-boot logback配置
- spring boot logback 配置
- spring boot logback配置
- spring boot + spring cloud日志级别的配置logback.xml
- Object.keys() 获取对象的length
- Java基础——类加载机制及原理
- AOP Observable
- Struts2之------Action类中的get,set方法和execute方法的使用规范和使用流程(规范是没有理由的,必须遵守!!!)
- Maven中module和parent标签的填写方式
- Spring-Boot (三) 默认日志logback配置
- 软考错题合集之17-05-PM
- js向服务器发送请求,获取服务器时间
- Java静态资源拦截器配置
- [NOIP2017 考前胡写]一年以来犯的各种无脑错误与经验总结
- 事务,什么是事务,为何用事务?
- 在idea里面如何对spring boot项目进行热部署
- 【期望DP】BZOJ1419[Red is good]题解
- 条款01~02