1
我想動態設置系統日誌消息的目的地,我無法弄清楚如何去做。我希望根據郵件的內容將郵件記錄到某些文件夾中。基於消息內容的系統日誌目的地
例如,我虛構的程序會根據它的ID在系統中記錄關於系統中的對象的消息。因此,對象上的每個CRUD操作都使用其ID進行記錄。我想根據它的ID爲每個對象都有一個單獨的日誌文件。
如果有一種方法可以通過正則表達式解析ID,存儲ID,然後在目標中使用它,我將能夠滿足我的要求。
類似這樣的東西(很明顯是僞代碼並且不起作用),其中每個日誌消息都有對象ID作爲日誌文件名,這是每個存儲在括號中的日誌消息的4位數字:
# somehow parse out value that matches the regex \[\s\d][\s\d][\s\d][\s\d]\] and store it in $id
destination df_dest { file("/v/logs/${YEAR}${MONTH}${DAY}/$id.log"); };
filter f_program { program("program"); };
log { source(s_all); filter (f_program); destination (df_dest); flags(final); };
在這種情況下,將有2個日誌文件...
1234.log
6789.log
...每個組中2個消息。
[1234] Updated.
[1234] Deleted.
[6789] Created.
[6789] Fetched.
任何幫助,非常感謝。
感謝。在寫入syslog時,我最終'標記'了$ {PROGRAM}。然後我使用過濾器將消息路由到正確的日誌文件。有用。 –