logging - OSGi - 外部 jar 文件的日志记录配置

标签 logging log4j osgi bundle quartz-scheduler

我构建了一个依赖外部库(如 Quartz)的 OSGi 应用程序。 我为所有这些库创建了单独的包,但问题是它们有自己的日志记录配置。

所以当我运行我的应用程序时,quartz 会将日志记录到控制台

[DefaultQuartzScheduler_QuartzSchedulerThread] DEBUG o.quartz.core.QuartzSchedulerThread - batch acquisition of 0 triggers

我对如何正确限制或重定向日志有点迷茫。我在 Quartz 包中有一个 log4j.xml 文件,它试图将日志记录级别设置为错误,但没有效果

<logger name="org.quartz">
     <level value="error" />
     <appender-ref ref="console" />
</logger>

我一直在寻找 OSGi 日志记录策略,但结果更加困惑。

最佳答案

看看Pax-Logging - 它将处理大多数日志记录框架。只需确保您没有部署实际的 log4j jar,Pax-Logging api 和实现包将为您处理一切。

您可以设置默认日志记录级别,但要进行更详细的配置,您还需要 ConfigAdmin 服务。参见 http://team.ops4j.org/wiki/display/paxlogging/Configuration

关于logging - OSGi - 外部 jar 文件的日志记录配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8529356/

相关文章:

java - 为什么切换会导致无法解决错误?

python - 在 python 3.5 中扩展 logging.Logger 模块

java - MyBatis log4j 配置仅记录映射器 XML 中的 SQL 名称,而不记录 SQL

linux - 记录谁在 iptables 中进行了更改?

java - 使用 Log4j 的多个文件

java - 如何使用 PowerMockito 模拟 PropertyConfigurator.configure()?

java - bnd osgi 项目无法通过 Firefox 运行

logging - GNU screen 上的 screen 日志和硬拷贝之间的差异

Spring Boot父log4j2更新-漏洞修复

java - springframework 版本 5.0.5.RELEASE 由 : java. lang.NoClassDefFoundError 引起:org/springframework/core/task/AsyncListenableTaskExecutor