java - 如何将 javax 记录器句柄设置为重构敏感

标签 java log4j logging

有人可能会对我大喊大叫让我阅读常见问题解答,但我很着急......

有人有办法使 javax 或 log4j 记录器重构敏感吗?

假设,当前 utils.Something 拥有记录器句柄:

final static private Logger logger = Logger.getLogger(Something.class.getName());

而logging.properties有

.level = warning
utils.Something.level=info

然后使用Eclipse将Something重构为 nutilla.Somewhere

导致我的记录器句柄和记录器属性变得不同步。

也许,以编程方式设置日志记录级别?

有人费心去做这件事吗?值得吗?

澄清: 将 utils.Something 重构为 nutilla.Somewhere 后,由于logging.properties 文件中的条目,记录器句柄现在只会记录警告而不是信息。那么问题来了,有没有办法用编程的方式来替代logging.properties文件的功能,如果有的话,值得这么麻烦吗?

问题的原因和动机

当建议我避免重构时,我固执地不听,因为...... 重构是我一直以来的习惯。我按小时创建类,合并它们,删除它们,提取方法等等......我是一个不安分的类创建者,没有时间想知道最初在哪里放置类。我不喜欢坐下来浪费时间思考最初将它们放在哪里 - 所以我只是将它们放在最方便的包命名空间中。

在构建了大量的类/接口(interface)结构之后,我很明显地发现某些类、接口(interface)或方法在哪里,然后所有的重构 Activity 都发生了……tada……这就是我的logging.properties的时候文件被毁了一百行。

最佳答案

如果您使用类(而不是包)名称配置日志记录,请在 Eclipse 的重命名重构对话框中选中“更新非 Java 文本文件中的完全限定类名称”即可解决问题。

关于java - 如何将 javax 记录器句柄设置为重构敏感,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1974290/

相关文章:

java - 读取 anchor JSoup 中的数据

java - 正确初始化log4j系统

java - log4j 记录器覆盖到 jxl.log 文件

logging - JBoss Portal Server 上托管的两个不同应用程序具有组合日志记录

java - 如何以编程方式检查页面的 url 是否正在重定向?

java - Java中的HTTP URL地址编码

java - 高级日志记录和日志分析的现代实践?

c# - 让 log4net 使用应用程序配置文件来获取配置数据

java - close-group 问题 java RTFEditorKit

java - 获取字符串变量中的消息 myLogger.log(e)