锁定老帖子 主题:给sasl日志增加过滤功能
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-09-16
sasl中的error_logger_mf日志处理器,是基于log_mf_h的。其有一个日志信息的过滤接口,但在sasl中并没有实现。也就是说,理论上重新定义sasl中的这个过滤函数sasl:pred(),就可以在sasl日志中实现按日志类型进行过滤的功能。 [{sasl, [ %% sasl_error_logger config {sasl_error_logger, false}, %% error_logger_mf config {error_logger_mf_dir,"./logs"}, {error_logger_mf_maxbytes,10485760}, % 10 MB {error_logger_mf_maxfiles, 10}, %% system|info|warning|error|other {error_logger_mf_ftype, [system, error]} ]}].
对sasl.erl的修改,主要是增加一个配置读取函数get_mf_ftype(),重新定义了过滤还是pred(),并对pred()调用方式进行了调整。 pred({_Type, GL, _Msg}, _FTypes) when node(GL) /= node() -> false; pred(Event, FTypes) -> EventType = case Event of {error, _GL, _Msg}-> error; {error_report, _GL, {_Pid, std_error, _Rep}}-> error; {error_report, _GL, {_Pid, Type, _Rep}}-> case Type of supervisor_report-> system; crash_report-> system; _-> other end; {info_msg, _GL, _Msg}-> info; {info_report, _GL, {_Pid, std_info, _Ret}}-> info; {info_report, _GL, {_Pid, Type, _Ret}}-> case Type of progress-> system; _-> other end; {warning_msg, _GL, _Msg}-> warning; {warning_report, _GL, {_Pid, std_warning, _Rep}}-> warning; {warning_report, _GL, {_Pid, Type, _Rep}}-> other end, lists:member(EventType, FTypes).
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-09-17
在erlang.spawn()中更有类似如下的定义:
spawn({M,F}=MF) when is_atom(M), is_atom(F) -> spawn(erlang, apply, [MF, []]); 这是我头一次看到这种方式。《Programming Erlang》中好像也没有相关的说明。有哪位仁兄了解,能对此详细给说明一下吗? 这种方式是个erlang支持的函数方式 但是快要过时了 下个版本应该要移除了。 |
|
返回顶楼 | |
浏览 2450 次