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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。