使用logback理由:

1、性能提升

2、自动重新加载配置文件

3、自动去除旧的日志文件 (TimeBasedRollingPolicy)

配置:

1、pom.xml添加依赖(logback-core-1.1.2.jar)

1 <dependency>
2     <groupId>ch.qos.logback</groupId>
3     <artifactId>logback-classic</artifactId>
4     <version>1.0.6</version>
5 </dependency>

百度网盘:https://pan.baidu.com/s/19VGCaI9fTm5k0PR5kUWa5Q

密码:eld7

2、配置文件

说明:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <configuration
 3     xmlns="http://ch.qos.logback/xml/ns/logback"
 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 5     xsi:schemaLocation="http://ch.qos.logback/xml/ns/logback https://raw.githubusercontent.com/enricopulatzo/logback-XSD/master/src/main/xsd/logback.xsd">
 6     <property name="LOG_HOME" value="tp/log"/>
 7     <!-- 输出到控制台 -->
 8     <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender" >
 9         <!-- 输出的格式 -->
10         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
11             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:  %msg%n</pattern>
12         </encoder>
13     </appender>
14
15     <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
16         <!-- 配置滚动的策略 -->
17         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
18             <!-- 日志名称的格式 -->
19             <fileNamePattern>${LOG_HOME}/logback.log.%d{yyyy-MM-dd}</fileNamePattern>
20             <!-- 保存的最长时间:天数 -->
21             <MaxHistory>1</MaxHistory>
22         </rollingPolicy>
23         <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
24             <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{50}:  %msg%n</pattern>
25         </encoder>
26     </appender>
27
28     <!--
29     注意:
30     level属性也可以直接写在logger上,如:
31     <logger name="ws.log.logback.LogbackTest" additivity="false" level="INFO">
32         <appender-ref ref="STDOUT" />
33     </logger>
34     -->
35     <logger name="ws.log.logback.LogbackTest" additivity="false">
36         <level value="INFO" />
37         <appender-ref ref="STDOUT" />
38     </logger>
39
40     <!-- 相当于logger元素,只是name值已经确定为root了 -->
41     <root level="warn">
42         <appender-ref ref="STDOUT" />
43     </root>
44 </configuration>

实际配置:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <configuration scan="true" scanPeriod="30 seconds">
 3     <!-- <property name="position.log.dir" value="../logs" /> -->
 4     <property name="position.log.dir" value="D:/logs/0817" />
 5     <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
 6         <encoder>
 7             <pattern>[%d{yyyy-MM-dd HH:mm:ss}][%-5level][%logger:%L] %m%n
 8             </pattern>
 9         </encoder>
10     </appender> <!---->
11     <!-- weather项目日志 -->
12     <appender name="position_appender"
13         class="ch.qos.logback.core.rolling.RollingFileAppender">
14         <File>${position.log.dir}/position.log</File>
15         <encoder>
16             <pattern>[%d{yyyy-MM-dd HH:mm:ss}][%-5level][%logger:%L][%X{cguid}]
17                 %m%n</pattern>
18         </encoder>
19         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
20             <fileNamePattern>${position.log.dir}/position.log.%d{yyyy-MM-dd}
21             </fileNamePattern>
22         </rollingPolicy>
23     </appender>
24     <!-- 性能监控 -->
25     <appender name="Performance_Monitoring"
26         class="ch.qos.logback.core.rolling.RollingFileAppender">
27         <File>${position.log.dir}/monitoring.log</File>
28         <encoder>
29             <pattern>%m%n</pattern>
30         </encoder>
31         <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
32             <fileNamePattern>${position.log.dir}/monitoring.log.%d{yyyy-MM-dd}
33             </fileNamePattern>
34         </rollingPolicy>
35     </appender>
36
37     <logger name="richinfo.frame" level="DEBUG" additivity="false">
38         <appender-ref ref="CONSOLE" />
39     </logger>
40     <logger name="com.richinfo" level="DEBUG" additivity="false">
41         <appender-ref ref="CONSOLE" />
42     </logger>
43     <logger name="Performance_monitoring" level="DEBUG" additivity="false">
44         <appender-ref ref="Performance_Monitoring" />
45     </logger>
46
47
48     <!-- <root level="debug">
49         <appender-ref ref="CONSOLE" />
50     </root> -->
51 </configuration>

