好吧,在一个项目中,我必须记录用户的所有操作,包括:db查询,对服务的请求,...在日志文件中(NOT数据库)。这是一个创建日志的类。尽管所有操作都来自createLog
方法(在logClass
中),但由于Readng和写入文件的限制,大多数操作都无法记录。
有没有办法处理这个问题,比如队列实现还是什么?处理这些事情的最佳方法是什么?
PS:我已经尝试了flock()和......
感谢。
答案 0 :(得分:3)
我对PHP知之甚少,但总的来说,如果要生成大量日志,则不应直接将它们写入文件(特别是如果从多个进程/线程并发写入)。
作为替代方案,您可以使用syslog。大多数编程语言都可以登录到syslog而不是文件。 syslog程序(例如https://syslog-ng.org/)可以将您的日志输出为单个(或基于您提供的配置的多个)文件。