logback 中配置不同请求打印不同日志以及输出到不同的文件中去

本文介绍了如何在logback中配置,使得不同请求打印不同的日志并输出到不同的文件。通过在`<appender>`节点下增加配置,并使用AOP动态代理实现请求级别的日志记录,实现了需求。建议在处理类似任务前,先深入理解相关技术以提高效率。

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

需求:

公司为了给某个项目统一的日志信息,要求其其它所有项目把被请求的地址相关信息,单独输出到某些日志中,,原来的日志格式还不能变,但是新的日志格式和原来的日志格式不一样呀,我的大哥

以前都没有管过日志的配置,现在这个事情让我做,一脸懵逼,但是活还得干!!!!

网上到处搜找不到答案,看原来的日志以及debug到logback源码中找到的解决答案
其实很简单,真的,我这里只是详细列出具体解决方式,如果需要具体了解logback中各个配置的含义,移步这篇文章Java日志框架:logback详解

解决方式如下:

原来的logback.xml 格式如下

<?xml version="1.0" encoding="UTF-8" ?>
<configuration scan="true" scanPeriod="60 seconds" >
	
	<!-- 控制台 -->
	<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
		<encoder>
			<pattern>[${server-name}] %d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level [%logger] %msg%n</pattern>
			<charset>UTF-8</charset>  
		</encoder>
	</appender>
	
	<!-- 所有日志(debug级别)  -->
    <appender name="FILE_DEBUG" class="ch.qos.logback.core.rolling.RollingFileAppender">
	    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- 按天回滚 daily -->
            <fileNamePattern>/home/app/logs/${server-name}-debug-%d{yyyy-MM-dd}.log</fileNamePattern>
            <!-- 日志最大的历史 60天 -->
            <maxHistory>30</maxHistory>
        </rollingPolicy
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值