logback 配置 不同level日志输出到不同文件 按天 大小拆分

本文介绍了如何使用logback配置,将不同级别的日志(如ERROR, WARN, INFO)输出到不同的文件,并按天和大小进行拆分,实现高效日志管理和存储。" 129548744,10971543,2023中职网络安全竞赛:attack.pcapng数字取证分析详解,"['网络安全', '网络取证', '数据包分析', 'TCP/IP', '服务器安全']

logback.xml

<!-- Logback configuration. See http://logback.qos.ch/manual/index.html -->
<configuration scan="true" scanPeriod="10 seconds">

	<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
	
		 <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <level>INFO</level>
        </filter>
		<!-- encoders are assigned by default the type ch.qos.logback.classic.encoder.PatternLayoutEncoder -->
		<encoder>
			<pattern>
				%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
			</pattern>
		</encoder>
	</appender>
	
	<appender name="debug"
		class="ch.qos.logback.core.rolling.RollingFileAppender">
		<file>${log.dir}/logs/debug.log</file>
		<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
			<!-- daily rollover -->
			<fileNamePattern>${log.dir}/logs/debug.%d{yyyy-MM-dd}.log.%i</fileNamePattern>
			<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>200MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <maxHistory>30</maxHistory>
		</rollingPolicy>
		<filter class="ch.qos.logback
Logback 日志框架中,设置日志级别可以通过在 `logback.xml` 或 `logback-spring.xml` 配置文件中定义 `<logger>` 元素来实现。每个 `<logger>` 元素可以指定一个 logger 名称和对应的日志级别,从而控制不同包或类的日志输出粒度。 例如,可以使用以下配置来设置特定包的日志级别: ```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> <!-- 设置包 "chapters.configuration" 的日志级别为 INFO --> <logger name="chapters.configuration" level="INFO" /> <!-- 设置包 "chapters.configuration.Foo" 的日志级别为 DEBUG --> <logger name="chapters.configuration.Foo" level="DEBUG" /> <!-- 根 logger 的配置,所有未特别指定的 logger 都会继承此级别 --> <root level="DEBUG"> <appender-ref ref="STDOUT" /> </root> </configuration> ``` 在上述配置中,`chapters.configuration` 包下的所有类的日志级别被设置为 `INFO`,而 `chapters.configuration.Foo` 类的日志级别则更详细,设置为 `DEBUG`。根 logger 设置为 `DEBUG` 级别,并将日志输出到控制台。 Logback 支持的日志级别包括 `TRACE`, `DEBUG`, `INFO`, `WARN`, 和 `ERROR`,这些级别按照优先级从低到高排列[^2]。这意味着,如果一个 logger 被设置为 `INFO` 级别,则只会记录 `INFO` 及以上级别的日志消息(即 `INFO`, `WARN`, 和 `ERROR`)。 此外,Logback 提供了灵活的配置选项,允许开发者根据不同的需求定制日志行为,比如将不同级别的日志输出不同文件、按时间或文件大小拆分日志文件等。对于更复杂的日志管理需求,可以通过实现 `Marker` 对象来提供比直接使用日志级别更加灵活的方式[^2]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值