我是一名软件开发人员,正在构建 HTTP 服务器。由于我没有托管和管理服务器的经验,因此在平衡日志记录性能和可用性方面遇到了问题。
例如,每个域使用一个日志文件可以接受吗?或者每个进程一个?出于许多性能原因,使用多个日志可能是一个好主意,但我不希望服务器对最终用户来说变得令人讨厌。
一般如何处理日志文件?是否需要进行某种后处理或结合使用 shell 工具才能方便地访问它们?
我很感激任何意见。谢谢。
答案1
使用可配置的标准工具和框架。以 Log4j 为例;它让部署者确定详细程度、如何滚动以及文件可以有多大。
...并支持 syslog。如果您在 Windows 上部署,还支持 Windows 事件。
答案2
不确定你为什么要承担构建 http 服务器这样具有挑战性的任务,但我的答案是:让用户可以个性化它们。http 服务器日志确实可能非常庞大,有时很难查看,因此让管理员决定将日志拆分为更多文件非常有用。你应该看看 Apache 的例子:让你为访问、错误和模块指定不同的日志,甚至根据相关的虚拟主机/网站拆分它们(这对于从中构建使用情况统计信息也非常有用)。