domain(LogEvent, Extra) -> logger:filter_return()
OTP 21.0LogEvent = logger:log_event()
Extra = {Action, Compare, MatchDomain}
Action = log | stop
Compare = super | sub | equal | not_equal | undefined
MatchDomain = [atom()]
此過濾器提供了一種基於 Metadata 中的 domain 字段過濾日誌事件的方法。該字段是可選的,使用它的目的是對來自特定函數區域的日誌事件進行分組。這允許在記錄器處理程序中進行過濾或其他專門處理。
域字段必須是原子列表,隨著列表變長,創建更小、更專業的域。最大的域是 [] ,它包含所有可能的域。
例如,考慮以下域:
D1 = [otp]
D2 = [otp, sasl]
D1 是兩者中最大的一個,據說是 D2 的 super-domain 。 D2 是 sub-domain D1 。 D1 和D2 都是[] 的sub-domains 。
上述域用於源自 Erlang/OTP 的日誌。 D1表示日誌事件一般來自Erlang/OTP,D2表示日誌事件是所謂的SASL報告.
Extra參數到domain/2通過添加過濾器時指定函數
logger:add_primary_filter/2或者
logger:add_handler_filter/3.
過濾器將日誌事件元數據 (Domain) 中的 domain 字段的值與 MatchDomain 進行比較。如果 Compare 的值為:則過濾器匹配:
sub-
並且
Domain等於或MatchDomain的 sub-domain ,也就是說,如果MatchDomain是Domain的前綴。 super-
並且
Domain等於或MatchDomain的 super-domain ,也就是說,如果Domain是MatchDomain的前綴。 equal-
並且
Domain等於MatchDomain。 not_equal-
並且
Domain與MatchDomain不同,或者元數據中沒有域字段。 undefined-
並且元數據中沒有域字段。在這種情況下,
MatchDomain必須設置為[]。
如果過濾器匹配並且 Action 是 log ,則允許日誌事件。如果過濾器匹配且 Action 為 stop ,則日誌事件將停止。
如果過濾器不匹配,則返回 ignore ,這意味著其他過濾器或配置參數 filter_default 的值將決定是否允許該事件。
不包含任何域字段的日誌事件僅當 Compare 等於 undefined 或 not_equal 時匹配。
示例:停止域為 [otp,
sasl | _] 的所有事件
logger:set_handler_config(h1, filter_default, log). % this is the default
Filter = {fun logger_filters:domain/2, {stop, sub, [otp, sasl]}}.
logger:add_handler_filter(h1, no_sasl, Filter).
ok
相關用法
- erlang domain(BinRel)用法及代碼示例
- erlang delete用法及代碼示例
- erlang droplast用法及代碼示例
- erlang duplicate用法及代碼示例
- erlang date用法及代碼示例
- erlang dirname(Filename)用法及代碼示例
- erlang date()用法及代碼示例
- erlang decode_packet(Type, Bin, Options)用法及代碼示例
- erlang delete_element(Index, Tuple1)用法及代碼示例
- erlang demonitor(MonitorRef, OptionList)用法及代碼示例
- erlang delete(Item, Q1)用法及代碼示例
- erlang delete_r(Item, Q1)用法及代碼示例
- erlang delete_with(Pred, Q1)用法及代碼示例
- erlang delete_with_r(Pred, Q1)用法及代碼示例
- erlang drop(Q1 :: queue(Item))用法及代碼示例
- erlang drop_r(Q1 :: queue(Item))用法及代碼示例
- erlang daeh(Q :: queue(Item))用法及代碼示例
- erlang deflate(Z, Data, Flush)用法及代碼示例
- erlang decode_unsigned(Subject, Endianness)用法及代碼示例
- erlang decode_hex(Bin)用法及代碼示例
- erlang duplicate(N, Elem)用法及代碼示例
- erlang drestriction(BinRel1, Set)用法及代碼示例
- erlang drestriction(SetFun, Set1, Set2)用法及代碼示例
- erlang dh_gex_group(MinSize, SuggestedSize, MaxSize, Groups)用法及代碼示例
- erlang dissect_query(QueryString)用法及代碼示例
注:本文由純淨天空篩選整理自erlang.org大神的英文原創作品 domain(LogEvent, Extra) -> logger:filter_return()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
