Lager(与在啤酒中一样)是 Erlang 的日志框架,其目的是提供更传统的方式在 Erlang 应用程序中执行日志记录,可以很好地与传统的 Unix 日志工具(比如 logrotate 和 syslog)一起使用。
Github 地址:https://github.com/erlang-lager/lager。
xxxxxxxxxx$ rebar3 new lib test_lager$ cd test_lager/xxxxxxxxxx.├── LICENSE├── README.md├── app.config├── rebar.config└── src ├── test_lager.app.src └── test_lager.erl
1 directory, 5 filesapp.config:
xxxxxxxxxx[{lager, [ {log_root, "/tmp/lager"}, {handlers, [ {lager_console_backend, [{level, info}]}, {lager_file_backend, [{file, "error.log"}, {level, error}]}, {lager_file_backend, [{file, "console.log"}, {level, info}]} ]}]}].rebar.config:
xxxxxxxxxx{erl_opts, [debug_info, {parse_transform, lager_transform}, {lager_extra_sinks, [audit]}]}.
{ deps, [ {lager, {git, "https://github.com/erlang-lager/lager", {tag, "3.9.2"}}} ]}.src/test_lager.app.src:
xxxxxxxxxx{application, test_lager, [{description, "An OTP library"}, {vsn, "0.1.0"}, {registered, []}, {applications, [kernel, stdlib, lager ]}, {env,[]}, {modules, []},
{licenses, ["Apache-2.0"]}, {links, []} ]}.src/test_lager.erl:
x
-module(test_lager).
-export([, , ]).
start() -> lager:start().
log_error(Message) -> lager:error(Message).
log_info(Message) -> lager:info(Message).xxxxxxxxxx$ rebar3 compilex
$ erl -pa _build/default/lib/*/ebin -config app.config1> test_lager:start().2> test_lager:log_info("info").3> test_lager:log_error("error").查看文件 /tmp/lager/console.log、/tmp/lager/error.log 的内容。