ランタイムシステムから送られてくるエラ情報のうち、キャッチされない例外によってプロセスが終了したという情報は、デフォルトではターミナル(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}]}
エラー情報は、 error_logger というシステムプロセスのエラーロガーにより取り扱われます。このプロセスは、Erlangのランタイムシステムや、標準的なビヘイビア、他のErlang/OTPアプリケーションなどから送られてくるすべてのエラーメッセージを受信します。
ランタイムシステムが使用する、上記のサンプルの badarg のような終了理由については、Erlangリファレンスマニュアルの、 Errors and Error Handling で説明されています。
error_logger プロセスと、そのインタフェース(プロセス名と同じ名前)は、 error_logger(3) で説明されています。また、設定によって、エラー情報をコンソールに出さないでファイルに出したり、両方に同時に出すことも可能です。また、ユーザ定義アプリケーションも、 error_logger を使ってエラー情報を送信したり、フォーマットすることも可能です。
標準のビヘイビア(スーパバイザ・ビヘイビア 、 gen_serverビヘイビア など)は進捗情報やエラー情報を error_logger に送付します。もし SASL アプリケーションが起動していると、この情報は同じようにttyに書き出されます。詳しくはSASLユーザガイドのSASL Error Loggingを参照してください。
% erl -boot start_sasl
Erlang (BEAM) emulator version 5.4.13 [hipe] [threads:0] [kernel-poll]
=PROGRESS REPORT==== 31-Mar-2006::12:45:58 ===
supervisor: {local,sasl_safe_sup}
started: [{pid,<0.33.0>},
{name,alarm_handler},
{mfa,{alarm_handler,start_link,[]}},
{restart_type,permanent},
{shutdown,2000},
{child_type,worker}]
=PROGRESS REPORT==== 31-Mar-2006::12:45:58 ===
supervisor: {local,sasl_safe_sup}
started: [{pid,<0.34.0>},
{name,overload},
{mfa,{overload,start_link,[]}},
{restart_type,permanent},
{shutdown,2000},
{child_type,worker}]
=PROGRESS REPORT==== 31-Mar-2006::12:45:58 ===
supervisor: {local,sasl_sup}
started: [{pid,<0.32.0>},
{name,sasl_safe_sup},
{mfa,{supervisor,
start_link,
[{local,sasl_safe_sup},sasl,safe]}},
{restart_type,permanent},
{shutdown,infinity},
{child_type,supervisor}]
=PROGRESS REPORT==== 31-Mar-2006::12:45:58 ===
supervisor: {local,sasl_sup}
started: [{pid,<0.35.0>},
{name,release_handler},
{mfa,{release_handler,start_link,[]}},
{restart_type,permanent},
{shutdown,2000},
{child_type,worker}]
=PROGRESS REPORT==== 31-Mar-2006::12:45:58 ===
application: sasl
started_at: nonode@nohost
Eshell V5.4.13 (abort with ^G)
1>
Copyright c 1996-2010 Ericsson AB. All Rights Reserved.