Closed kekobin closed 4 years ago
看 xtransit
的配置属性的文档:https://www.yuque.com/hyj1991/easy-monitor/application#X9uMr
errexp: /\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/i, // 匹配错误日志起始的正则,默认为匹配到 YYYY-MM-DD HH:mm:ss 时间戳即认为是一条错误日志的起始
默认匹配 YYYY-MM-DD HH:mm:ss
,你的错误日志只有 YYYY-MM-DD HH:mm
,自己改成你想要的错误日志起始正则就行了
看
xtransit
的配置属性的文档:https://www.yuque.com/hyj1991/easy-monitor/application#X9uMrerrexp: /\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}/i, // 匹配错误日志起始的正则,默认为匹配到 YYYY-MM-DD HH:mm:ss 时间戳即认为是一条错误日志的起始
默认匹配
YYYY-MM-DD HH:mm:ss
,你的错误日志只有YYYY-MM-DD HH:mm
,自己改成你想要的错误日志起始正则就行了
还真是这个问题,没太注意到这个细节。感谢!
@hyj1991 日志路径可以使用通配符方式匹配吗?我所在项目的日志文件名带随机数字,比如error-0.log,error-1.log,error-2.log这样。
我想用一条通配符规则来匹配这些日志,试过下面四种写法,但没有成功。
errors: ['/app/logs/error']
errors: ['/app/logs/error*']
errors: ['/app/logs/error*.log']
errors: ['/app/logs/error.log']
目前,只有明确写死日志文件名才有效,像这样:
errors: ['/app/logs/error-2.log']
请问,这种通配符匹配的方式easy-monitor支持吗?
@beforegolive 目前不支持通配符
背景:这边部署了3.0版本,eggjs项目应用监控都能正常监控到错误日志。但别的团队非egg项目接入后一直项目有生成错误日志文件,也是按照规范做配置,但是没有在监控平台展示出来。后来写了个demo,确实是没有。大概示例如下:
1.业务代码启动xprofiler:
2.配置xtransit
3.xtransit 启动文件
4.pm2 启动脚本
启动后其他都是正常,估计 throw new Error了,log文件里也有错误了,就是在监控平台上没有。
打印了xprofiler-manager/controller/xtransit.js中的 handleLog 的error_log,一直都是空:
进一步调试代码,发现ErrorService一直都接受不到message:
所以很奇怪,不知道是哪里出问题了,上面的配置会根据egg项目下底层egg-xtransit里面对应的配置打印出来的。所以理论上来说,两种类型项目配置基本是一样的。难道是 手动 throw new Error不符合某种日志规范么?