这里有新鲜出炉的精品教程, 程序狗速度看过来!
Spring Boot
Spring Boot 项目旨在简化创建产品级的 Spring 应用和服务你可通过它来选择不同的 Spring 平台可创建独立的 Java 应用和 web 应用, 同时提供了命令行工具来允许'spring scripts'.
本篇文章主要介绍了基于 Spring Boot 的 Logback 日志轮转配置详解, 小编觉得挺不错的, 现在分享给大家, 也给大家做个参考一起跟随小编过来看看吧
在生产环境下, 日志是最好的问题调试和跟踪方法, 因此日志的地位是十分重要的我们平时经常使用的 log4j,slf4j,logback 等等, 他们的配置上大同小异这里就结合 Spring Boot 配置一下 Logback 的日志
默认最简单的配置
默认情况下, 如果对日志没有特殊处理, 可以直接基于 application.properties 进行配置
常用的参数有:
logging.level
配置日志的级别
- logging.file
- logging.path
这两个参数只能配置一个生效, 一个是文件 (可以有绝对路径或者相对路径); 另一个是路径, 文件的名称会默认为 spring.log
日志默认按照大小进行切分, 由于我这边没有产生那么大的文件, 因此没有做实验
这种方法最简单, 但是不能处理那种复杂的日志轮转的机制比如没天一个文件这种需求, 因此可以考虑使用独立的日志文件进行配置:
使用独立的配置文件配置
如果有复杂的需求, 可以像其他普通的 web 应用一样, 配置独立的 logback.xml:
首先注意的是这个文件必须放在 resources 目录下 (我这边发现, 如果通过 logging.config 指向另一个目录下的 logback.xml 会在程序启动时报错, 报无法解析该 xml 猜想可能是在其他目录下的 xml 都被当做 spring 的配置或者有 xml schema 信息的配置, 单纯的 logback.xml 它不认识)
然后在 application.properties 文件中加入:
- # 配置 logback
- logging.config=classpath:logback-spring.xml
即可
注意如果是
logging.config=classpath:xxxx/logback-spring.xml,
就不行了哈! 我试过好多次!
配置的内容基本可以参考下面的来:
- <?xml version="1.0" encoding="UTF-8"?>
- <configuration>
- <!-- 属性文件 -->
- <property name="processName" value="xxx"/>
- <property name="logDir" value="/opt/logs/xxx"/>
- <!-- 默认的控制台日志输出, 一般生产环境都是后台启动, 这个没太大作用 -->
- <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
- <!--<Encoding>UTF-8</Encoding>-->
- <layout class="ch.qos.logback.classic.PatternLayout">
- <pattern>%date [%thread] %-5level %logger{50}:%L - %msg%n</pattern>
- </layout>
- </appender>
- <!-- 配置文件轮转 -->
- <appender name="logfile" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <!--<Encoding>UTF-8</Encoding>-->
- <File>${logDir}/service.log</File>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <FileNamePattern>${logDir}/history/service.%d{yyyy-MM-dd}.log.gz</FileNamePattern>
- <maxHistory>30</maxHistory>
- </rollingPolicy>
- <layout class="ch.qos.logback.classic.PatternLayout">
- <pattern>%date [%thread] %-5level %logger{50}:%L - %msg%n</pattern>
- </layout>
- </appender>
- <!-- 修改其他包的日志输出级别 -->
- <logger name="org.apache.zookeeper">
- <level value="WARN"/>
- </logger>
- <!-- root 默认日志配置 , 注意这里的级别哈! 小心生产环境用 DEBUG, 压爆你的磁盘!-->
- <root level="INFO">
- <appender-ref ref="logfile"/>
- <appender-ref ref="stdout"/>
- </root>
- </configuration>
来源: http://www.phperz.com/article/18/0314/352914.html