在linux ubuntu服务器上使用karaf 2.2.9,我有一个karaf命令可以启动一些代码。这会在karaf.log中生成一些详细的功能日志 此命令定期执行(每2小时一次)。
我们希望收集与每次执行相对应的日志。
我们已经做了什么:
我们有一个脚本shell,它使用客户端karaf执行以下操作:
1)执行日志:清除==>这会放置一个标记,以防止将来的任何日志:显示命令在此标记之前移动
2)执行我们的命令==>这会在日志中写入内容
3)执行日志:显示-n 0 ==>这将获取上一个日志之间的日志:清除和现在
4)将结果写入文件以供以后统计和分析
这一切每两个小时重复一次。
为了不限制输出,我将karaf / etc / org.apache.karaf.log.cfg中的“size”参数修改为更高的值。
问题:
有时,输出可能非常丰富(当然,它越丰富,它变得越重要!)
所以:
- 如果我将“size”参数设置得太低,则log:display不会占用所有必需的日志
- 如果我把“尺寸”参数设得太高,卡拉夫会因为内存不足而挂起
我已经增加了karaf xmx内存。
“log”命令的文档很差。事实上,没有解释这个日志系统是如何工作的(或者我找不到它)。
我的问题:
有没有办法增加一些东西,以便我可以在日志:清除和日志:显示之间采取相当舒适的日志量?
当然,可以考虑其他解决方案,例如完全重建日志记录方法或程序,但它的成本远远超过为已经运行的系统找到正确的参数。
谢谢!
答案 0 :(得分:2)
Karaf中使用的默认日志服务是ops4j pax logging。
您可以使用文件karaf / etc / org.ops4j.pax.logging.cfg设置logging-System 这是一个类似log4j的配置文件。在这里,您可以设置自己的appender和logger,调整文件大小,备份索引等...
通过这种方式,您可以将特定的日志记录信息提取到不同的日志文件中。