aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2013-05-12 19:41:59 +1000
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2013-05-12 19:41:59 +1000
commit300e765e203880d9398bcecbedc9ca8ad9966cbf (patch)
tree72dd6831a241fa916d559e29b1d4b5ba976a8521 /src
parentDescribe the new configure options in the guide (diff)
Call all logging functions via single module
Diffstat (limited to 'src')
-rw-r--r--src/ejabberd_admin.erl24
-rw-r--r--src/ejabberd_app.erl4
-rw-r--r--src/ejabberd_config.erl2
-rw-r--r--src/ejabberd_logger.erl70
4 files changed, 75 insertions, 25 deletions
diff --git a/src/ejabberd_admin.erl b/src/ejabberd_admin.erl
index cef10013b..b0f847337 100644
--- a/src/ejabberd_admin.erl
+++ b/src/ejabberd_admin.erl
@@ -110,7 +110,7 @@ commands() ->
result = {res, rescode}},
#ejabberd_commands{name = get_loglevel, tags = [logs, server],
desc = "Get the current loglevel",
- module = loglevel, function = get,
+ module = ejabberd_logger, function = get,
args = [],
result = {leveltuple, {tuple, [{levelnumber, integer},
{levelatom, atom},
@@ -280,27 +280,7 @@ status() ->
reopen_log() ->
ejabberd_hooks:run(reopen_log_hook, []),
- %% TODO: Use the Reopen log API for logger_h ?
- logger_h:reopen_log(),
- case application:get_env(sasl,sasl_error_logger) of
- {ok, {file, SASLfile}} ->
- error_logger:delete_report_handler(sasl_report_file_h),
- logger_h:rotate_log(SASLfile),
- error_logger:add_report_handler(sasl_report_file_h,
- {SASLfile, get_sasl_error_logger_type()});
- _ -> false
- end,
- ok.
-
-%% Function copied from Erlang/OTP lib/sasl/src/sasl.erl which doesn't export it
-get_sasl_error_logger_type () ->
- case application:get_env (sasl, errlog_type) of
- {ok, error} -> error;
- {ok, progress} -> progress;
- {ok, all} -> all;
- {ok, Bad} -> exit ({bad_config, {sasl, {errlog_type, Bad}}});
- _ -> all
- end.
+ ejabberd_logger:reopen_log().
%%%
%%% Stop Kindly
diff --git a/src/ejabberd_app.erl b/src/ejabberd_app.erl
index 218a714c7..3cedf352f 100644
--- a/src/ejabberd_app.erl
+++ b/src/ejabberd_app.erl
@@ -39,7 +39,7 @@
%%%
start(normal, _Args) ->
- loglevel:set(4),
+ ejabberd_logger:set(4),
write_pid_file(),
start_apps(),
randoms:start(),
@@ -104,7 +104,7 @@ init() ->
%erlang:system_flag(fullsweep_after, 0),
%error_logger:logfile({open, ?LOG_PATH}),
LogPath = get_log_path(),
- error_logger:add_report_handler(logger_h, LogPath),
+ ejabberd_logger:set_logfile(LogPath),
loop().
loop() ->
diff --git a/src/ejabberd_config.erl b/src/ejabberd_config.erl
index c973c19b2..c4206426e 100644
--- a/src/ejabberd_config.erl
+++ b/src/ejabberd_config.erl
@@ -453,7 +453,7 @@ process_term(Term, State) ->
{ejabberdctl_access_commands, ACs} ->
add_option(ejabberdctl_access_commands, ACs, State);
{loglevel, Loglevel} ->
- loglevel:set(Loglevel),
+ ejabberd_logger:set(Loglevel),
State;
{max_fsm_queue, N} ->
add_option(max_fsm_queue, N, State);
diff --git a/src/ejabberd_logger.erl b/src/ejabberd_logger.erl
new file mode 100644
index 000000000..afb1f3f3d
--- /dev/null
+++ b/src/ejabberd_logger.erl
@@ -0,0 +1,70 @@
+%%%-------------------------------------------------------------------
+%%% @author Evgeniy Khramtsov <ekhramtsov@process-one.net>
+%%% @copyright (C) 2013, Evgeniy Khramtsov
+%%% @doc
+%%%
+%%% @end
+%%% Created : 12 May 2013 by Evgeniy Khramtsov <ekhramtsov@process-one.net>
+%%%-------------------------------------------------------------------
+-module(ejabberd_logger).
+
+%% API
+-export([start/0, set_logfile/1, reopen_log/0, get/0, set/1,
+ debug_msg/4, info_msg/4, warning_msg/4, error_msg/4,
+ critical_msg/4]).
+
+%%%===================================================================
+%%% API
+%%%===================================================================
+start() ->
+ ok.
+
+set_logfile(FileName) ->
+ error_logger:add_report_handler(p1_logger_h, FileName).
+
+reopen_log() ->
+ %% TODO: Use the Reopen log API for logger_h ?
+ p1_logger_h:reopen_log(),
+ case application:get_env(sasl,sasl_error_logger) of
+ {ok, {file, SASLfile}} ->
+ error_logger:delete_report_handler(sasl_report_file_h),
+ p1_logger_h:rotate_log(SASLfile),
+ error_logger:add_report_handler(sasl_report_file_h,
+ {SASLfile, get_sasl_error_logger_type()});
+ _ -> false
+ end,
+ ok.
+
+get() ->
+ p1_loglevel:get().
+
+set(LogLevel) ->
+ p1_loglevel:set(LogLevel).
+
+debug_msg(Mod, Line, Format, Args) ->
+ p1_logger:debug_msg(Mod, Line, Format, Args).
+
+info_msg(Mod, Line, Format, Args) ->
+ p1_logger:info_msg(Mod, Line, Format, Args).
+
+warning_msg(Mod, Line, Format, Args) ->
+ p1_logger:warning_msg(Mod, Line, Format, Args).
+
+error_msg(Mod, Line, Format, Args) ->
+ p1_logger:error_msg(Mod, Line, Format, Args).
+
+critical_msg(Mod, Line, Format, Args) ->
+ p1_logger:critical_msg(Mod, Line, Format, Args).
+
+%%%===================================================================
+%%% Internal functions
+%%%===================================================================
+%% Function copied from Erlang/OTP lib/sasl/src/sasl.erl which doesn't export it
+get_sasl_error_logger_type () ->
+ case application:get_env (sasl, errlog_type) of
+ {ok, error} -> error;
+ {ok, progress} -> progress;
+ {ok, all} -> all;
+ {ok, Bad} -> exit ({bad_config, {sasl, {errlog_type, Bad}}});
+ _ -> all
+ end.