私は mochiweb ベースのアプリケーションを持っています。アプリケーションの起動時に -kernel error_logger '{file, "mylog.log"}' を指定しましたが、しばらく実行した後、error_logger は何も出力しません。アプリケーションが開始されたとき、
sys:get_status(EPID).
{status,<0.5.0>,
{module,gen_event},
[[{'$ancestors',[<0.2.0>]},
{'$initial_call',{gen_event,init_it,6}}],
running,<0.2.0>,[],
[{header,"Status for event handler error_logger"},
{data,[{"Status",running},{"Parent",<0.2.0>}]},
{items,{"Installed handlers",
[{handler,sasl_report_tty_h,false,all,false},
{handler,error_logger,false,[],false},
{handler,error_logger_file_h,false,
{<0.35.0>,"mylog.log",error_logger},
false}]}}]]}
そしてしばらくすると、
sys:get_status(EPID).
{status,<0.5.0>,
{module,gen_event},
[[{'$ancestors',[<0.2.0>]},
{'$initial_call',{gen_event,init_it,6}}],
running,<0.2.0>,[],
[{header,"Status for event handler error_logger"},
{data,[{"Status",running},{"Parent",<0.2.0>}]},
{items,{"Installed handlers",
[{handler,sasl_report_tty_h,false,all,false},
{handler,error_logger,false,[],false}]}}]]}
error_logger_file_h がありません。なんで?