簡體   English   中英

php正則表達式匹配日志文件

[英]php regular expression matching log file

我正在嘗試匹配在日志文件中看到的異常行。 日志文件的格式為“ [timestamp] threadid(8個字母數字數字)applicationName(任意長度的字母數字字符)E(表示異常消息)”

因此,示例日志異常消息將是:

“ [[11/27/12 22:33:02:635 EST] 0000009a myApplication E”在E之后可以發生任何事情。

我在使用PHP preg_match查找正則表達式以匹配此表達式時遇到麻煩

任何幫助,將不勝感激。

干杯

嘗試以下方法:

'/^\[[^\]]+\]\s\w{8}\s[^\s]+\sE.*/m'

尾隨的“ m”確保開頭的楔形與日志中一行的開頭相匹配。

當然,如果所有日志條目看起來都非常相似(“ E”除外),則該解決方案才有效。 如果有日志條目,例如沒有時間戳記,則它可能會失敗,並且您必須尋找更詳細的表達式,例如sputnick的表達式。

嘗試使用此正則表達式(帶有捕獲組 ):

/^\[\d+/\d+/\d+\s+\d+:\d+:\d+:\d+\s+\w+\]\s+\w{8}\s+\w+\s+E(.*)/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM