您用于分析应用程序服务器日志的一些技术/工具是什么?
我的开发环境是Windows,我的日志在prod unix框上。有些时候我需要通过几个月前的归档日志(至少在4台服务器上)来找出错误或异常的根本原因。这是一个耗时的过程,我想听听社区的一些最佳实践。
由于
答案 0 :(得分:1)
如果您有大量日志,则可以查看日志索引/搜索解决方案。这将使您能够实时索引日志文件,并允许您通过关键字搜索所需的数据。有一种名为Splunk的产品可以在这里为您提供帮助:
对于开源版本,请参阅以下先前的stackoverflow链接:
What commercial and open source competitors are there to Splunk?
答案 1 :(得分:0)
除了自定义脚本之外,还有各种工具可以帮助您解决此问题。有很多非常好的解决方案可供选择。
一个很好的开源选项是来自log4j开发人员的链锯,并且是apache许可的:
答案 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());
}
最终结果是单个错误可能导致多个错误日志条目,因为问题被记录并退回而不是处理。我称之为官僚记录,因为所有错误都一式三份地传递,传递,并且没有人在处理问题时承担实际责任。
我会考虑将错误与信息和调试消息分开,并努力使报告的错误更容易找到。