我有以下消息syslog-ng的匹配和過濾器不工作的方式,我想
1)"customer1"," 5","0","".....
2)"customer2"," 5","0",""....
3)"customer3"," 5","0",""...
4)""," 5","0",""
5)""," 5","0",""
我要創建文件夾,我想是基於雙引號第一個值來實現,然後在寫日誌只有相應的文件夾,並且每當雙引號爲空時,將這些日誌發送到其他文件夾中。通過以下配置,我可以創建類似於(customer1,customer2和customer3)的文件夾。問題時,我必須在像日誌4和5
系統日誌-ng.conf是否
濾清器C1 {匹配(第1名空白值時發生「(^‘’)」標誌(「存儲匹配」) type(「pcre」)value(「MESSAGE」));}; destination d1 {file(「/ opt/data/cef/other/$ {DAY} $ {MONTH} $ {YEAR} _other.log」);}; log {source(s_udp); filter(c1); destination(d1);}; ('=')'標記(「store-matches」)類型(「pcre」)值(「MESSAGE」)值(' ));}; destination d2 {file(「/ opt/data/cef/$ 1/$ {DAY} $ {MONTH} $ {YEAR} _ $ 1.log」);}; log {source(s_udp); filter(c2); destination(d2);};
第一個過濾器檢查第一個雙引號是空的還是像「」,並將這些日誌寫入其他文件夾。問題在於第二個過濾器匹配「」之間的所有內容。因此,如果它有價值,它就會正常工作,但如果它是空的,則會失敗。因此,它會將此日誌寫入名爲03_06_2017.log的文件中/ opt/data/cef文件夾中。我不知道它爲什麼要創建一個單獨的文件。
請幫忙。
問候 VG