几种常见的日志

  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

(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).生成日志

Slf4j使用

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

Springboot 日志管理配置logback-spring.xml的更多相关文章

  1. springboot日志管理+集成log4j

    sprongboot使用的默认日志框架是Logback. 可以在application.properties配置简单日志属性,也可以单独配置logback.xml格式,还可以使用log4j来管理. 下 ...

  2. Spring Boot 2 中的默认日志管理与 Logback 配置详解

    Spring Boot在所有内部日志中使用Commons Logging,但是对底层日志的实现是开放的.在Spring Boot生态中,为Java Util Logging .Log4J2 和Logb ...

  3. spring boot日志管理配置

    spring Boot在所有内部日志中使用Commons Logging,但是默认配置也提供了对常用日志的支持,如:Java Util Logging,Log4J,Log4J2和Logback.每种L ...

  4. spring boot 日志文件配置(logback-spring.xml)亲测可用!

    问题描述:如何配置springboot项目,通过日志配置,使之输出自定义日志. 详细文章:https://blog.csdn.net/gebitan505/article/details/701421 ...

  5. SpringBoot日志管理

    一.简介 小张:开发一个大型系统:1.System.out.println(""):将关键数据打印在控制台:去掉?写在一个文件?2.框架来记录系统的一些运行时信息:日志框架 : z ...

  6. SpringBoot日志处理之Logback

    日志处理是一个正式项目必备的功能,日志要能够根据时间.类型等要素,根据指定格式来保存指定的日志,方便我们观察程序运行情况.定位程序bug. SpringBoot中推荐使用Logback日志框架. 本节 ...

  7. springboot 2.0 配置 logback

    springboot2.0默认已经引入日志jar依赖,所以直接配置日志信息就可以了. 在application.properties中加入: logging.config=classpath:logb ...

  8. MDC到日志管理配置

    MDC是什么? 第一次接触MDC,很蒙圈.看看导入的包import org.slf4j.Logger;import org.slf4j.LoggerFactory:import org.slf4j.M ...

  9. nginx 日志管理配置详解

    nginx的日志管理 log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$statu ...

随机推荐

  1. 设置两个WdatePicker的开始时间小于结束时间,结束时间大于开始时间

    contract_start_date_id为开始时间ID contract_end_date_id为结束时间ID $("#contract_start_date_id").bin ...

  2. DBA面试题及解答

    一:SQL tuning 类 1:列举几种表连接方式答:merge join,hash join,nested loop Hash join散列连接是CBO 做大数据集连接时的常用方式,优化器使用两个 ...

  3. Rename a local and remote branch in git

    If you have named a branch incorrectly AND pushed this to the remote repository follow these steps b ...

  4. 程序阅读:简单C++学生信息管理系统

    课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 [程序阅读]阅读并执行以下的程序,找出当中出现 ...

  5. iOS 开发之--使用AFNetWorking3.1.0上传单张/多张图片

    在调试接口的时候,遇到一个问题,就是多张图片上传的时候,不管我上传多少张,只会上传成功最后一张,也就是说只有一张图片上传成功了,针对这个问题,通过查找资料,找到了原因,首先,在上传的过程中,我们获取到 ...

  6. Hadoop单机安装配置过程:

    1. 首先安装JDK,必须是sun公司的jdk,最好1.6版本以上. 最后java –version 查看成功与否. 注意配置/etc/profile文件,在其后面加上下面几句: export JAV ...

  7. 一、Android Studio入门——Eclipse快捷键配置

    [Studio总体介绍] 第一个是运行. 第二个是Debug.  是Studio的设置界面.   工程的配置.   Sync,更改配置.导入JAR包,都会去Sync一次.   SDK Manager. ...

  8. Android得到SD卡文件夹大小以及删除文件夹操作

    float cacheSize = dirSize(new File(Environment.getExternalStorageDirectory() + AppConstants.APP_CACH ...

  9. vue模糊查询

    模糊查询匹配结果 <!-- 搜索框 --> <div class="search-wrapper"> <input type="text&q ...

  10. CentOS开启telnet连接

    开启telnet连接通道 yum安装telnet yum -y install telnet-server* 关闭防火墙 /etc/init.d/iptables stop 编辑配置文件 vim /e ...