<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property resource="config.properties" />
<property name="log.base" value="${logback.logbase.name}" />
<jmxConfigurator />
<!--输出到控制台,方便调试,应用时可以关闭 -->
<appender name="ConsoleAppender" class="ch.qos.logback.core.ConsoleAppender">
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>%date [%thread] %-5level %logger{80} - %msg%n</pattern>
<charset>UTF-8</charset>
</encoder>
</appender>
<!-- 文件输出日志 (文件大小策略进行文件输出,超过指定大小对文件备份) -->
<appender name="allFileLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<Encoding>UTF-8</Encoding>
<File>${log.base}.all.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${log.base}.%d{yyyy-MM-dd}.all.log.zip</FileNamePattern>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>100MB</MaxFileSize>
</triggeringPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%date [%thread] %-5level %logger{80} - %msg%n</pattern>
</layout>
</appender>
<!-- 文件输出日志 (文件大小策略进行文件输出,超过指定大小对文件备份) -->
<appender name="infoFileLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<Encoding>UTF-8</Encoding>
<File>${log.base}.info.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${log.base}.%d{yyyy-MM-dd}.info.log.zip</FileNamePattern>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>100MB</MaxFileSize>
</triggeringPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%date [%thread] %-5level %logger{80} - %msg%n</pattern>
</layout>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="warnFileLog"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<Encoding>UTF-8</Encoding>
<File>${log.base}.warn.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${log.base}.%d{yyyy-MM-dd}.warn.log.zip</FileNamePattern>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>100MB</MaxFileSize>
</triggeringPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%date [%thread] %-5level %logger{80} - %msg%n</pattern>
</layout>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>WARN</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="errorFileLog"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<Encoding>UTF-8</Encoding>
<File>${log.base}.error.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${log.base}.%d{yyyy-MM-dd}.error.log.zip</FileNamePattern>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>100MB</MaxFileSize>
</triggeringPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%date [%thread] %-5level %logger{80} - %msg%n</pattern>
</layout>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>ERROR</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<appender name="debugFileLog"
class="ch.qos.logback.core.rolling.RollingFileAppender">
<Encoding>UTF-8</Encoding>
<File>${log.base}.debug.log</File>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<FileNamePattern>${log.base}.%d{yyyy-MM-dd}.debug.log.zip</FileNamePattern>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>100MB</MaxFileSize>
</triggeringPolicy>
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>%date [%thread] %-5level %logger{80} - %msg%n</pattern>
</layout>
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>DEBUG</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
</appender>
<logger name="ch.qos.logback">
<level value="WARN" />
</logger>
<logger name="org.apache">
<level value="ERROR" />
</logger>
<logger name="org.springframework">
<level value="WARN" />
</logger>
<logger name="org.springframework.data.mongodb">
<level value="INFO" />
</logger>
<logger name="com.xx">
<level value="DEBUG" />
</logger>
<logger name="com.xx.protocol.service">
<level value="INFO" />
</logger>
<root>
<appender-ref ref="ConsoleAppender" level="DEBUG"/>
<appender-ref ref="allFileLog" level="INFO" />
<appender-ref ref="infoFileLog" level="INFO" />
<appender-ref ref="warnFileLog" level="WARN" />
<appender-ref ref="errorFileLog" level="ERROR" />
<appender-ref ref="debugFileLog" level="DEBUG" />
</root>
</configuration>
分享到:
相关推荐
Logback 提供了强大的日志管理能力,包括分目录和分级别存储日志。通过合理的配置,我们可以实现定制化的日志记录策略,提高日志的可读性和分析效率。案例中的文档和注释是学习和实践这一功能的重要资源,值得深入...
logback是由log4j创始人Ceki Gülcü开发的,目前广泛应用于Java项目中,它包含三个核心模块:logback-core(基础组件),logback-classic(log4j的改良版,支持SLF4J接口)和logback-access(与Servlet容器集成,...
LogBack 是一个日志框架,它是 Log4j 的后继者,由 Log4j 的创始人 Ceki Gülcü 与 Sébastien Pennec 共同创建。本文将探讨十个理由,解释为什么你应该从 log4j 迁移到 LogBack。 1. **性能提升**:LogBack 在...
《Logback配置文件根据LEVEL级别将日志分类保存到不同文件》 日志管理是软件开发中的重要一环,它能帮助开发者追踪程序运行状态,定位问题,优化性能。Logback是一个广泛使用的日志框架,它允许我们高效地处理日志...
1. 性能提升:Logback比Log4j更快,因为它减少了对象创建和内存分配,优化了日志事件处理流程。 2. 动态配置:Logback支持通过JMX(Java Management Extensions)进行动态配置,使得在运行时调整日志级别成为可能。 ...
在Java世界里,Logback是一款高效、可配置的日志记录框架,由Ceki Gülcü(也是log4j的创始人)创建。Logback致力于提供比log4j更快的性能和更低的内存消耗,同时继承了log4j的灵活性和丰富的特性。 **Logback组件...
logback是log4j的作者Ceki Gülcü创建的一个更现代、性能更优的日志框架。在这里,我们将深入探讨logback的优势和特性,以及为什么它在Java开发中被广泛推荐。 1. 性能优势:logback在设计时就考虑了性能,它的...
Logback 是一款广泛使用的日志记录框架,由 Ceki Gülcü 创建,作为其先前作品 Log4j 的改进版。这个压缩包包含了实现 Logback 功能所需的几个关键组件,以及一个配置文件,使得用户能够方便地管理和记录应用程序的...
Logback是由Ceki Gülcü创建的,作为Log4j的后继者,它在性能和可配置性方面都有显著提升。Logback分为三个主要组件:`logback-core`、`logback-classic`和`logback-access`。`logback-core`是基础模块,提供了日志...
Logback 是一个流行的 Java 日志框架,由 Ceki Gülcü 创建,他是早期日志框架 Log4j 的主要开发者。Logback 是为了提供更高效、更灵活的日志记录解决方案而设计的,它不仅继承了 Log4j 的优点,还解决了一些性能和...
Logback 是一个在Java应用程序中广泛使用的日志记录框架,它是对早期的log4j框架的一个升级和扩展。Logback 提供了高效、灵活的日志记录解决方案,支持多种日志级别,如DEBUG、INFO、WARN、ERROR等,帮助开发者调试...
首先,Logback是由Ceki Gülcü创建的,它是Log4j的继任者,提供了更高的性能和更丰富的特性。在Spring Boot中,我们可以通过简单的配置就能启用和定制Logback。 1. **引入依赖**:在`pom.xml`文件中,我们需要添加...
logback.jar就是一款强大的日志框架,由Ceki Gülcü(也是log4j的创始人)创建,它是log4j的后继者,设计目标是提高性能和简化配置。这个压缩包文件"**logback-1.0.9.jar**"是logback的1.0.9版本,它包含了所有你...
Logback 支持滚动和归档日志文件,可以按照日期或大小自动创建新的日志文件,避免单个日志文件过大。同时,它还提供了一些安全特性,如限制日志文件大小,防止恶意用户通过生成大量日志文件消耗磁盘空间。 **总结**...
Logback和log4j都定义了多个级别,如DEBUG、INFO、WARN、ERROR和FATAL,以及特殊级别OFF和ALL。在实际使用中,通常只使用DEBUG、INFO、WARN和ERROR四个级别。日志级别决定了哪些级别的日志会被输出。例如,如果设置...
logback 的默认配置如果配置文件 logback-test.xml 和 logback.xml 都不存在,那么 logback 默认地会调用 BasicConfigurator,创建一个最小化配置。最小化配置由一个关联到根 logger 的 ConsoleAppender 组成。输出...
2. **配置Logback**: 创建`logback.xml`配置文件,该文件定义了日志的级别、输出目的地、格式等。一个简单的配置示例: ```xml <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> ...
一种方法是在代码中创建一个接口,允许外部调用来改变日志级别。以下是一个简单的示例: ```java @RestController public class LogController { private static Logger logger = LoggerFactory.getLogger...
Logback 是一款广泛使用的 Java 日志框架,由 Ceki Gülcü 创建,作为其先前作品 Log4j 的继任者。Logback 主要分为三个组件:logback-core、logback-classic 和 logback-access。logback-core 提供基础架构,而 ...
SLF4J不提供具体的日志实现,而是作为一个统一的接口,使得开发者可以在不修改代码的情况下更换不同的日志实现,如Logback、Log4j等。 `logback-core-1.2.3.jar`是Logback的核心库,包含了日志处理的基本功能,如...