需求如下:
1.运行一个 PHP 脚本,脚本中有很多捕获异常记录日志的操作
2.已经有发送邮件的接口;
3.现在要将每次运行该 PHP 脚本产生的 warn 或 error 日志整合发送到邮箱,有什么方法吗?
我现在只知道把日志记录当字符串拼起来发送到邮箱。。。。
1
batnss 2017-09-30 11:55:37 +08:00
运行 1 2 3 不就好了吗
|
2
janus77 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 2017-09-30 17:25:48 +08:00
为什么不用 Sentry, 可以邮件 /Slack 推送新出现的错误。
|
10
holyghost 2017-09-30 17:38:54 +08:00
|
11
lslqtz 2017-09-30 19:34:38 +08:00
这不很简单嘛
分类记录日志,定时不就好了 还搞筛选,日志大慢不死你。。 |
12
zqhong 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
zqhong 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 这类巨型工具。 |