运维 帮忙写个正则表达式

baypm2014 · 2014年11月28日 · 最后由 mimosa 回复于 2014年11月28日 · 2095 次阅读

之前的需求是这样:对日志进行监控,如果一行中出现 Error,则打印这行。

表达式为: [^\s]+Error.*

现在变为:如果一行中出现 Error 并且没有出现 plugin 这一字符串 (就是含有 plugin 的 Error 不需要报警),则打印该行。 如 091 ActionController::RoutingError (No route matches [GET] "/plugins/servlet/streams"):这行就不需要报警打印,直接忽略掉。 求正则表达式?

先谢过了!

可以试试用下new relic

#1 楼 @hging 公司内部统一用的一套监控系统,没得选的,呵呵

#3 楼 @mimosa 帮了我大忙,大侠,谢了!

#4 楼 @baypm2014 当有多个条件是也可用哦:

[^\s](?=.*?(RoutingError|UrlGenerationError))(?!.*?(\/plugins|undefined)).*

ActionController::UrlGenerationError (undefined method `name' for nil:NilClass): # 不匹配

ActionController::UrlGenerationError (No route matches {:action=>"index"} # 匹配
需要 登录 后方可回复, 如果你还没有账号请 注册新账号