通过ConfigurationAdmin更新PAX日志记录配置

时间:2018-12-04 15:49:31

标签: logging apache-karaf apache-felix pax

我正在尝试设置pax日志记录以将某些日志转储到特定文件。我已经看到可以通过ConfigurationAdmin来实现。因此,我做了以下事情:

  • 在蓝图中注入对ConfigurationAdmin服务的引用
  • 请使用PID = org.ops4j.pax.logging进行配置
  • 获取当前配置并添加属性以为我的捆绑包配置附加器和记录器
  • 调用Configuration.update(properties)

我可以看到如何更新etc / org.ops4j.pax.logging.cfg文件并将新属性添加到其中。但是我看不到为我的附加程序创建的新文件,并且记录器中的日志也不再添加到karaf.log中。创建新的附加程序之后,我可以通过触摸etc / org.ops4j.pax.logging.cfg使其重新工作,然后开始查看写入其中的日志。这似乎是由felix-fileinstall引起的,该文件检测到文件已更改并可能重新部署了某些文件(不确定什么)

我的问题是:

  • 这是通过编程和动态添加添加器的正确方法吗?我的应用程序打算作为具有多个功能的kar文件分发,我希望它在启动时发生。
  • 是否需要执行Configuration.update(properties)以外的其他操作才能使pax记录考虑到这些更改?似乎发生了某些变化,因为初始化捆绑包后我不再看到日志,但是似乎未创建附加程序。

我正在使用karaf 4.1.5和pax-logging-log4j2 1.10.1

致谢

Manuel

0 个答案:

没有答案