繁体   English   中英

Apache karaf - 如何记录:显示“大量”信息?

[英]Apache karaf - How to log:display a 'lot' of information?

在 linux ubuntu 服务器上使用 karaf 2.2.9,我有一个 karaf 命令可以启动一些代码。 这会在 karaf.log 中生成一些详细的功能日志 该命令会定期(每 2 小时)执行一次。

我们要收集每次执行对应的日志。

我们已经在做的:
我们有一个脚本 shell,它使用客户端 karaf 执行以下操作:

  1. 执行 log:clear ==> 这会放置一个标记,以防止任何未来的 log:display 命令在此标记之前执行
  2. 执行我们的命令 ==> 这会在日志中写入内容
  3. 执行 log:display -n 0 ==> 这将获取上一个 log:clear 和 now 之间的日志
  4. 将结果写入文件以供以后统计和分析

所有这一切每两个小时重复一次。

为了不过多限制输出,我将 karaf/etc/org.apache.karaf.log.cfg 中的“size”参数修改为更高的值。

问题 :
有时,输出可能非常丰富(当然,它越丰富,就越重要!)。
所以 :

  • 如果我将“size”参数设置得太低,则 log:display 不会获取所有必需的日志
  • 如果我将“大小”参数设置得太高,karaf 就会挂起内存不足
    我已经增加了 karaf xmx 内存。 “日志”命令的文档非常糟糕。 事实上,没有解释这个日志系统是如何工作的(或者我找不到它)。

我的问题 :
有没有办法增加一些东西,以便我可以在 log:clear 和 log:display 之间获取相当舒适的日志量?

当然,也可以考虑其他解决方案,例如完全重新制作日志记录方法或程序,但这比为已经运行的系统寻找正确参数的成本要高得多。

Karaf 中使用的默认日志服务是ops4j pax logging

您可以使用文件 karaf/etc/org.ops4j.pax.logging.cfg 设置日志系统。这是一个类似 log4j 的配置文件。 在这里你可以设置你自己的 appender 和 loggers,调整文件大小,备份索引等......

通过这种方式,您可以将特定的日志信息提取到不同的日志文件中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM