workerman中Worker::$stdoutFile如何实现每天按日期生成新的log文件?

大神,我想打印events文件中的数据,手册上说用Worker::$stdoutFile来打印数据,于是我用了日期作文件名,如下:Worker::$stdoutFile = "/home/tmp/".date('Y-m-d').".log";但是发现并没有每天生成新的log文件,而是只有一份第一天所生成的打印文件,后面几天的打印数据也都写在那里面,请问这是为什么?有什么办法可以实现每天生成新的log文件来记录打印数据吗?
如果数据一直打印,会对gatewayworker性能有什么影响吗?目前打印的数据量还比较大,一天下来大概有几十Mb

眼眸繁星
浏览 1538回答 1
1回答

紫衣仙女

Worker::$stdoutFile = "/home/tmp/".date('Y-m-d').".log";但是发现并没有每天生成新的log文件,而是只有一份第一天所生成的打印文件,后面几天的打印数据也都写在那里面,请问这是为什么?因为workerman是常驻内存运行的,比如第一次运行后获取到的是 20181025.log,后面就不会再去读取这个date()了有什么办法可以实现每天生成新的log文件来记录打印数据吗?找到workeman生成日志的代码并修改它,这个你自己找吧!就不帮忙了建议:区分workerman日志和业务日志,别混在一起
打开App,查看更多内容
随时随地看视频慕课网APP