文档章节

Spring Boot中日志每日分割

亚林瓜子
 亚林瓜子
发布于 2018/06/12 15:54
字数 344
阅读 53
收藏 8

问题

想使用Spring Boot中日志输出,这样以后遇到问题,就可以翻看日志数据,看看程序运行的过程,便于排查错误。

logback基础配置

logback-spring.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <include resource="org/springframework/boot/logging/logback/defaults.xml" />
    <property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>
    <include resource="org/springframework/boot/logging/logback/console-appender.xml" />
    <include resource="org/springframework/boot/logging/logback/file-appender.xml" />
    <root level="INFO">
        <appender-ref ref="CONSOLE" />
        <appender-ref ref="FILE" />
    </root>
</configuration>

application.properties

logging.path=logs

上面两步,主要就是对spring-boot对最基础日志配置。

按日期分割

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
	<include resource="org/springframework/boot/logging/logback/defaults.xml" />
	<property name="LOG_FILE"
		value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}" />
	<include
		resource="org/springframework/boot/logging/logback/console-appender.xml" />
	<appender name="DAY_FILE"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<encoder>
			<pattern>${FILE_LOG_PATTERN}</pattern>
		</encoder>
		<file>${LOG_FILE}</file>
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd_HH-mm}.log</fileNamePattern>
			<maxHistory>365</maxHistory>
		</rollingPolicy>
	</appender>
	<root level="INFO">
		<appender-ref ref="CONSOLE" />
		<appender-ref ref="DAY_FILE" />
	</root>
</configuration>

**Note:**这里的DAY_FILE,其实主要就是参考org/springframework/boot/logging/logback/file-appender.xml进行配置。

Java代码调用

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


public class DemoController {
	private final static Logger logger = LoggerFactory.getLogger(DemoController.class);

    public Demo greeting(@RequestParam(value="serviceId", defaultValue="World") String serviceId) {
    		logger.info("serviceId-->" + serviceId);
    		...
    }
}

总结

没有必要去弄颜色输出,因为我的命令行工具已经弄好了主题,我使用的是德古拉主题;使用Logback理由,是因为Spring推荐使用。

参考: 77. Logging Spring boot——logback 基础使用篇(一) 设置spring-boot的logging Spring Boot 日志记录 SLF4J USING LOGBACK WITH SPRING BOOT

© 著作权归作者所有

共有 人打赏支持
亚林瓜子

亚林瓜子

粉丝 21
博文 178
码字总数 62022
作品 0
长沙
高级程序员
私信 提问
【Spring Boot】4.日志

1 日志框架的选择 1.1 框架一览 JUL、JCL、JBoss-logging、log4j、log4j2、slf4j等。 日志门面(抽象层) 日志实现 JCL(Jakra Commons Logging) SLF4j(Simple Logging Facade for Java) Jbo...

落花时节又逢卿
2018/12/27
0
0
Spring Boot(十)Logback和Log4j2集成与日志发展史

一、简介 Java知名的日志有很多,比如:JUL、Log4j、JCL、SLF4J、Logback、Log4j2,那么这些日志框架之间有着怎样的关系?诞生的原因又是解决什么问题?下面一起来看。 1.1 JUL Java有自己的...

王磊的博客
2018/10/30
0
0
使用 Spring Boot 配置日志

当您使用 Spring Boot 启动时,因为包含了 spring-boot-starter-logging ,让 Logback 为 Spring Boot 提供开箱即用的日志回溯——即提供日志记录,而不需要任何配置,并可以根据需求进行更改...

oschina
2017/09/09
1K
3
spring boot框架学习4-spring boot核心(3)

本节主要: 1:spring boot 为我们提供的 starter pom 都有哪些 2:怎么添加xml配置文件 3:日志相关 本文是《凯哥陪你学系列-框架学习之spring boot框架学习》中第四篇 spring boot框架学习...

凯哥java
2017/10/31
0
0
spring boot(8)默认日志logback配置

1 日志简介 Spring Boot使用Commons Logging记录所有内部日志,但是它将底层日志实现打开,为Java.Util.Logging,Log4J2和Logback提供默认配置。 在每个案例中,loggers都预先配置,以使用控...

刘胜球
2017/10/31
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx日志自动切割

1.日志配置(Nginx 日志) access.log----记录哪些用户,哪些页面以及用户浏览器,IP等访问信息;error.log------记录服务器错误的日志 #配置日志存储路径:location / {      a...

em_aaron
昨天
0
0
java 反射

基本概念 RTTI,即Run-Time Type Identification,运行时类型识别。RTTI能在运行时就能够自动识别每个编译时已知的类型。   要想理解反射的原理,首先要了解什么是类型信息。Java让我们在运...

细节探索者
昨天
1
0
推荐转载连接

https://www.cnblogs.com/ysocean/p/7409779.html#_label0

小橙子的曼曼
昨天
3
0
雷军亲自打造的套餐了解下:用多少付多少

12月28日消息,小米科技创始人兼CEO雷军微博表示,小米移动任我行套餐方案,原则上就是明明白白消费,用多少付多少,不用不花钱!上网、电话和短信都是一毛钱,上网0.1元/M,电话0.1元/分钟,...

linuxCool
昨天
6
0
协议简史:如何学习网络协议?

大学时,学到网络协议的7层模型时,老师教了大家一个顺口溜:物数网传会表应。并说这是重点,年年必考,5分的题目摆在这里,你们爱背不背。 考试的时候,果然遇到这个问题,搜索枯肠,只能想...

Java干货分享
昨天
10
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部