运维 帮忙写个正则表达式

baypm2014 · November 28, 2014 · Last by mimosa replied at November 28, 2014 · 2094 hits

之前的需求是这样:对日志进行监控,如果一行中出现 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"} # 匹配
You need to Sign in before reply, if you don't have an account, please Sign up first.