首页 > 解决方案 > 当我们有多个包时,log4j2.properties 中的 logger.rolling 名称应该是什么?

问题描述

我在我的 maven 项目中创建了多个包,我正在使用 Junit 和 Cucumber。我之前使用的是 log4j,现在我想将它迁移到 log4j2。我刚刚搜索了log4j2属性文件格式,发现文件中有以下配置:

logger.rolling.name = com.example.my.app
logger.rolling.level = debug
logger.rolling.additivity = false
logger.rolling.appenderRef.rolling.ref = RollingFile

当我的项目中有多个包时,我应该在 logger.rolling.name 中提供什么包?

标签: log4j2

解决方案


您可以使用 Root 记录器作为您不想指定的包的全部捕获,然后为您想要的任何前缀创建记录器。例如,如果您在以下包中有类 - com.example.my.app、com.example.your.stuff、com.example.my.stuff - 您可以为每个包配置记录器,或者如果您配置记录器那么对于 com.example.my ,但 app 和 stuff 包将使用它。如果你为 com.example 配置了一个记录器,那么所有三个包都会使用它(除非你有一个更匹配的记录器)。


推荐阅读