这是一个后续(不知何故我的OSGi 应用程序的第三方依赖项 https://stackoverflow.com/questions/12569474/how-to-include-a-dependency-to-a-jar-file-from-an-eclipse-osgi-application)其中有人建议一些图书馆,例如log4j 是已经可用作为捆绑。
在 Eclipse Indigo 中,我找不到可用的 log4j 包Import Package
作为我安装的一部分,所以我创建了一个Plugin Project from JAR archive
捆绑 log4j 以及Feature Project
捆绑log4j.xml
配置如下post https://stackoverflow.com/questions/5150415/log4j-under-osgi-eclipse-rcp.
老实说,我不明白为什么需要片段项目,但这个过程是有效的。
所以我现在的问题是:
自从log4j.xml
作为功能 jar 的一部分在导出中提供,有人需要一些“努力”才能找到它并更新调试级别,所以我想知道这确实是正确的过程吗?
我本以为最终导出的产品将在一个易于查找的位置提供 log4j 配置,但现在(尽管日志记录有效)我担心我所做的是否确实正确。
这里有什么帮助吗?
如果您确实需要公开该文件,可以将其放在您想要的任何位置,然后确保您的程序在启动时调用以下方法之一:
- org.apache.log4j.xml.DOMConfigurator。配置 http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PropertyConfigurator.html#configure%28java.lang.String%29(字符串文件名)
- org.apache.log4j.PropertyConfigurator。配置 http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/DOMConfigurator.html#configure%28java.lang.String%29(细绳
配置文件名)
或者,如果您想在不重新启动应用程序的情况下更改配置,请使用“configureAndWatch”变体。
Edit:我写“如果你真的需要”,因为我经历过部署后我永远不需要打开调试日志记录,因为它总是打开的!这对于我对响应时间和吞吐量有正常(但不是极端)要求的应用程序来说是可以的。记录到 UDP-appender 的速度很快(并且不会填满磁盘)。或者使用滚动文件附加器非常安全,并且对于我的使用来说足够快。当确定那些难以重现的错误时,始终保持可用的调试日志是一个救星。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)