项目日志

本文详细介绍了如何在SpringBoot项目中整合Logback进行日志管理,包括配置依赖、设置日志级别、控制台及文件输出策略,以及日志滚动和大小限制等高级配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.采用springboot可以整合log4j

2.使用logback.xml。两者的配置文件有区别,并且依赖也有区别

logback的依赖

<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-access</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-core</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.2</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.25</version>
</dependency>

配置文件:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn">
<property name="logback.logDir" value="/home/iap/cmpp/rights/log"/>

<!--输出到控制台 ConsoleAppender-->
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
<!--展示格式 layout-->
<encoder>
<charset>UTF-8</charset>
<pattern>%d [%t] %-5level %logger{36}.%M\(%file:%line\) - %msg%n</pattern>
</encoder>
</appender>

<appender name="infoLog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--如果只是想要 Info 级别的日志,只是过滤 info 还是会输出 Error 日志,因为 Error 的级别高,
所以我们使用下面的策略,可以避免输出 Error 的日志-->
<!--<filter class="ch.qos.logback.classic.filter.LevelFilter">-->
<!--&lt;!&ndash;过滤 Error&ndash;&gt;-->
<!--<level>ERROR</level>-->
<!--&lt;!&ndash;匹配到就禁止&ndash;&gt;-->
<!--<onMatch>DENY</onMatch>-->
<!--&lt;!&ndash;没有匹配到就允许&ndash;&gt;-->
<!--<onMismatch>ACCEPT</onMismatch>-->
<!--</filter>-->
<!--<File>${logback.logDir}/info.log</File>-->
<!--滚动策略,按照时间滚动 TimeBasedRollingPolicy-->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!--文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间-->
<FileNamePattern>${logback.logDir}/ec-config.%d{yyyy-MM-dd HH}.%i.log.gz</FileNamePattern>
<!-- 单个日志文件最多 100MB -->
<maxFileSize>100MB</maxFileSize>
<!--只保留最近30天的日志-->
<maxHistory>30</maxHistory>
<!--用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志-->
<!--<totalSizeCap>1GB</totalSizeCap>-->
</rollingPolicy>
<!--日志输出编码格式化-->
<encoder>
<charset>UTF-8</charset>
<pattern>%d [%t] %-5level %logger{36}.%M\(%file:%line\) - %msg%n</pattern>
</encoder>
</appender>

<!--<appender name="errorLog" class="ch.qos.logback.core.rolling.RollingFileAppender">-->
<!--&lt;!&ndash;如果只是想要 Error 级别的日志,那么需要过滤一下,默认是 info 级别的,ThresholdFilter&ndash;&gt;-->
<!--<filter class="ch.qos.logback.classic.filter.ThresholdFilter">-->
<!--<level>ERROR</level>-->
<!--</filter>-->
<!--&lt;!&ndash;日志名称,如果没有File 属性,那么只会使用FileNamePattern的文件路径规则-->
<!--如果同时有<File>和<FileNamePattern>,那么当天日志是<File>,明天会自动把今天-->
<!--的日志改名为今天的日期。即,<File> 的日志都是当天的。-->
<!--&ndash;&gt;-->
<!--<File>${logback.logDir}/error.log</File>-->
<!--&lt;!&ndash;滚动策略,按照时间滚动 TimeBasedRollingPolicy&ndash;&gt;-->
<!--<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">-->
<!--&lt;!&ndash;文件路径,定义了日志的切分方式——把每一天的日志归档到一个文件中,以防止日志填满整个磁盘空间&ndash;&gt;-->
<!--<FileNamePattern>${logback.logDir}/error.%d{yyyy-MM-dd}.%i.log.gz</FileNamePattern>-->
<!--&lt;!&ndash; 单个日志文件最多 100MB &ndash;&gt;-->
<!--<maxFileSize>100MB</maxFileSize>-->
<!--&lt;!&ndash;只保留最近30天的日志&ndash;&gt;-->
<!--<maxHistory>30</maxHistory>-->
<!--&lt;!&ndash;用来指定日志文件的上限大小,那么到了这个值,就会删除旧的日志&ndash;&gt;-->
<!--&lt;!&ndash;<totalSizeCap>1GB</totalSizeCap>&ndash;&gt;-->
<!--</rollingPolicy>-->
<!--&lt;!&ndash;日志输出编码格式化&ndash;&gt;-->
<!--<encoder>-->
<!--<charset>UTF-8</charset>-->
<!--<pattern>%d [%t] %-5level %logger{36}.%M\(%file:%line\) - %msg%n</pattern>-->
<!--</encoder>-->
<!--</appender>-->


<root level="info">
<appender-ref ref="console"/>
<appender-ref ref="infoLog"/>
<!--<appender-ref ref="errorLog"/>-->
<!--<appender-ref ref="errorAlarm"/>-->
</root>
</Configuration>

转载于:https://www.cnblogs.com/echoskk/p/10722236.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值