App Server日志

时间:2009-06-16 21:36:49

标签: java logging

您用于分析应用程序服务器日志的一些技术/工具是什么?

我的开发环境是Windows,我的日志在prod unix框上。有些时候我需要通过几个月前的归档日志(至少在4台服务器上)来找出错误或异常的根本原因。这是一个耗时的过程,我想听听社区的一些最佳实践。

由于

3 个答案:

答案 0 :(得分:1)

如果您有大量日志,则可以查看日志索引/搜索解决方案。这将使您能够实时索引日志文件,并允许您通过关键字搜索所需的数据。有一种名为Splunk的产品可以在这里为您提供帮助:

http://www.splunk.com/

对于开源版本,请参阅以下先前的stackoverflow链接:

What commercial and open source competitors are there to Splunk?

答案 1 :(得分:0)

除了自定义脚本之外,还有各种工具可以帮助您解决此问题。有很多非常好的解决方案可供选择。

一个很好的开源选项是来自log4j开发人员的链锯,并且是apache许可的:

http://logging.apache.org/chainsaw/index.html

答案 2 :(得分:0)

退后一步,查看是否有日志搜索问题或错误报告问题。

单个错误会导致多个日志条目还是单个错误?对于每个错误,您有数千行信息和调试消息吗?为什么你的日志难以搜索?

没有看到你的代码;是不是满满的?

} catch (Exception e) {
  //error suppressed 
  log.error("error" + e.getMessage());
}

...

} catch (Exception e) {
  //error logged and passed along
  log.error("error" + e.getMessage());
  throw e;
}

...

} catch (Exception e) {
  //error logged and new one passed along
  log.error("error" + e.getMessage());
  throw new Exception("error" + e.getMessage());
}

最终结果是单个错误可能导致多个错误日志条目,因为问题被记录并退回而不是处理。我称之为官僚记录,因为所有错误都一式三份地传递,传递,并且没有人在处理问题时承担实际责任。

我会考虑将错误与信息和调试消息分开,并努力使报告的错误更容易找到。