Java Log4j2按模块名称分隔日志文件
我想根据模块名编写日志文件。 例如。 一个日志文件,用于用户管理模块和 一个用于产品模块等 我的项目包结构如下所示Java Log4j2按模块名称分隔日志文件,java,logging,wildcard,log4j2,Java,Logging,Wildcard,Log4j2,我想根据模块名编写日志文件。 例如。 一个日志文件,用于用户管理模块和 一个用于产品模块等 我的项目包结构如下所示 com.mycompany.service.user com.mycompany.service.product com.mycompany.controller.user com.mycompany.controller.product ... 我想从中写入日志消息 com.mycompany.*.user(com.mycompany.service.user和com.myco
com.mycompany.service.user
com.mycompany.service.product
com.mycompany.controller.user
com.mycompany.controller.product
...
我想从中写入日志消息
com.mycompany.*.user
(com.mycompany.service.user和com.mycompany.controller.user)到com.mycompany.user.log
文件,
和com.mycompany.*.product
到com.mycompany.user.log
文件
我知道我可以创造像贝娄这样的伐木工人
<logger name="com.mycompany.service.user" level="INFO">
<AppenderRef ref="AppenderUsers" />
</logger>
<logger name="com.mycompany.controller.user" level="INFO">
<AppenderRef ref="AppenderUsers" />
</logger>
...
或者有什么方法可以做到这一点吗?我建议您在log4j2 Jira问题跟踪程序中将其作为功能请求提出 最后,我通过编写自定义过滤器插件解决了这个问题。 我使用了过滤器中使用的相同方法。但是正则表达式过滤器,将给定的正则表达式与消息内容匹配。但是我已经编写了一个过滤器来匹配正则表达式和类名
我已经在我的博客文章中描述了这一点 感谢您的建议您的博客帖子很有帮助,但您是否曾向log4j2提交功能请求?对于未来的访问者,完整链接为:
<logger name="com.mycompany.*.user" level="INFO">
<AppenderRef ref="AppenderUsers" />
</logger>