【问题标题】:Server logging appending to an excel sheet附加到 Excel 工作表的服务器日志记录
【发布时间】:2012-08-03 02:06:11
【问题描述】:

我需要登录到服务器中的 excel 表,就像普通的 log4j appender 一样,除了 excel 表(这是在 java 中)。

我目前没有找到有关此的适当信息。是否有任何提供附加程序或可以使用的库?还想知道附加到 excel 文件而不是普通文本文件日志、性能、可能的错误等是否有任何影响?

【问题讨论】:

标签: java excel logging log4j appender


【解决方案1】:

直接记录到 Excel 工作表似乎不是一个好主意。您将“记录”和“分析日志”两种职责混合到一个代码中。

您可能希望将数据导入电子表格以进行特定分析。在这种情况下,您可能还需要特定的格式(关于哪些数据进入哪个表)。考虑编写一个特定的解析器,然后将数据导入 Excel 工作表 - 使用像 apache-poi 这样的 api,这将是直截了当的。

如果您真的想要一个特殊的日志记录,请从 Log to a database using log4j 开始,它解释了数据库日志记录,然后将其制作成 excel。

只要文件系统允许,日志记录是无限的。 Excel(取决于其版本)对可以存储的记录数有限制。 (bemace 的 cmets 中的其他问题)。

【讨论】:

  • +1,Excel 也会比标准日志格式占用更多的磁盘空间,并可能造成性能瓶颈。
  • 同意,我们只是用“\t”分隔日志,然后简单地将其导入到 excel 中进行查看,并由 excel 自动创建列,这比直接登录到 excel 电子表格要容易得多跨度>
【解决方案2】:

我认为直接回答您的问题可以是:“您可以创建自己的 log4j appender”(这是how,您可以这样做)。从技术上讲,log4j 带有大量的 appender,你可以随时创建一个新的。

此附加程序可能会使用 Apache POI (link),它提供了用于创建和格式化 excel 电子表格的 Java API。

这一切都很好,并且在技术上可行,但在这样做之前我会三思而后行。毕竟使用 Excel 记录日志听起来很尴尬 :)

如果您仍然需要 Excel 电子表格,我可以提出一个折衷方案。 使用“文件附加器”创建 CSV 文件(逗号分隔值)。 excel 将很容易读取这样的文件,并且足以进行初始处理。 您甚至不需要编写附加程序,只需确保正确配置布局即可。

或者,我可以向您指出一些有助于日志处理的工具:

Apache Chainsaw

Lilith

有一个很好的日志查看器列表here,我相信你可以谷歌了解更多信息。

希望对你有帮助

【讨论】:

    【解决方案3】:

    使用 log4j 和 patternlayout 记录 CSV 格式。然后使用 Chainsaw 分析日志 - Chainsaw 的最新开发者快照改进了配置 UI 并拥有大量新功能,让这一切变得简单:

    http://people.apache.org/~sdeboy

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-11-07
      • 1970-01-01
      • 2015-09-09
      • 2014-07-21
      • 1970-01-01
      • 1970-01-01
      • 2021-07-23
      • 2019-12-17
      相关资源
      最近更新 更多