大多数情况下,我的模式在工作,但在Framework Error in :]
部件在日志中看不到之后。
如何在日志上打印其余部分。我最后在模式中尝试了一下,但仍然不能使用%{GREEDYDATA:restofthem}
我的摸索模式:
\[%{TIMESTAMP_ISO8601:ServerTimestamp}\|%{WORD:Log4netHostname}\|%{DATA:ProjectName}\|%{DATA:TestName}\|%{DATA:UserName}\|%{DATA:ClientIP}\|%{DATA:ClientMachineName}\|%{LOGLEVEL:LogLevel}\|%{DATA:method}\|%{DATA:message}\|%{GREEDYDATA:Exception}|%{GREEDYDATA:Exception}\]%{GREEDYDATA:restofthem}
我的日志:
[2018-06-05 13:26:57,641|host1|Appname|TTA|KKM|112.310.104.722|Host23|ERROR|Logger.Log4Net|LogError|Framework Error in :]
WebDriverTimeoutException: Timed out after 5 seconds
at DefaultWait`1.ThrowTimeoutException(String exceptionMessage, Exception lastException)
at DefaultWait`1.Until[TResult](Func`2 condition)
发布于 2018-06-08 06:24:19
原因是,在:]
之后有一个新行,您需要匹配\n
字符才能解析它。有很多不同的方法可以做到这一点,你可以像这样使用\n
字符匹配新行,
\[%{TIMESTAMP_ISO8601:ServerTimestamp}\|%{WORD:Log4netHostname}\|%{DATA:ProjectName}\|%{DATA:TestName}\|%{DATA:UserName}\|%{DATA:ClientIP}\|%{DATA:ClientMachineName}\|%{LOGLEVEL:LogLevel}\|%{DATA:method}\|%{DATA:message}\|%{GREEDYDATA:Exception}\n%{GREEDYDATA:2ndLine}\n%{GREEDYDATA:3rdLine}\n%{GREEDYDATA:4thLine}
这将产生,
......
"Exception": [
[
"Framework Error in :]"
]
],
"2ndLine": [
[
"WebDriverTimeoutException: Timed out after 5 seconds"
]
],
"3rdLine": [
[
" at DefaultWait`1.ThrowTimeoutException(String exceptionMessage, Exception lastException)"
]
],
"4thLine": [
[
" at DefaultWait`1.Until[TResult](Func`2 condition)"
]
]
OR,
使用?m
匹配一个块中第一行之后的所有行,如下所示:
\[%{TIMESTAMP_ISO8601:ServerTimestamp}\|%{WORD:Log4netHostname}\|%{DATA:ProjectName}\|%{DATA:TestName}\|%{DATA:UserName}\|%{DATA:ClientIP}\|%{DATA:ClientMachineName}\|%{LOGLEVEL:LogLevel}\|%{DATA:method}\|%{DATA:message}\|%{GREEDYDATA:Exception}(?m)%{GREEDYDATA:everythingelse}
输出,
.....
],
"Exception": [
[
"Framework Error in :]"
]
],
"everythingelse": [
[
"\nWebDriverTimeoutException: Timed out after 5 seconds\n at DefaultWait`1.ThrowTimeoutException(String exceptionMessage, Exception lastException)\n at DefaultWait`1.Until[TResult](Func`2 condition)"
]
]
}
https://stackoverflow.com/questions/50734514
复制相似问题