Browse Source

Default the error_logger redirect to be on, log to the 'log' dir

pull/4/head
Andrew Thompson 14 years ago
parent
commit
0859c90b06
3 changed files with 12 additions and 7 deletions
  1. +6
    -2
      README.org
  2. +5
    -5
      src/lager.erl
  3. +1
    -0
      test/lager_test_backend.erl

+ 6
- 2
README.org View File

@ -64,8 +64,12 @@
* Error logger integration * Error logger integration
Lager is also supplied with a error_logger handler module that translates Lager is also supplied with a error_logger handler module that translates
traditional erlang error messages into a friendlier format and sends them into traditional erlang error messages into a friendlier format and sends them into
lager itself to be treated like a regular lager log call. To enable this, set
the lager application variable `error_logger_redirect' to `true'.
lager itself to be treated like a regular lager log call. To disable this, set
the lager application variable `error_logger_redirect' to `false'.
The error_logger handler will also log more complete error messages (protected
with use of trunc_io) to a "crash log" which can be referred to for further
information.
* Runtime loglevel changes * Runtime loglevel changes
You can change the log level of any lager backend at runtime by doing the You can change the log level of any lager backend at runtime by doing the

+ 5
- 5
src/lager.erl View File

@ -35,7 +35,7 @@ start_link() ->
Handlers = case application:get_env(lager, handlers) of Handlers = case application:get_env(lager, handlers) of
undefined -> undefined ->
[{lager_console_backend, [info]}, [{lager_console_backend, [info]},
{lager_file_backend, [{"error.log", error}, {"console.log", info}]}];
{lager_file_backend, [{"log/error.log", error}, {"log/console.log", info}]}];
{ok, Val} -> {ok, Val} ->
Val Val
end, end,
@ -45,7 +45,7 @@ start() ->
Handlers = case application:get_env(lager, handlers) of Handlers = case application:get_env(lager, handlers) of
undefined -> undefined ->
[{lager_console_backend, [info]}, [{lager_console_backend, [info]},
{lager_file_backend, [{"error.log", error}, {"console.log", info}]}];
{lager_file_backend, [{"log/error.log", error}, {"log/console.log", info}]}];
{ok, Val} -> {ok, Val} ->
Val Val
end, end,
@ -100,13 +100,13 @@ init([Handlers]) ->
MinLog = minimum_log_level(get_log_levels()), MinLog = minimum_log_level(get_log_levels()),
lager_mochiglobal:put(loglevel, MinLog), lager_mochiglobal:put(loglevel, MinLog),
case application:get_env(lager, error_logger_redirect) of case application:get_env(lager, error_logger_redirect) of
{ok, true} ->
{ok, false} ->
{ok, #state{}};
_ ->
gen_event:add_sup_handler(error_logger, error_logger_lager_h, []), gen_event:add_sup_handler(error_logger, error_logger_lager_h, []),
%% TODO allow user to whitelist handlers to not be removed %% TODO allow user to whitelist handlers to not be removed
[gen_event:delete_handler(error_logger, X, {stop_please, ?MODULE}) || [gen_event:delete_handler(error_logger, X, {stop_please, ?MODULE}) ||
X <- gen_event:which_handlers(error_logger) -- [error_logger_lager_h]], X <- gen_event:which_handlers(error_logger) -- [error_logger_lager_h]],
{ok, #state{}};
_ ->
{ok, #state{}} {ok, #state{}}
end. end.

+ 1
- 0
test/lager_test_backend.erl View File

@ -173,6 +173,7 @@ lager_test_() ->
setup() -> setup() ->
application:load(lager), application:load(lager),
application:set_env(lager, handlers, [{?MODULE, [info]}]), application:set_env(lager, handlers, [{?MODULE, [info]}]),
application:set_env(lager, error_logger_redirect, false),
application:start(lager). application:start(lager).
cleanup(_) -> cleanup(_) ->

Loading…
Cancel
Save