我在模式文件中定义了以下 Grok 模式
HOSTNAME b(?:[0-9A-Za-z][0-9A-Za-z-]{0,62})(?:.(?:[0-9A-Za-z][0-9A-Za-z-]{0,62}))*(.?|b)
EMAILLOCALPART [a-zA-Z][a-zA-Z0-9_.+-=:]+
EMAILADDRESS %{EMAILLOCALPART}@%{HOSTNAME}
由于某种原因,当使用以下输入对 http://grokdebug.herokuapp.com/运行时,这不会编译,它只是返回"编译错误"
Node1Spam.log.2016-05-03 171 1540699703 03/May/2016 00:00:01 +0000 INFO [http-bio-0.0.0.0-8001-exec-20429] EngagementServiceImpl logDefault 192.168.1.122 77777777777777777 DAMIEN@DAMIEN.COM > initiated Stuff: 8675309, provider: 8675309, member: 8675309
是否有某种原因我收到编译错误/这甚至会与该日志行中的电子邮件匹配吗?
谢谢
(?<email>[a-zA-Z0-9_.+=:-]+@[0-9A-Za-z][0-9A-Za-z-]{0,62}(?:.(?:[0-9A-Za-z][0-9A-Za-z-]{0,62}))*)
或:
(?<email>[w.+=:-]+@[0-9A-Za-z][0-9A-Za-z-]{0,62}(?:[.](?:[0-9A-Za-z][0-9A-Za-z-]{0,62}))*)
他们在 grokdebug.herokuapp.com 工作。顺便说一句,https://github.com/rgevaert/grok-patterns/blob/master/grok.d/postfix_patterns 以不同的方式定义电子邮件模式:EMAILADDRESS %{EMAILADDRESSPART:local}@%{EMAILADDRESSPART:remote}
,它也可能有效。