diff options
author | Paweł Chmielowski <pchmielowski@process-one.net> | 2021-01-13 11:47:51 +0100 |
---|---|---|
committer | Paweł Chmielowski <pchmielowski@process-one.net> | 2021-01-13 11:48:46 +0100 |
commit | 95c157409b1e6cf82a5dc40c23de91624d495d9d (patch) | |
tree | 617b2e1f637586212590feda8242c9bad7e3281f | |
parent | Mention gettext and weblate to update translations (diff) |
Fix handling of log_rotate_size: infinity
This should fix issue reported in #3462
-rwxr-xr-x | ejabberdctl.template | 2 | ||||
-rw-r--r-- | src/ejabberd_logger.erl | 7 |
2 files changed, 7 insertions, 2 deletions
diff --git a/ejabberdctl.template b/ejabberdctl.template index 256a40c7..b2bfb38a 100755 --- a/ejabberdctl.template +++ b/ejabberdctl.template @@ -87,7 +87,7 @@ ERL_INETRC="$ETC_DIR"/inetrc # define ejabberd parameters EJABBERD_OPTS="$EJABBERD_OPTS\ -$(sed '/^log_rotate_size/!d;s/:[ \t]*\([0-9]*\).*/ \1/;s/^/ /' "$EJABBERD_CONFIG_PATH")\ +$(sed '/^log_rotate_size/!d;s/:[ \t]*\([0-9]\{1,\}\).*/ \1/;s/:[ \t]*\(infinity\).*/ \1/;s/^/ /' "$EJABBERD_CONFIG_PATH")\ $(sed '/^log_rotate_count/!d;s/:[ \t]*\([0-9]*\).*/ \1/;s/^/ /' "$EJABBERD_CONFIG_PATH")" [ -n "$EJABBERD_OPTS" ] && EJABBERD_OPTS="-ejabberd $EJABBERD_OPTS" EJABBERD_OPTS="-mnesia dir \"$SPOOL_DIR\" $MNESIA_OPTIONS $EJABBERD_OPTS -s ejabberd" diff --git a/src/ejabberd_logger.erl b/src/ejabberd_logger.erl index 805a19af..64df3ef1 100644 --- a/src/ejabberd_logger.erl +++ b/src/ejabberd_logger.erl @@ -81,6 +81,8 @@ get_integer_env(Name, Default) -> case application:get_env(ejabberd, Name) of {ok, I} when is_integer(I), I>=0 -> I; + {ok, infinity} -> + infinity; undefined -> Default; {ok, Junk} -> @@ -142,7 +144,10 @@ do_start(Level) -> ErrorLog = filename:join([Dir, "error.log"]), CrashLog = filename:join([Dir, "crash.log"]), LogRotateDate = get_string_env(log_rotate_date, ""), - LogRotateSize = get_integer_env(log_rotate_size, 10*1024*1024), + LogRotateSize = case get_integer_env(log_rotate_size, 10*1024*1024) of + infinity -> 0; + V -> V + end, LogRotateCount = get_integer_env(log_rotate_count, 1), LogRateLimit = get_integer_env(log_rate_limit, 100), ConsoleLevel = case get_lager_version() >= "3.6.0" of |