" Lager " (ロガー アプリケーション)を使用しようとしています。Lager は、メイン アプリケーション モジュール「A」から開始されました
以下は、.app ファイルでのラガーの指定方法です。
{application, myapp,
[
{description, ""},
{vsn, "1"},
{registered, []},
{applications, [kernel, stdlib]},
{mod, { ontoq, []}},
{env, [
{lager, [
{handlers, [
{lager_console_backend, info},
{lager_file_backend, [{file, "error.log"}, {level, error}]},
{lager_file_backend, [{file, "console.log"}, {level, info}]}
]}
]}
]
}
]}.
アプリケーション「A」の開始機能からラガーを開始します。
start(_StartType, _StartArgs) ->
random:seed(erlang:now()),
lager:start(),
lager:info("here is something to the log ~p", ["SomeString"]),
start_other_apps_that_call_module_B().
プレーンな erlang モジュール (アプリケーションなし) だけを含む別のプロジェクト モジュール "B" を作成しました。そこから、私の関数のいくつかは、lager を使用してログを書き込もうとします。
lager:info("here is something to the log ~p", ["SomeString"]),
上記はどういうわけか失敗します。「lager」は、ErlangVM で実行されている登録済みアプリケーションを参照するアトムであると予想していました。どういうわけか、そうではないようです。これは失敗メッセージです:
{undef,[{lager,info,["here is something to the log ~p",[["Something"]]],[]},{
プロセス ツリー内でアプリケーションの可視性を制限するものはありますか