【问题标题】:Erlang trouble using otp logging使用 otp 日志记录的 Erlang 问题
【发布时间】:2012-02-25 03:12:25
【问题描述】:

我目前正尝试按照文档建议在我的应用中设置 otp 日志记录。

我有以下启动行:

erl -pa ebin edit deps/*/ebin -boot start_sasl \
            -detached \
            -sasl sasl_error_logger "{file, \"priv/log/app.log\"}" \
            -sasl errlog_type all \
            -sname $APP_NAME \
            -s $APP_NAME

但是当我在我的应用程序中说error_logger:error_report("!!!!")error_logger:error_msg("!!!!") 之类的内容时,日志文件中没有打印任何内容,我做错了什么?

【问题讨论】:

    标签: erlang erlang-otp


    【解决方案1】:

    问题很简单。 SASL 仅记录 PROGRESS、CRASH 和 SUPERVISOR 报告(或者文档中这么说)。您发送的内容是不记录的错误报告。如果您在启用 SASL 的进程中创建了一些崩溃,比如说

    proc_lib:spawn(fun() -> exit(argh) end).
    

    那么该报告应该会出现在您的日志中。我认为mf 记录器会获取所有内容,但我可能错了。它还需要rb 工具来读取有问题的日志文件。一个真正的应用程序的好选择是使用由 Basho 技术的优秀人员编写的 lager 应用程序。它提供了一个更像 syslog 的接口,并且它也处理 SASL 错误日志类型。此外,如果您尝试记录非常大的进程状态(默认 SASL 记录器会这样做),它不会破坏您的服务器。

    【讨论】:

      猜你喜欢
      • 2011-04-12
      • 1970-01-01
      • 2014-08-10
      • 2011-08-18
      • 2021-08-28
      • 1970-01-01
      • 1970-01-01
      • 2011-09-15
      • 1970-01-01
      相关资源
      最近更新 更多