有人可能会对我大喊大叫让我阅读常见问题解答,但我很着急......
有人有办法使 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/