aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/logger.hrl36
-rw-r--r--rebar.config.script3
-rw-r--r--rel/reltool.config.script2
-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
7 files changed, 113 insertions, 28 deletions
diff --git a/include/logger.hrl b/include/logger.hrl
new file mode 100644
index 000000000..d61b61ac0
--- /dev/null
+++ b/include/logger.hrl
@@ -0,0 +1,36 @@
+%%%----------------------------------------------------------------------
+%%%
+%%% ejabberd, Copyright (C) 2002-2013 ProcessOne
+%%%
+%%% This program is free software; you can redistribute it and/or
+%%% modify it under the terms of the GNU General Public License as
+%%% published by the Free Software Foundation; either version 2 of the
+%%% License, or (at your option) any later version.
+%%%
+%%% This program is distributed in the hope that it will be useful,
+%%% but WITHOUT ANY WARRANTY; without even the implied warranty of
+%%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+%%% General Public License for more details.
+%%%
+%%% You should have received a copy of the GNU General Public License
+%%% along with this program; if not, write to the Free Software
+%%% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+%%% 02111-1307 USA
+%%%
+%%%----------------------------------------------------------------------
+-define(PRINT(Format, Args), io:format(Format, Args)).
+
+-define(DEBUG(Format, Args),
+ ejabberd_logger:debug_msg(?MODULE, ?LINE, Format, Args)).
+
+-define(INFO_MSG(Format, Args),
+ ejabberd_logger:info_msg(?MODULE, ?LINE, Format, Args)).
+
+-define(WARNING_MSG(Format, Args),
+ ejabberd_logger:warning_msg(?MODULE, ?LINE, Format, Args)).
+
+-define(ERROR_MSG(Format, Args),
+ ejabberd_logger:error_msg(?MODULE, ?LINE, Format, Args)).
+
+-define(CRITICAL_MSG(Format, Args),
+ ejabberd_logger:critical_msg(?MODULE, ?LINE, Format, Args)).
diff --git a/rebar.config.script b/rebar.config.script
index 751c05096..d8280ab59 100644
--- a/rebar.config.script
+++ b/rebar.config.script
@@ -43,7 +43,6 @@ HiPE = case lists:keysearch(hipe, 1, Cfg) of
end,
Includes = [{i, "include"},
- {i, filename:join(["deps", "logger", "include"])},
{i, filename:join(["deps", "xml", "include"])}],
SrcDirs = lists:foldl(
@@ -55,7 +54,7 @@ SrcDirs = lists:foldl(
Acc
end, [], Cfg),
-Deps = [{logger, ".*", {git, "git://github.com/processone/p1_logger"}},
+Deps = [{p1_logger, ".*", {git, "git://github.com/processone/p1_logger"}},
{cache_tab, ".*", {git, "git://github.com/processone/cache_tab"}},
{tls, ".*", {git, "git://github.com/processone/tls"}},
{stringprep, ".*", {git, "git://github.com/processone/stringprep"}},
diff --git a/rel/reltool.config.script b/rel/reltool.config.script
index 54b97ed00..dc23ed904 100644
--- a/rel/reltool.config.script
+++ b/rel/reltool.config.script
@@ -25,7 +25,7 @@ ConfiguredOTPApps = lists:flatmap(
OTPApps = RequiredOTPApps ++ ConfiguredOTPApps,
-DepRequiredApps = [logger, cache_tab, tls, stringprep, xml, xmlrpc],
+DepRequiredApps = [p1_logger, cache_tab, tls, stringprep, xml, xmlrpc],
DepConfiguredApps = lists:flatmap(
fun({mysql, true}) -> [mysql];
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.