Springboot 日志管理配置logback-spring.xml
几种常见的日志
- Log4j:是最早的日志框架,是apach旗下的,可以单独使用,也可配合日志框架JCL使用;
- Log4j2:apach旗下的关于log4j的升级版;
- Logback:是基于slf4j接口实现的一套日志框架组件;(Logback是由log4j创始人设计的又一个开源日志组件。)
- JUL(java utillog):仿log4j实现的日志框架,是sun旗下的,(也就是在我们普遍使用的jdk中);
- Commons loggin:是一套日志接口(apache);
- Slf4j:也是一套日志接口;
Commons Logging和Slf4j是日志门面(门面模式是软件工程中常用的一种软件设计模式,也被称为正面模式、外观模式。它为子系统中的一组接口提供一个统一的高层接 口,使 得子系统更容易使用)。log4j和Logback则是具体的日志实现方案。可以简单的理解为接口与接口的实现,调用这只需要关注接口而无需关注具体的实现,做到解耦;
比较常用的组合使用方式是Slf4j与Logback组合使用,Commons Logging与Log4j组合使用。
下面是Slf4j与Logback使用:
Springboot 日志管理配置logback-spring.xml
(1).application.yml配置
# 日志目录
logging:
path: home/logs/
file: ${logging.path}springboot
(2).logback-spring.xml配置
<?xml version="1.0" encoding="UTF-8"?>
<!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 -->
<!-- scan:当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true -->
<!-- scanPeriod:设置监测配置文档是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。
当scan为true时,此属性生效。默认的时间间隔为1分钟。 -->
<!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 --> <configuration debug="true">
<!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
<!--<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>-->
<property name="LOG_FILE" value="${LOG_FILE}"/> <!--1. 输出到控制台-->
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} [%line] - %msg%n</pattern>
</encoder>
</appender> <!--2. 输出到文档-->
<!-- 2.1 level为 DEBUG 日志,时间滚动输出 -->
<appender name="R" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- 正在记录的日志文档的路径及文档名 -->
<!--<File>${LOG_FILE}</File>-->
<!--日志文档输出格式-->
<encoder>
<pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} [%line] - %msg%n</pattern>
</encoder>
<!-- 日志记录器的滚动策略,按日期,按大小记录 -->
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.log
</fileNamePattern>
<maxHistory>15</maxHistory>
</rollingPolicy>
</appender> <logger name="noModule" level="info"/>
<logger name="org.codehaus" level="info"/>
<logger name="org.apache" level="info"/>
<logger name="org.springframework" level="info"/>
<logger name="druid.sql" level="info"/>
<logger name="com.alibaba" level="debug">
<appender-ref ref="stdout"/>
</logger>
<logger name="com.springboot" level="debug"/>
<root level="info">
<appender-ref ref="stdout"/>
<appender-ref ref="R"/>
</root>
</configuration>
(3).生成日志
Slf4j使用
(1) public final class InStockController { private static final Logger LOGGER = LoggerFactory.getLogger(InStockController.class);
} (2) 方法中
LOGGER.info("xxxxxxxx");
Springboot 日志管理配置logback-spring.xml的更多相关文章
- springboot日志管理+集成log4j
sprongboot使用的默认日志框架是Logback. 可以在application.properties配置简单日志属性,也可以单独配置logback.xml格式,还可以使用log4j来管理. 下 ...
- Spring Boot 2 中的默认日志管理与 Logback 配置详解
Spring Boot在所有内部日志中使用Commons Logging,但是对底层日志的实现是开放的.在Spring Boot生态中,为Java Util Logging .Log4J2 和Logb ...
- spring boot日志管理配置
spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J,Log4J2和Logback.每种L ...
- spring boot 日志文件配置(logback-spring.xml)亲测可用!
问题描述:如何配置springboot项目,通过日志配置,使之输出自定义日志. 详细文章:https://blog.csdn.net/gebitan505/article/details/701421 ...
- SpringBoot日志管理
一.简介 小张:开发一个大型系统:1.System.out.println(""):将关键数据打印在控制台:去掉?写在一个文件?2.框架来记录系统的一些运行时信息:日志框架 : z ...
- SpringBoot日志处理之Logback
日志处理是一个正式项目必备的功能,日志要能够根据时间.类型等要素,根据指定格式来保存指定的日志,方便我们观察程序运行情况.定位程序bug. SpringBoot中推荐使用Logback日志框架. 本节 ...
- springboot 2.0 配置 logback
springboot2.0默认已经引入日志jar依赖,所以直接配置日志信息就可以了. 在application.properties中加入: logging.config=classpath:logb ...
- MDC到日志管理配置
MDC是什么? 第一次接触MDC,很蒙圈.看看导入的包import org.slf4j.Logger;import org.slf4j.LoggerFactory:import org.slf4j.M ...
- nginx 日志管理配置详解
nginx的日志管理 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$statu ...
随机推荐
- Sublime Text 模版插件: SublimeTmpl
开发者的插件介绍页面:http://www.fantxi.com/blog/archives/sublime-template-engine-sublimetmpl/ 写了个sublime的模版插件, ...
- Yii2发送邮箱总结
修改配置文件,普通版在(config/web.php).高级版默认配置在/common/config/main-local.php 'components' => [ 'mailer' => ...
- WPF-datagrid右键菜单时先选中某行
如题,很多时候,在datagrid中右键菜单时,当前没有选中行. 这就很恶心了对不,如果我是对某一行进行处理,难道还要先用左键选中这一行? 博主就被这个恶心了一把,然后在大佬博客帮助下找到了一个方法, ...
- ssm异步上传图片
1.首先引入jersey jar包 2.在配置文件中,配置允许上传图片 3.修改增加商品页面 <%@ page language="java" import=" ...
- ios开发之 --调用系统的页面,显示中文
在开发的过程中,我们会接入很多的sdk,比如相机,相册,是否允许获取位置等,大多数的情况下是默认显示英文, 在plist文件里面添加一个key就可以了,如下图: key:Localization na ...
- 【BZOJ3416】Poi2013 Take-out 栈
[BZOJ3416]Poi2013 Take-out Description 小F喜欢玩一个消除游戏——take-out 保证k+1|n,保证输入数据有解这是一个单人游戏 游戏者的目标是消除初始时给定 ...
- Arduino开发版学习计划--直流电机
代码来源:http://www.cnblogs.com/starsnow/p/4579547.html // --------------------------------------------- ...
- DocumentFragment 不支持 innerHTML
在需要多次使用 innerHTML 的地方,一般是推荐用 DocumentFragment 来缓存,最后一次性插入 body,从而减少浏览器的渲染,提高性能,不过最近也发现一个 bug: Docume ...
- k8s滚动升级
为了服务升级过程中提供可持续的不中断的服务,Kubernetes 提供了rolling update机制,具体配置需要修改对应服务的yaml文件 参数解析: minReadySeconds: 100 ...
- Struts2中的拦截器详解
exception:异常拦截器,拦截异常aliasservletConfig18nprepare:预备拦截器,这个拦截器就是为了ModelDriven准备对象的,若Action类实现了preparab ...