logback配置(与log4j对比)
使用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对比)相关推荐
- log4j配置以及logback配置
logback配置: logback.xml <?xml version="1.0" encoding="UTF-8"?><configura ...
- Log slf4j+logback配置
一. 简单配置 1.添加依赖 <dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api ...
- 聊聊flink的logback配置
序 本文主要研究一下flink的logback配置 client端pom文件配置 <dependencies><!-- Add the two required logback de ...
- SpringBoot默认日志logback配置解析
SpringBoot默认日志logback配置解析 前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢 如何引入日志? 日志输出格式 ...
- Spring Boot Logback 配置详解
1.Logback简介 Logback是由log4j创始人设计的又一个开源日志组件. 相比于log4j,Logback重写了内核,在一些关键执行路径上性能提升10倍以上.而且logback不仅性能提升 ...
- Spring Boot:(六)默认日志logback配置解析
Spring Boot:(六)默认日志logback配置解析 前言 今天来介绍下Spring Boot如何配置日志logback,我刚学习的时候,是带着下面几个问题来查资料的,你呢 如何引入日志? 日 ...
- slf4j如何进行logback配置呢?
转自: slf4j如何进行logback配置呢? slf4j简介: slf4j,simple logging facade for java的缩写,翻译为java的简单日志外观.slf4j是一个开源项 ...
- 1.Slf4j使用log4j的配置参数、配置sl4j/log4j输出到不同的文件、案例
1.Slf4j使用log4j的配置参数 转自:https://blog.csdn.net/yx0628/article/details/83214387 slf4j,即简单日志门面(Simple Lo ...
- java log4j 配置_Java:log4j与log4j.properties的配置说明
[来源:Java |作者:Java |时间:2007-7-20 |去论坛]--在强调可重用组件开发的今天,除了自己从头到尾开发一个可重用的日志操作类外,Apache为我们提供了一个强有力的日志操作包- ...
最新文章
- Javascript中的自执行匿名函数
- 获取当前横竖屏_Chrome扩展程序一键生成网页骨架屏
- 编译出错libicui18n.so.58: undefined reference to `__cxa_throw_bad_array_new_length@CXXABI_1.3.8‘
- linux编程 fmemopen函数打开一个内存流 使用FILE指针进行读写访问
- 为什么说Lucene不好
- Python-OpenCV 笔记5 -- 几何变换(Geometric Transformations)
- ConcurrentHashMap的源码分析-tabAt
- 软 件 学 院 实践环节报告
- (83)FPGA仿真完成激励(finish)
- onvif学习笔记9:OSD命令学习
- 2020 r7000 龙腾屏幕_R7000和R7000P到底有什么差别,差多少?
- 使用VS2012 C++ 进行单元测试
- Linux 十四 修改文件操作权限 用户文件权限详解
- 扣费克星 1.72 更新说明
- 第二次作业-时事点评
- Talib.MAVP中的periods参数意义
- Linux的关键字搜索
- TikTok引流独立站的方式
- JVM分代回收机制和垃圾回收算法
- 移动开发之设计模式- 中介者模式(IOSAndroid)
热门文章
- Ansible roles角色实战案例:httpd nginx memcached mysql
- win10系统winsxs文件夹该如何删除
- Scala集合的常用方法:sum/max/min/product
- Scala函数的可变参数和参数默认值及带名参数
- synchronized与java.util.concurrent.locks.Lock的相同之处和不同之处
- 如何使用java程序操作ActiveMQ
- Unable to open socket file: target process not responding or HotSpot VM not loaded The -F option can
- 5.3 计算机网络传输层之TCP协议(tcp协议特点、tcp报文段首部格式、tcp连接---三次握手、tcp连接释放---四次握手)
- lisp如何将度分秒转换为弧度_地学中常用度、度分、度分秒,弧度、角度在MATLAB中的转换...
- Oracle 原理:UNDO表空间