我应该如何最好地设置一个中央日志记录(或者可能是 2 个,每个都专用于测试或产品)服务器,这样:
我不必担心引用任何条件的代码可能会意外地将非生产错误记录到生产错误 log4j 总线中。换句话说,我不想有这样的代码:
if (!production)
logWrapper.logTest(error);
else
logWrapper.logProd(error);
我不想要这个,因为它紧密耦合了诸如服务器名称之类的东西,引用它,现在代码只能在两个服务器名称之一上工作:prod 和 test。我也不能在配置中声明性地设置它,因为开发人员可能不会正确设置它并污染日志存储库。有什么建议么?
一些细节,有些不会考虑,但我还是列出了它们:
- 仅在Oracle 应用服务器10.1.3.4上运行的 Web 应用程序,以及未来的 Oracle WebLogic
- 将使用中央日志服务器,如本示例所示:http ://timarcher.com/?q=node/10 ...除了中央服务器将记录文本文件而不执行电子邮件!
- 将使用 log4j,也许它会通过 slf4j 包装(slf4j 有点不敬,所以大部分情况下忽略它..)