log(Level, StringOrReport) -> ok
OTP 21.0log(Level, StringOrReport, Metadata) -> ok
OTP 21.0log(Level, Format, Args) -> ok
OTP 21.0log(Level, Fun, FunArgs) -> ok
OTP 21.0log(Level, Format, Args, Metadata) -> ok
OTP 21.0log(Level, Fun, FunArgs, Metadata) -> ok
OTP 21.0
类型:
Level = level()
StringOrReport = unicode:chardata() | report()
Format = io:format()
Args = [term()]
Fun = msg_fun()
FunArgs = term()
Metadata = metadata()
在给定的位置创建日志事件日志级别,给定信息被记录和metadata.例子:
%% A plain string
logger:log(info, "Hello World").
%% A plain string with metadata
logger:log(debug, "Hello World", #{ meta => data }).
%% A format string with arguments
logger:log(warning, "The roof is on ~ts",[Cause]).
%% A report
logger:log(warning, #{ what => roof, cause => Cause }).
消息和元数据可以直接在参数中给出,也可以从 fun 返回。在消息/元数据的计算成本非常昂贵的情况下,传递 fun 而不是直接传递消息/元数据非常有用。这是因为只有在实际需要消息/元数据时才会评估乐趣,如果不记录日志事件,则可能根本不会评估乐趣。例子:
%% A plain string with expensive metadata
logger:info(fun([]) -> {"Hello World", #{ meta => expensive() }} end,[]).
%% An expensive report
logger:debug(fun(What) -> #{ what => What, cause => expensive() } end,roof).
%% A plain string with expensive metadata and normal metadata
logger:debug(fun([]) -> {"Hello World", #{ meta => expensive() }} end,[],
#{ meta => data }).
当元数据作为参数给出并从 fun 中返回时,它们将被合并。如果存在相等的键,则从 fun 返回的元数据中获取值。
相关用法
- erlang log用法及代码示例
- erlang localtime用法及代码示例
- erlang localtime()用法及代码示例
- erlang localtime_to_universaltime(Localtime)用法及代码示例
- erlang localtime_to_universaltime(Localtime, IsDst)用法及代码示例
- erlang load(AppDescr)用法及代码示例
- erlang lookup(Name, Key)用法及代码示例
- erlang longest_common_prefix(Binaries)用法及代码示例
- erlang longest_common_suffix(Binaries)用法及代码示例
- erlang lowercase(String :: unicode:chardata())用法及代码示例
- erlang len用法及代码示例
- erlang left用法及代码示例
- erlang last用法及代码示例
- erlang list_dir用法及代码示例
- erlang list_to_atom用法及代码示例
- erlang list_to_tuple用法及代码示例
- erlang list_to_binary用法及代码示例
- erlang length(List)用法及代码示例
- erlang list_to_atom(String)用法及代码示例
- erlang list_to_binary(IoList)用法及代码示例
- erlang list_to_bitstring(BitstringList)用法及代码示例
- erlang list_to_float(String)用法及代码示例
- erlang list_to_integer(String)用法及代码示例
- erlang list_to_integer(String, Base)用法及代码示例
- erlang list_to_pid(String)用法及代码示例
注:本文由纯净天空筛选整理自erlang.org大神的英文原创作品 log(Level, StringOrReport) -> ok。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。