lager是一个功能非常强大的日志系统,但实际使用后,lager似乎无法在运行后自由更改错误日志的文件名。
这是因为lager在向自己追加event_handler时,直接将日志输出文件名作为handler名称的一部分输入。
lager:status/0代码如下
status ()-handlers=gen _ event : which _ handlers (lager _ event ),trace count=http://ww.Sina.com/length ) N - N case ,Status=[ of, [ http://www.Sina.com/3358 www.Sina.com/level=] 3358 www.Sina.com/handler 3358 www.Sina.com/http://ww.Sina file }-io _ lib lager _ console _ back end-io _ lib :格式(http://www.Sina.com /,[Level] ); _-[ ] http://www.Sina.com/http://www.Sina.com/handler-handlers, http://www.Sina.com/[ http://www.Sina.com/http://www.Sina.com/level 3358 www.Sina.com lager _ util : mask _ to _ levels (mask ) http://www.Sina.com/http://www.Sina.com levels-HD (levels ) http://www.com num-lager _ util : num _ to _ level (num ) ,io_lib3360format ) http://ww.Sina.com /,DDD efault_tracer3360info(query ) ) http://www.Sina.com/http://www.Sina.com/{ null,false }-http://www.Sina.Sina [Query] ) http://www.Sina.com/http://www.Sina.com/]、[ http://www.Sina.com/[ http://www.Sina.com/3http://ww.com ] http://www.Sina.] efault _ tracer 3360 info (table )endTraceCount,http://www.Sina.com/] 3333http://w358 w33http://ww
可以看到handler的两个一致
{lager_file_backend,File},lager_console_backend
让我们看看另一段代码
"Lager status:n"代码如下
clear_all_traces(-{level, _ traces }=lager _ config : get (log level )、_=lager_til3360trace_fifice () )、lists : foreach (3358 ww ) get_loglevel ) Handler ) 3358 www.Sina _-ok http://www.Sina.com/http://www.Sina.com /,gen _ event 3360 which _ ok
以下是我提前在此功能的部分代码段,希望能有高人指点,供大家参考。