zoukankan      html  css  js  c++  java
  • 日志系统。

    一、SASL

     

    SASL全称System Architecture Support Libraries,提供如下几个服务:

    alarm_handler

    overload

    rb

    release_handler

    systools

    SASL带有error_logger的事件处理句柄用于格式化SASL错误和crash报告,这些句柄如下:

    sasl_report_tty_h   sasl_report_file_h   error_logger_mf_h

    细节参考OTP文档可知。

    SASL的默认event handler会将crash报告、supervisor和进程报告输出到控制台,如果你希望看到这些信息,那么在erlang启动时需要加上指定的参数以启动sasl

    为了方便日志的查看,通常sasl和其他日志是分开输出的,可以在启动erl时使用如下命令行参数:

    -sasl sasl_error_logger {file,"/data/ log/sasl.log"}

    二、ejabberd的日志系统。

    它包含两个部分:

    dynamic_compile.erl   动态编译基础模块

    ejabberd_logger_h.erl  这是个gen_event behavior模块,可以定制我们写日志的行为

    ejabberd_loglevel.h    这个是ejabberd日志系统的精华,可以在运行时动态调节日志的输出级别。

     

    用法很简单:

    error_logger:add_report_handler(ejabberd_logger_h, LogPath),

    ejabberd_loglevel:set(4) //级别4是info日志

    原理很简单,利用code模块的load_binary来实现动态代码替换,但是确实非常强大,可以在需要的时候打开某些特定级别的日志,在系统负载高的时候或者不需要的时候关闭它。

    三、

    log4erl

    四、

    lager

    五、

    mslog:仅供参考,https://github.com/qingliangcn/mslog.

  • 相关阅读:
    JSON
    Chromium 修改chrome.exe
    Chromium 修改任务管理器显示的Chromium
    winhttp get请求https
    string wstring 互转
    浏览器指纹在线监测获取网址
    咕了的构造题单总结
    Git 常用命令总结
    C# 网络地址是否有效
    IDEA如何从断点里获取对象所有数据
  • 原文地址:https://www.cnblogs.com/ribavnu/p/3784636.html
Copyright © 2011-2022 走看看