目前是各个服务模块打到不同的日志文件中保存,这次是同一模块,将想输出的不同的信息,打印到不同的日志中去记录
首先在输出日志的位置新增
private final Logger logger = LoggerFactory.getLogger(getClass());private Logger loggerInterceptor = LoggerFactory.getLogger("outToFile");

之后两个不同的Logger对象,分别输出信息

接下来是修改日志配置文件,原有的logback.xml是:
<?xml version="1.0" encoding="UTF-8"?><configuration><!-- 控制台输出日志 --><appender name="Console" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d{HH:mm:ss.SSS} %thread > %-5level %logger{35} - %m%n</pattern></encoder></appender><!-- 日志输出 到文件--><appender name="File" class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>./logs/ptmsbm/%d{yyyy-MM-dd}.log.zip</fileNamePattern><maxHistory>270</maxHistory><!--日志最大保存时间--></rollingPolicy><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} > %-5level %X{X-B3-TraceId:-} ${springAppName:-} %logger{35} - %m%n</pattern></encoder></appender><logger name="org.springframework" level="ERROR"/><logger name="org.springframework.cache" level="DEBUG"/><logger name="org.apache.tomcat" level="ERROR"/><logger name="org.eclipse" level="ERROR"/><logger name="org.apache.commons.beanutils" level="ERROR"/><logger name="org.foundation" level="DEBUG"/><logger name="org.taikang.ptms" level="DEBUG"/><root level="INFO"><appender-ref ref="Console"/><appender-ref ref="File"/></root></configuration>

只需要在configuration中新增刚才定义的logger和对应的输出日志路径即可:
<?xml version="1.0" encoding="UTF-8"?><configuration><!-- 控制台输出日志 --><appender name="Console" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>%d{HH:mm:ss.SSS} %thread > %-5level %logger{35} - %m%n</pattern></encoder></appender><!-- 日志输出 到文件--><appender name="File" class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>./logs/ptmsbm/%d{yyyy-MM-dd}.log.zip</fileNamePattern><maxHistory>270</maxHistory><!--日志最大保存时间--></rollingPolicy><encoder><pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} > %-5level %X{X-B3-TraceId:-} ${springAppName:-} %logger{35} - %m%n</pattern></encoder></appender><logger name="org.springframework" level="ERROR"/><logger name="org.springframework.cache" level="DEBUG"/><logger name="org.apache.tomcat" level="ERROR"/><logger name="org.eclipse" level="ERROR"/><logger name="org.apache.commons.beanutils" level="ERROR"/><logger name="org.foundation" level="DEBUG"/><logger name="org.taikang.ptms" level="DEBUG"/><root level="INFO"><appender-ref ref="Console"/><appender-ref ref="File"/></root><property name="logData" value="E:/Filez" ><statusListener class="ch.qos.logback.core.status.NopStatusListener" ><!-- 日志输出 到文件--><appender name="LOG_INTERCEPTOR" class="ch.qos.logback.core.rolling.RollingFileAppender"><rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"><fileNamePattern>${logData}/log-interceptor/%d{yyyy-MM-dd}.log.zip</fileNamePattern><maxHistory>270</maxHistory><!--日志最大保存时间--></rollingPolicy><encoder><pattern>%-20(%d{yyyy-MMM-dd HH:mm:ss} [%thread]) %-5level %logger{80} [%line] -%msg%n</pattern><charset>UTF-8</charset></encoder></appender><!--输出到指定日志文件--><logger name="outToFile" level="INFO" additivity="false"><appender-ref ref="LOG_INTERCEPTOR"/></logger></configuration>

这里测试是打到本地,运行后为:只打印了想要的日志,其余的logger打印到原有日志

文章转载自琢磨先生DataBase,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




