SpringBoot使用logback实现日志按天滚动

需求

日志按天滚动分割

info和error日志输出到不同文件

为什么使用Logback

在这里,我不去深究的讨论各个日志框架的优劣,网上的对比文章实在太多了。我只说以下几点理由。

Logback是Log4j的升级版,作者为同一个人,作者不想再去改Log4j,所以写了Logbak

使用日志框架的最佳实践是选择一款日志门面+一款日志实现,这里选择Slf4j+Logback, Slf4j作者也是Logbak的作者

SpringBoot从1.4版本开始,内置的日志框架就是Logback

Logback在SpringBoot中配置方式一

可以直接在applicatin.properties或者application.yml中配置

以在application.yml中配置为例:

[html] view plaincopy

logging:

pattern:

console: "%d - %msg%n"

file: /var/log/tomcat/sell.log

level: com.imooc.LoggerTest: debug

可以发现,这种配置方式简单,但能实现的功能也很局限,只能

定制输出格式

输出文件的路径

指定某个包下的日志级别

如果需要完成我们的需求,这就得用第二种配置了

Logback在SpringBoot中配置方式二

在resource目录下新建logback-spring.xml, 内容如下:

[html] view plaincopy

%d - %msg%n

ERROR

DENY

ACCEPT

%msg%n

/var/log/tomcat/sell/info.%d.log

ERROR

%msg%n

/var/log/tomcat/sell/error.%d.log

每一个appender你可以理解为一个日志处理策略。

第一个appender的name="consoleLog", 名字是自己随意取的,取这个名字,表示这个策略用于控制台的日志。

我们重点看第二个和第三个appender

因为要把info和error日志输入到不同文件, 所以我们分别建了两个appender。

rollingPolicy是滚动策略,这里我们设置按时间滚动

filter是日志的过滤方式,我们在fileInfoLog里做了如下过滤

[html] view plaincopy

ERROR

DENY

ACCEPT

上述代码翻译之后:拦截ERROR级别的日志。如果匹配到了,则禁用处理。如果不匹配,则接受,开始处理日志。

那有的同学要问了,不能这样写吗

INFO

这样不是只拦截INFO日志了吗?

不对!

这就得说一下日志级别了

DEBUG ->INFO -> WARN ->ERROR

如果你设置的日志级别是INFO,那么是会拦截ERROR日志的哦。

springboot日志按照天自动输出_SpringBoot使用logback实现日志按天滚动-阿里云开发者社区...相关推荐

  1. 阿里云mysql 日志_mysql日志-阿里云开发者社区

    mysql日志 mysql有以下几种日志: 错误日志: log-error 查询日志: log 慢查询日志: log-slow-queries 更新日志: log-update 二进制日志: log- ...

  2. python强大的模块_python之强大的日志模块-阿里云开发者社区

    1.简单的将日志打印到屏幕 import logging logging.debug('This is debug message') logging.info('This is info messa ...

  3. liunx导出mysql慢查询日志查看_查看 MySQL 慢查询日志文件-问答-阿里云开发者社区-阿里云...

    查看 MySQL 是否启用了慢 SQL 查询: 查看慢 SQL 日志是否启用. mysql> show variables like 'log_slow_queries'; +--------- ...

  4. 阿里云 mysql 日志_MySQL日志简介-阿里云开发者社区

    MySQL中的日志主要分为以下几种: 查询日志 慢查询日志 错误日志 二进制日志 中继日志 事务日志 说明: 支持本文实验使用的linux系统是CentOS7版本,使用的数据库是base源自带的Mar ...

  5. java sl4j 日志_为Java项目添加slf4j的log日志-阿里云开发者社区

    我们今天要给之前编码的一个maven的web项目提供slf4j的日志,这样所有的日志信息可以显示到项目的某个目录的log文件中. 项目的样子如下图: 首先配置pom,我也不知道下面的内容是否必要 or ...

  6. 阿里云 mysql日志分析_mysql 慢日志分析-阿里云开发者社区

    启用 slow log 有两种启用方式: 1, 在my.cnf 里 通过 log-slow-queries[=file_name] 2, 在mysqld进程启动时,指定--log-slow-queri ...

  7. boot spring 解析csv_文件系统(02):基于SpringBoot框架,管理Xml和CSV文件类型-阿里云开发者社区...

    一.文档类型简介 1.XML文档 XML是可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言.标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如数据结构,格 ...

  8. android实时声音信号波形_Android输出正弦波音频信号(左右声道对称)-阿里云开发者社区...

    转载请说明出处! 作者:kqw攻城狮 出处:个人站 | CSDN 需求:左右声道分别输出不同的音频数据,波形要是一个正弦波,左右声道还要对称! 对硬件不是很了解,说是要通过音波避障. 效果图 之前已经 ...

  9. mysql 3种报错_MySQL读取Binlog日志常见的3种错误-阿里云开发者社区

    MySQL读取Binlog日志常见的3种错误 mysqlbinlog: [ERROR] unknown variable 'default-character-set=utf8mb4' 当我们在my. ...

最新文章

  1. opencv——pcb上寻找mark点(拟合椭圆的方法)
  2. TIOBE 9 月编程语言排行榜发布,C++ 增速最快,C++20 的功劳?
  3. Webfrom --图片验证码
  4. python 逆向生成正则表达式_用Python中的正则表达式生成lis
  5. windows下手动安装composer并配置环境变量
  6. Windows 8.1 Preview 开发资源汇总
  7. WPF:Documents文档--Annomation批注(1)
  8. Hadoop环境共享
  9. 如何判断真假“中台”?
  10. QT软件开发: 获取CPU序列号、硬盘序列号、主板序列号 (采用wmic命令)
  11. mac html字体设置,Mac Win 网页字体显示方案
  12. 音频压缩编码技术(一)—有损压缩
  13. MATLAB对光路进行模拟,MATLAB辅助OptiSystem实现光学反馈环路的模拟
  14. One Chat for Mac(多功能聊天软件)
  15. javaEE练习(商城练习)
  16. 菜鸟先飞之HQL语句的运用
  17. JavaScript 笔记-放大镜案例
  18. 【darknet源码解析-24】shortcut_layer.h 和 shortcut_layer.c 解析
  19. java 有五个学生 每个学生有3门课_1、有五个学生,每个学生有3门课(语文、数学、英语)的成绩, 写一...
  20. 周大侠歌曲计算机,周大侠 周杰伦 周大侠歌曲,周大侠mp3在线试听 - 5nd音乐网

热门文章

  1. MySql 常见错误代码大全
  2. Linux命令-防火墙命令:iptables
  3. 金山安全报告:二月漏洞频出 网站挂马猖獗
  4. 使用Oracle SQL Developer报错:Unable to find a Java Virtual Machine
  5. 桌面图标变蓝底处理方法
  6. 一位老工程师的忠告,切记!
  7. 简单高效地控制高亮度LED
  8. 3G应用上新闻联播 TD-SCDMA被内定?
  9. Apache出现AH00558错误解决办法
  10. 老码农的人生需要多线程的去生活