查看源代码 错误日志

来自运行时系统的错误信息

来自运行时系统的错误信息,即关于进程因未捕获的错误异常而终止的信息,默认情况下会写入终端 (TTY)。

=ERROR REPORT==== 9-Dec-2003::13:25:02 ===
Error in process <0.27.0> with exit value: {{badmatch,[1,2,3]},[{m,f,1},{shell,eval_loop,2}]}

错误信息由 Logger 处理,它是 Kernel 应用程序的一部分。

运行时系统使用的退出原因(例如 badarg)在错误和错误处理中描述。

有关 Logger 及其用户界面的信息,请参阅 logger 手册页和 Kernel 用户指南中的日志记录部分。可以配置系统,以便将日志事件写入文件或 TTY,或两者都写入。此外,用户定义的应用程序可以使用 Logger 发送和格式化日志事件。

来自 OTP 行为的日志事件

标准行为(supervisorgen_server 等)将进度和错误信息发送到 Logger。默认情况下,不会记录进度报告,但可以通过将主日志级别设置为 info 来启用,例如使用 Kernel 配置参数 logger_level。默认情况下,Supervisor 报告、崩溃报告和其他错误和信息报告会通过在 Kernel 应用程序启动时设置的日志处理程序进行记录。

在 Erlang/OTP 21.0 之前,只有在 SASL 应用程序运行时才会记录 supervisor、崩溃和进度报告。为了向后兼容,可以通过将 Kernel 配置参数 logger_sasl_compatible 设置为 true 来启用此行为。有关更多信息,请参阅 SASL 用户指南中的SASL 错误日志记录

% erl -kernel logger_level info
Erlang/OTP 21 [erts-10.0] [source-13c50db] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:1] [hipe]

=PROGRESS REPORT==== 8-Jun-2018::16:54:19.916404 ===
    application: kernel
    started_at: nonode@nohost
=PROGRESS REPORT==== 8-Jun-2018::16:54:19.922908 ===
    application: stdlib
    started_at: nonode@nohost
=PROGRESS REPORT==== 8-Jun-2018::16:54:19.925755 ===
    supervisor: {local,kernel_safe_sup}
    started: [{pid,<0.74.0>},
              {id,disk_log_sup},
              {mfargs,{disk_log_sup,start_link,[]}},
              {restart_type,permanent},
              {shutdown,1000},
              {child_type,supervisor}]
=PROGRESS REPORT==== 8-Jun-2018::16:54:19.926056 ===
    supervisor: {local,kernel_safe_sup}
    started: [{pid,<0.75.0>},
              {id,disk_log_server},
              {mfargs,{disk_log_server,start_link,[]}},
              {restart_type,permanent},
              {shutdown,2000},
              {child_type,worker}]
Eshell V10.0  (abort with ^G)
1>