java - 如何知道什么时候日志消息过多?

标签 java logging

我发现了一个非常好的用于解析 CUE 文件的库。但是当我开始阅读它的源代码时,我发现它几乎不可读:

public void setParent(final CueSheet parent) {
    FileData.logger.entering(FileData.class.getCanonicalName(), "setParent(CueSheet)", parent);
    this.parent = parent;
    FileData.logger.exiting(FileData.class.getCanonicalName(), "setParent(CueSheet)");
}

每个方法都有 logger.entering() 和 logger.exiting() 消息。这不是太多了吗?

还有另一个用于解析音频标签的 java 库。对于它读取的每个文件,它还有大约 15 条日志消息。这很烦人,所以我注释掉了对记录器的每次调用。而且库的速度提高了一倍,因为他们对日志消息使用了大量字符串连接。

所以问题是:我真的应该记录所有内容,即使它不是大型企业应用程序吗?因为这些库显然不需要任何日志记录,除了错误消息。我的经验表明记录器是糟糕的调试工具。我为什么要使用它?

最佳答案

如何知道什么时候记录过多?当您知道记录的信息从长远来看并不重要时,例如对于简单的调试操作或错误更正,或者当应用程序不处理太多重要信息时。

有时您几乎需要记录所有内容。性能或分析的全部可能性是应用程序最重要的部分吗?这真的取决于。

我过去曾与许多不同的网络服务进行过一些集成,比如在同一个应用程序中集成 10 个。我们记录了所有 xml 请求和响应。这是开销吗?从长远来看,我不这么认为,因为我们处理了很多信用卡操作,应该记录服务器的每个过程。如何知道出现错误时发生了什么

您不会相信我在某些 xml 响应中看到的内容。我什至从一家大型飞机公司收到了一个没有关闭标签的 xml。 “过多的日志”是一种不好的做法吗?当您必须证明错误来自其他供应商时,请告诉您的客户。

关于java - 如何知道什么时候日志消息过多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1579917/

相关文章:

java - 连接数据库时出现 SQlite 错误

php - PHP 内部服务器错误

Python-如何刷新日志? (django)

python - 基于 timedrotatingfilehandler 的类不会在日志中写入任何内容

java - 如何在Java Web Services中实现单向操作?

java - 如何获取两个日期之间的天数、小时数、分钟数和秒数差异

java - 线程启动是否会导致内存屏障(共享变量将保留在内存中)?

java - 向 Guava ImmutableList 添加和删除项目

string - 在 Perl 中解析 A​​pache 日志

c# - CreateMap 抛出异常