
需求如下:
1.运行一个 PHP 脚本,脚本中有很多捕获异常记录日志的操作
2.已经有发送邮件的接口;
3.现在要将每次运行该 PHP 脚本产生的 warn 或 error 日志整合发送到邮箱,有什么方法吗?
我现在只知道把日志记录当字符串拼起来发送到邮箱。。。。
1 batnss 2017-09-30 11:55:37 +08:00 运行 1 2 3 不就好了吗 |
2 rb6221 2017-09-30 12:47:59 +08:00 不是直接生成.log 文件 发附件吗 |
5 yougeren 2017-09-30 15:07:22 +08:00 错误或警告单独打印不就行了 |
6 b821025551b 2017-09-30 15:32:52 +08:00 就是把日志文件用附件的形式发出去啊。 |
7 t333st 2017-09-30 17:10:01 +08:00 写过 域名定时检测告警系统,服务器上跑定时任务去检测目标域名,所有结果都入库以供需要查阅,访问失败则会以邮件进行告警。。。。 其实不难啊,你只需要清楚自己要的是什么,然后简单架构一下,分模块写,写好再连接起来 不就是搭积木么 |
8 vex2 2017-09-30 17:22:25 +08:00 set_exception_handler set_error_handler |
9 shiny PRO 为什么不用 Sentry, 可以邮件 /Slack 推送新出现的错误。 |
10 holyghost 2017-09-30 17:38:54 +08:00 |
11 lslqtz 2017-09-30 19:34:38 +08:00 这不很简单嘛 分类记录日志,定时不就好了 还搞筛选,日志大慢不死你。。 |
12 cha1 2017-09-30 20:02:42 +08:00 日志记录使用 Monolog,handler 选择 NativeMailerHandler,日志级别设置为 warning。 NativeMailerHandler 的源码在这里: https://github.com/Seldaek/monolog/blob/master/src/Monolog/Handler/NativeMailerHandler.php |
13 cha1 2017-09-30 20:11:23 +08:00 错误的捕捉参考下面这个: https://gist.github.com/zqhong/0a7c7942b573608f2a0101a5f72a8f79 大致只需要设置这几个就行: set_exception_handler set_error_handler register_shutdown_function |
14 lyzy 2017-10-01 00:35:34 +08:00 via Android seaslog |
15 cxbig 2017-10-02 05:59:58 +08:00 1. 简单的跑个 cron 就行,用 awk,grep,sed 之类的命令挑出你要的来,直接 sendmail 到邮箱即可。 2. 如果单个 log 文件过大,也可以考虑按文件大小的 logrotate 做,利用 postscript,用 1 提到的手法处理一下分出来的那部分。 3. 再往复杂的考虑,可以用 ELK 这类巨型工具。 |