大家可能都知道,作为开发人员,我们有时需要处理日志。
您有 PhP 错误日志、laravel 调试、mysql、apache、cron 输出等。
我的问题是,是否可以将所有日志文件合并为一个?您还可以将其设置为每天删除日志并再次合并吗?这样文件中就只有新数据了?
所以它看起来像这样:
//PHP 错误
任何...
//阿帕奇
任何...
//计划任务
任何...
答案1
正是为此rsyslog
守护进程编写。它预装在 Ubuntu 中,但需要进行一些自定义才能执行您想要的操作。它可以读取日志文件并合并它们,通过网络从其他系统收集日志消息,并将它们路由到您想要的任何位置。它非常非常强大。然而,正如 Jacob 所说,开始使用它非常简单。
按照网站上的配置示例,享受乐趣。
答案2
是否可以将所有日志文件合并为一个?
如果你想合并日志按日期时间戳,然后尝试超快速系统日志搜索器
(假设你有安装有锈迹)
cargo install super_speedy_syslog_searcher
然后
s4 /var/log/php/ /var/log/apache2/ /var/log/cron > /var/log/merged.log
您还可以将其设置为每天删除日志然后再次合并吗?
这个简单的 shell 脚本可以做到这一点
#!/usr/bin/env sh
s4 /var/log/php/ /var/log/apache2/ /var/log/cron > /var/log/merged.log
将脚本复制到/etc/cron.daily/merge-logs.sh
。不要忘记将脚本设置为可执行文件;chmod +x /etc/cron.daily/merge-logs.sh
。