Springboot 日志管理配置logback-spring.xml

摘要:
Log4j和Logback是具体的日志实现方案。它可以简单地理解为接口和接口的实现。调用只需要关注接口而非具体实现即可实现解耦;常用的组合模式是Slf4j和Logback的组合,以及CommonsLogging和Log4j的组合。以下是Slf4j和Logback:Springboot日志管理配置Logback-spring.xml.application的用法。yml配置1#日志目录2logging:3path:home/logs/4文件:${logging.path}springboot。logback-spring XML配置1141516%d{HH:mm:ss.ss}%-5level%logger{36}[%line]-%msg%n17181202223˂!

几种常见的日志

  1. Log4j:是最早的日志框架,是apach旗下的,可以单独使用,也可配合日志框架JCL使用;
  2. Log4j2:apach旗下的关于log4j的升级版;
  3. Logback:是基于slf4j接口实现的一套日志框架组件;(Logback是由log4j创始人设计的又一个开源日志组件。)
  4. JUL(java utillog):仿log4j实现的日志框架,是sun旗下的,(也就是在我们普遍使用的jdk中);
  5. Commons loggin:是一套日志接口(apache);
  6. Slf4j:也是一套日志接口; 

              Commons Logging和Slf4j是日志门面(门面模式是软件工程中常用的一种软件设计模式,也被称为正面模式、外观模式。它为子系统中的一组接口提供一个统一的高层接          口,使          得子系统更容易使用)。log4j和Logback则是具体的日志实现方案。可以简单的理解为接口与接口的实现,调用这只需要关注接口而无需关注具体的实现,做到解耦;
   比较常用的组合使用方式是Slf4j与Logback组合使用,Commons Logging与Log4j组合使用。

     下面是Slf4j与Logback使用:

Springboot 日志管理配置logback-spring.xml

Springboot 日志管理配置logback-spring.xml第1张

(1).application.yml配置

1 # 日志目录
2 logging:
3   path: home/logs/
4   file: ${logging.path}springboot

(2).logback-spring.xml配置

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 -->
 3 <!-- scan:当此属性设置为true时,配置文档如果发生改变,将会被重新加载,默认值为true -->
 4 <!-- scanPeriod:设置监测配置文档是否有修改的时间间隔,如果没有给出时间单位,默认单位是毫秒。
 5                  当scan为true时,此属性生效。默认的时间间隔为1分钟。 -->
 6 <!-- debug:当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。 -->
 7 
 8 <configuration debug="true">
 9     <!-- name的值是变量的名称,value的值时变量定义的值。通过定义的值会被插入到logger上下文中。定义后,可以使“${}”来使用变量。 -->
10     <!--<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}/}spring.log}"/>-->
11     <property name="LOG_FILE" value="${LOG_FILE}"/>
12 
13     <!--1. 输出到控制台-->
14     <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
15         <encoder>
16             <pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} [%line] - %msg%n</pattern>
17         </encoder>
18     </appender>
19 
20     <!--2. 输出到文档-->
21     <!-- 2.1 level为 DEBUG 日志,时间滚动输出  -->
22     <appender name="R" class="ch.qos.logback.core.rolling.RollingFileAppender">
23         <!-- 正在记录的日志文档的路径及文档名 -->
24         <!--<File>${LOG_FILE}</File>-->
25         <!--日志文档输出格式-->
26         <encoder>
27             <pattern>%d{HH:mm:ss.SSS} %-5level %logger{36} [%line] - %msg%n</pattern>
28         </encoder>
29         <!-- 日志记录器的滚动策略,按日期,按大小记录 -->
30         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
31             <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.log
32             </fileNamePattern>
33             <maxHistory>15</maxHistory>
34         </rollingPolicy>
35     </appender>
36 
37     <logger name="noModule" level="info"/>
38     <logger name="org.codehaus" level="info"/>
39     <logger name="org.apache" level="info"/>
40     <logger name="org.springframework" level="info"/>
41     <logger name="druid.sql" level="info"/>
42     <logger name="com.alibaba" level="debug">
43         <appender-ref ref="stdout"/>
44     </logger>
45     <logger name="com.springboot" level="debug"/>
46     <root level="info">
47         <appender-ref ref="stdout"/>
48         <appender-ref ref="R"/>
49     </root>
50 </configuration>

(3).生成日志

Springboot 日志管理配置logback-spring.xml第2张

Slf4j使用

1 (1) public final class InStockController {
2  
3      private static final Logger LOGGER = LoggerFactory.getLogger(InStockController.class);
4  }
5  
6 
7  
8 (2)  方法中
9   LOGGER.info("xxxxxxxx");

免责声明:文章转载自《Springboot 日志管理配置logback-spring.xml》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇[BZOJ2591][Usaco 2012 Feb]Nearby Cowsandroid 开发进程 0.37 room数据存储的使用下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

logback详细配置(三)

转自:http://blog.csdn.net/haidage/article/details/6794540 <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NEUTRAL,ACCEPT其中之一。返回DENY,日志将立即被抛弃不再经过其他过滤器;返回NEUTRAL,有序列表里的下个过滤器过接着处理日志;返回ACCEPT...

SpringBoot 学集 (第三章) 日志框架

写在前面:分享技术,共同进步,有不足请见谅,相关意见可评论告知 ~ 编程路漫漫,学习无止尽! 目录 日志框架 SLF4j使用 统一日志记录 SpringBoot日志关系总结 日志框架的使用; 日志的级别 SpringBoot修改日志的默认配置 日志输出格式: 指定配置 常见错误及其异常①log4j中Logger.getLogger(...

Spring boot——logback.xml 配置详解(三)&amp;lt;appender&amp;gt;

阅读目录 1 appender 2  encoder 文章转载自:http://aub.iteye.com/blog/1101260,在此对作者的辛苦表示感谢! 回到顶部 1 appender<appender>是<configuration>的子节点,是负责写日志的组件。 <appender>有两个必要属...

Log4j 日志

日志是应用软件中不可缺少的部分,Apache的开源项目Log4j是一个功能强大的日志组件,提供方便的日志记录。Log4j是Apache基金会的一个项 目,Log4j是一个基于Java的日志组件,Log4j是Java的几个日志框架中的一种。日志记录器(Logger)是日志处理的核 心组件。log4j具有6种一般的日志级别(Level)。 日志记录器(Logg...

[日志log] 常用log日志记录方式对比和详解

1、现在都有哪些记录日志的方法 A.java.util.logging.Logger - 使用详解 B.log4j - 使用详解 C.SLF4J(simple logging Facade for Java)-使用详解 SLF4J是一个通用的日志框架,它并不是一种具体的日志系统,而是一个用户日志系统的facade,允许用户在部署最终应用时方便的变更其日...

SpringBoot如何使用Slf4j日志与logback-spring.xml配置详解

一、SpringBoot如何使用Slf4j日志   springboot是默认使用slf4j进行日志管理的,所以集成也比较方便。 1、添加依赖 (1)spring-boot-starter-web依赖,用于自动导入日志框架的依赖 <dependency> <groupId>org.springframework.boot&l...