【问题标题】:Apache karaf - How to log:display a 'lot' of information?Apache karaf - 如何记录:显示大量信息?
【发布时间】:2013-01-04 16:45:21
【问题描述】:

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

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

我们已经做了什么:
我们有一个脚本外壳,它使用客户端 karaf 执行以下操作:

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

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

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

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

  • 如果我将“size”参数设置得太低,log:display 不会占用所有需要的日志
  • 如果我将“size”参数设置得太高,karaf 会因内存不足而挂起
    我已经增加了 karaf xxx 内存。 “日志”命令的文档很差。事实上,没有解释这个日志系统是如何工作的(或者我找不到它)。

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

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

【问题讨论】:

    标签: java logging osgi apache-karaf


    【解决方案1】:

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

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

    这样您可以将特定的日志信息提取到不同的日志文件中。

    【讨论】:

    • 这是一种配置karaf日志系统的方法。但它并不作用于它所记录的内容(当然,这是应用程序的作用)。即使调整了,如果内容太重,“log:display”也会失败。我需要捕获大约 5-6Mo 的日志(我不需要数百个 Mo!),如果它不可行,这会显得很奇怪。
    猜你喜欢
    • 2017-12-18
    • 2011-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多