3、代码实现

 1 public class LogbackTest {
 2
 3     private static final Logger LOGGER = LoggerFactory.getLogger(LogbackTest.class);
 4
 5     public static void main(String[] args) {
 6         LOGGER.trace("logback的--trace日志--输出了");
 7         LOGGER.debug("logback的--debug日志--输出了");
 8         LOGGER.info("logback的--info日志--输出了");
 9         LOGGER.warn("logback的--warn日志--输出了");
10         LOGGER.error("logback的--error日志--输出了");
11     }
12
13 }

自动重新加载配置文件

转载于:https://www.cnblogs.com/zhuziyu/p/8919414.html

logback配置(与log4j对比)相关推荐

  1. log4j配置以及logback配置

    logback配置: logback.xml <?xml version="1.0" encoding="UTF-8"?><configura ...

  2. Log slf4j+logback配置

    一. 简单配置 1.添加依赖 <dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api ...

  3. 聊聊flink的logback配置

    序 本文主要研究一下flink的logback配置 client端pom文件配置 <dependencies><!-- Add the two required logback de ...

  4. SpringBoot默认日志logback配置解析

    SpringBoot默认日志logback配置解析 前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢 如何引入日志? 日志输出格式 ...

  5. Spring Boot Logback 配置详解

    1.Logback简介 Logback是由log4j创始人设计的又一个开源日志组件. 相比于log4j,Logback重写了内核,在一些关键执行路径上性能提升10倍以上.而且logback不仅性能提升 ...

  6. Spring Boot:(六)默认日志logback配置解析

    Spring Boot:(六)默认日志logback配置解析 前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢 如何引入日志? 日 ...

  7. slf4j如何进行logback配置呢?

    转自: slf4j如何进行logback配置呢? slf4j简介: slf4j,simple logging facade for java的缩写,翻译为java的简单日志外观.slf4j是一个开源项 ...

  8. 1.Slf4j使用log4j的配置参数、配置sl4j/log4j输出到不同的文件、案例

    1.Slf4j使用log4j的配置参数 转自:https://blog.csdn.net/yx0628/article/details/83214387 slf4j,即简单日志门面(Simple Lo ...

  9. java log4j 配置_Java:log4j与log4j.properties的配置说明

    [来源:Java |作者:Java |时间:2007-7-20 |去论坛]--在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包- ...

最新文章

  1. Javascript中的自执行匿名函数
  2. 获取当前横竖屏_Chrome扩展程序一键生成网页骨架屏
  3. 编译出错libicui18n.so.58: undefined reference to `__cxa_throw_bad_array_new_length@CXXABI_1.3.8‘
  4. linux编程 fmemopen函数打开一个内存流 使用FILE指针进行读写访问
  5. 为什么说Lucene不好
  6. Python-OpenCV 笔记5 -- 几何变换(Geometric Transformations)
  7. ConcurrentHashMap的源码分析-tabAt
  8. 软 件 学 院 实践环节报告
  9. (83)FPGA仿真完成激励(finish)
  10. onvif学习笔记9:OSD命令学习
  11. 2020 r7000 龙腾屏幕_R7000和R7000P到底有什么差别,差多少?
  12. 使用VS2012 C++ 进行单元测试
  13. Linux 十四 修改文件操作权限 用户文件权限详解
  14. 扣费克星 1.72 更新说明
  15. 第二次作业-时事点评
  16. Talib.MAVP中的periods参数意义
  17. Linux的关键字搜索
  18. TikTok引流独立站的方式
  19. JVM分代回收机制和垃圾回收算法
  20. 移动开发之设计模式- 中介者模式(IOSAndroid)

热门文章

  1. Ansible roles角色实战案例:httpd nginx memcached mysql
  2. win10系统winsxs文件夹该如何删除
  3. Scala集合的常用方法:sum/max/min/product
  4. Scala函数的可变参数和参数默认值及带名参数
  5. synchronized与java.util.concurrent.locks.Lock的相同之处和不同之处
  6. 如何使用java程序操作ActiveMQ
  7. Unable to open socket file: target process not responding or HotSpot VM not loaded The -F option can
  8. 5.3 计算机网络传输层之TCP协议(tcp协议特点、tcp报文段首部格式、tcp连接---三次握手、tcp连接释放---四次握手)
  9. lisp如何将度分秒转换为弧度_地学中常用度、度分、度分秒,弧度、角度在MATLAB中的转换...
  10. Oracle 原理:UNDO表空间