我有一个项目,而这个项目又由其他几个项目使用。我希望log4j
仅将我的日志记录到我在属性文件中指定的文件中。其他项目使用自己的日志记录机制,我无法控制它们。我的log4j文件不应该影响其他项目的日志记录。我应该如何配置我的log4j属性文件?
到目前为止,我正在做的是设置log4j.rootLogger = ERROR
和我的模块log4j.logger.com.xyz.myproject = INFO, FILE
。这会不会影响其他项目的记录器吗?或者可能只限制记录到我的罐子里?
由于
答案 0 :(得分:2)
这取决于其他项目的包结构。假设
Logger.getLogger(ClassA.class)
AND log4j.category.loggerName
设置AND com.abc.def
,其他项目的层次结构更深层com.abc.def.ghi
那么更改com.abc.def
日志记录级别会影响其他项目 - 他们将开始登录com.abc.def
定义的级别。
确认情况并非如此,您应该安全。
答案 1 :(得分:1)
我想你的jar完全包含在你自己的包中(ex com.foo.mypackage)。在这种情况下,只需添加到您的log4j配置,如:
# Print only messages of priority WARN or above in the package com.foo
log4j.category.com.foo=WARN
# Print only messages of priority DEBUG or above in the package com.foo.mypackage
log4j.category.com.foo.mypackage=DEBUG
此致
微米。