说说在 logback中如何配置日志的控制台输出与文件输出

时间:2021-7-4 作者:qvyue

通常情况下,日志是由一个抽象层 + 实现层的组合来搭建[i]。

说说在 logback中如何配置日志的控制台输出与文件输出

spring-boot-starter 其中包含了 spring-boot-starter-logging ,该依赖内容就是 Spring Boot 默认的日志框架 logback,所以实际开发中我们不需要直接添加该依赖[ii]。

因为我们需要对日志进行更多控制,所以需要增加 logback配置。

在项目的 resources 文件夹内新建一个名为 logback-spring.xml 文件。logback-spring.xml 只有在Spring应用程序运行的时候才生效,即带有@SpringBootApplication注解的类启动的时候才会生效[iii]。

logback-spring.xml配置主要包含 节点,在它之下有四个常用的子节点:root、contextName、property、appender。

说说在 logback中如何配置日志的控制台输出与文件输出

我们一般先配置 property节点,定义好变量;接着定义控制台和文件的 appender,最后使用 root 来引用之前配置好的 appender。contextName 节点很少使用。

完整配置文件如下:

%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%nUTF-8${LOG_HOME}/xx/info.log${LOG_HOME}/xx/info.%d{yyyy-MM-dd}.%i.log.gz300010MB%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50} - %msg%nUTF-8

比较重要的地方是以下几点:

  • 设置日志文件所在的根路径LOG_HOME;
  • 设置日志输出格式pattern,其中 %logger{50} 中的 50 表示可以显示的最大字符数;

日志配置项可以根据业务工程要求进行修改,具体说明如下:

说说在 logback中如何配置日志的控制台输出与文件输出

当日志文件超过单个文件最大容量时,会进行分割,形如:

说说在 logback中如何配置日志的控制台输出与文件输出

[i] SpringBoot 日记——日志框架篇

[ii] springboot 中日志的使用

[iii] logback.xml和logback-spring.xml的区别

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。