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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
