我有几个运行的Web应用程序(PHP)的Web服务器。配置设置方式,在午夜删除php error_log(因此文件仅持续24小时)。
问题是,我想将所有致命错误记录到另一个文件或数据库中,但仅限于特定的Web应用程序。 (大约有20个跑,其中4个是我的。)
我正在考虑创建一个bash脚本,在我的应用程序的“Fatal”和url上点击error_log文件,将输出提取到文件并记住单独缓存文件中当前error_log的最后一行。
然后我会将脚本放到cron并每隔几分钟执行一次(从上一次运行的最后一行开始)。
整个想法有点混乱,我认为它可以有效地编写,任何想法?
答案 0 :(得分:1)
如果您无法开箱即用,那么编写一个cron作业似乎没问题。我不太了解PHP。在例如java中您可以将相同的日志消息转到多个日志文件,具体取决于条件。
但我会让你的cron工作同时收集致命错误并删除"最后一天"日志文件。通过这种方式,您可以在午夜完成此脚本的单次运行,并节省您上次知道上次结束位置的复杂性(以及您错过在午夜之前发生的一些错误的机会)。如果集合正常,请删除旧文件,否则将其留待诊断并重试。它为您节省了一大堆(24 * 60)调用脚本。