Spring 按业务模块输出日志到不同的文件
Posted 格格巫 MMQ!!
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring 按业务模块输出日志到不同的文件相关的知识,希望对你有一定的参考价值。
一、背景
在我们开发的过程中,可能存在如下情况:
1、有些时候我们需要调用第三方的接口,一般情况下,调用接口,我们都会记录请求的入参和响应的。如果我们自己系统的日志和第三方的日志混合到一个日志文件中,那么可能查找日志就比较麻烦了。那么我们是否可以将第三方系统的日志单独放到另外的文件中呢?
2、或者有些时候我们系统需要进行数据迁移,如果某条数据迁移失败了,是否单独放到一个日志文件中比较清晰呢?
二、需求
从上图中可以看到我们的需求比较简单
1、系统启动日志和 login 模块日志记录到 springboot-spring.log 文件中。
2、第三方业务(QQ)模块的日志记录到 springboot-qq.log文件中。
3、第三方业务(QQ)模块提供了一个login(loginName)方法,方法的入参loginName需要记录到springboot-qqLoginName.log文件中,模拟一、背景中提到的数据迁移失败,记录失败的数据到单独的日志文件中。
三、技术实现
1、采用的日志框架
此处使用logback来完成日志的记录,因为SpringBoot应用程序默认的就是采用的logback来记录日志。
2、如果实现分模块、分文件记录日志
1、 编写appender,这个可以简单的理解日志需要输出到哪里。
比如:
以上是关于Spring 按业务模块输出日志到不同的文件的主要内容,如果未能解决你的问题,请参考以下文章