我正在开发一个脚本,它将每 10 分钟检查一次日志,如果有任何严重错误,它将向某个地址发送一封电子邮件。我有这个问题,我想尽可能更优雅地解决:我想查看日志,/var/log/mysql/error.log
但有几个日志。
例子:
- 错误日志
- 错误.log.1.gz
- 错误.log.2.gz
- 错误.log.3.gz
从我的角度来看,有两种方法可以解决这个问题: 解决方案一:
try:
open("/var/log/mysql/error.log", "rb")
except IOError:
try:
open("/var/log/mysql/error.log", "rb")
except IOError:
....
您可以看到这需要花费一些时间try/except
,并且可能有更好的方法来做到这一点。我试图找出一些东西而不是几个try/except
,但没有运气。你们能给我指出正确的方向吗?不给我完整的答案。
解决方案2:
将日志集中到一个日志中。这样我就只需打开一个文件而不是几个try/except
。这个解决方案看起来更优雅。我已阅读error.log
mysql 页面,但没有找到我的问题的任何答案。
我想有必要了解一些背景知识:这是我学习 Python 的第三天,我已经掌握了 MySQL 的基础知识。
答案1
呵呵呵呵呵呵。 MySql 中的每个日志文件都是 logrotate 的工作。它每周轮换并制作副本。较新的日志被记录error.log
意味着error.log.1.gz
较旧的日志。
是的,我觉得自己很蠢。如果有人遇到和我一样的麻烦,我会把它留在这里。