部署在docker里的日志问题
我使用的log4js来打日志,我自己本地开发的时候,直接node app.js启动,是可以自动生成日志文件的。 可是部署在docker里之后,不知道怎么启动的(不知道平台怎么搞的),日志文件都不生成,但是我直接在服务器上node app.js仍然可以生成,为什么啊? 如果用了pm2之类的工作,启动了多进程,大家怎么处理日志问题的啊? 我是期望error打到error文件里,info打到info文件里,一个小时或者一天一个文件。但是多进程了,进程之间日志文件又都是同一个,怎么办?
2 回复
一定要能够自动清理,否则磁盘说不定某天什么时候满了服务器就挂了,我曾经上过这种当 pm2-logrotate https://www.npmjs.com/package/bunyan#stream-type-rotating-file 最好是用pid分别写不同的文件,否则容易出问题,参考: https://github.com/trentm/node-bunyan/issues/117#issuecomment-44804938
bunyan /var/log/my-app-*.log.0 -o bunyan > /var/log/my-app.log.0
我猜你没有挂载目录