<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!--
CONSOLE :表示当前的日志信息是可以输出到控制台的。
-->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<!--输出流对象 默认 System.out 改为 System.err-->
<target>System.out</target>
<encoder>
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度
%msg:日志消息,%n是换行符-->
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] %c [%thread] : %msg%n</pattern>
</encoder>
</appender>
<!-- File是输出的方向通向文件的 -->
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
<charset>utf-8</charset>
</encoder>
<!--日志输出路径-->
<file>E:/code/itheima-data.log</file>
<!--指定日志文件拆分和压缩规则-->
<rollingPolicy
class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--通过指定压缩文件名称,来确定分割文件方式-->
<fileNamePattern>E:/code/itheima-data2-%d{yyyy-MMdd}.log%i.gz</fileNamePattern>
<!--文件拆分大小-->
<maxFileSize>1MB</maxFileSize>
</rollingPolicy>
</appender>
<!--
level:用来设置打印级别,大小写无关:TRACE, DEBUG, INFO, WARN, ERROR, ALL 和 OFF
, 默认debug
<root>可以包含零个或多个<appender-ref>元素,标识这个输出位置将会被本日志级别控制。
-->
<root level="ALL">
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE" />
</root>
</configuration>
日志框架+Logback的jar包和配置文件
需积分: 0 37 浏览量
更新于2024-03-17
收藏 695KB ZIP 举报
日志框架在软件开发中扮演着至关重要的角色,它帮助我们记录程序运行过程中的信息,以便于调试、问题排查和性能分析。Logback是Java领域中广泛应用的日志框架之一,由Ceki Gülcü(同时也是Log4j的创始人)创建。这个压缩包包含了Logback的核心组件和相关依赖,让我们来详细了解一下它们的用途和配置。
`logback-classic-1.2.3.jar` 是Logback的经典实现,它依赖于`slf4j-api-1.7.26.jar`。SLF4J(Simple Logging Facade for Java)是一个用于各种日志框架的抽象层,允许开发者在部署时选择自己喜欢的日志实现。`logback-classic`是SLF4J的一个绑定,实现了SLF4J接口,并将日志记录委托给Logback引擎,提供高效的日志处理。
`logback-core-1.2.3.jar` 则是Logback的基础组件,包含日志事件的处理、配置解析以及Appender和Layout等核心功能。它是Logback-classic的基础,提供了日志系统的核心实现。
`logback.xml` 是Logback的配置文件,这是定义日志行为的主要方式。通过修改此文件,我们可以控制日志的级别(如DEBUG、INFO、WARN、ERROR等)、输出目的地(如控制台、文件、数据库等)以及格式。一个简单的`logback.xml`配置可能如下所示:
```xml
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<root level="info">
<appender-ref ref="STDOUT" />
</root>
</configuration>
```
在这个配置中,`STDOUT` appender将日志输出到控制台,`%d`、`%thread`、`%-5level`、`%logger{36}` 和 `%msg` 分别代表日期、线程、日志级别、logger名称和日志消息。`root`元素指定了全局的日志级别为`info`,意味着所有logger的默认级别都是`info`,除非有更具体的设置。
Logback支持多种高级特性,例如日志文件大小限制、自动滚动、异步日志记录等。例如,你可以添加一个File Appender来将日志写入文件,并配置文件大小和保留策略:
```xml
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/app.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>logs/app.%d{yyyy-MM-dd}.log</fileNamePattern>
<maxHistory>30</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
```
在这个例子中,日志文件会根据日期滚动,最多保留30天的历史记录。
Logback是一个强大的日志框架,通过`logback-classic`、`logback-core`和`slf4j-api`这些组件,以及相应的配置文件,开发者可以轻松地管理和控制应用的日志输出。理解并正确配置Logback对于任何Java项目都是至关重要的,因为它直接影响到问题定位的效率和开发团队的工作流程。
懒虫啊~
- 粉丝: 116
- 资源: 2
最新资源
- 量化交易-RSI策略(vectorbt实现)
- Java答题期末考试必须考
- 组播报文转发原理的及图解实例
- 青龙燕铁衣-数据集.zip
- 指针扫描和内存遍历二合一工具
- 基于JavaScript的在线考试系统(编号:65965158)(1).zip
- 五相电机双闭环矢量控制模型-采用邻近四矢量SVPWM-MATLAB-Simulink仿真模型包括: (1)原理说明文档(重要):包括扇区判断、矢量作用时间计算、矢量作用顺序及切时间计算、PWM波的生成
- Linux下的cursor安装包
- springboot-教务管理系统(编号:62528147).zip
- 3dmmods_倾城系列月白_by_白嫖萌新.zip