При запуске gen_server
из супервизора (который сам запускается приложением) у меня возникает проблема, когда start_link
gen_server не возвращает {ok, ...}
, а {error, Reason}
единственное сообщение об ошибке, которое я вижу:
=INFO REPORT==== 20-Jan-2011::13:14:43 ===
application: foo
exited: {shutdown,{foo_app,start,[normal,[]]}}
type: temporary
Reason
для завершения не отображается / не регистрируется.
Есть ли способ увидеть / зарегистрировать эти ошибки, возвращаемые супервизору?
Я использую childspec, например:
{ok, {{one_for_one, 3, 10}, ...
{usb_mux_1,
{usb_mux, start_link,
[Some_Params]},
permanent,
10000,
worker,
[usb_mux]}, ...
Изменить: пояснение
Я знаю об error_logger и уже пользуюсь им. Вопрос не в том, как что-то зарегистрировать, а в том, как заставить супервизора регистрировать причину его завершения, например log, кто завершил работу с возвратом ошибки, и что она вернула.
И чтобы это тоже не мешало, да, я начинаю erlang с sasl на:
-boot start_sasl