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.

  • 相关阅读:
    差一个引号的崩溃
    js中.toString()和String()的一丢丢区别
    PC端和手机端页面的一丢丢区别
    LINQ踩坑记录
    C# list group分组扩展,方法来源网络记录备忘
    NPOI分批读取数据
    Xamarin开发登录示例
    动态创建匿名对象利用表达式树动态构建分组条件
    安卓H5互调笔记
    WPF学习6
  • 原文地址:https://www.cnblogs.com/ribavnu/p/3784636.html
Copyright © 2011-2022 走看看