diff options
| author | Daniil Fedotov <dfedotov@pivotal.io> | 2015-12-04 17:07:00 +0000 |
|---|---|---|
| committer | Jean-Sébastien Pédron <jean-sebastien@rabbitmq.com> | 2016-01-13 11:43:47 +0100 |
| commit | 670d986641cebf3db4d24c4c18b0cbc8132a9829 (patch) | |
| tree | 900bd93590e80e0f6ee839e44a890063505ec1f8 /scripts | |
| parent | 636142506ccf1fb65058fe0ae8d997edcc25af65 (diff) | |
| download | rabbitmq-server-git-670d986641cebf3db4d24c4c18b0cbc8132a9829.tar.gz | |
Use Lager to log RabbitMQ messages
By default, RabbitMQ now logs messages to a single file
($RABBITMQ_LOGS). The $RABBITMQ_SASL_LOGS variable is unused. To
configure how and which messages are logged, it's recommended to do it
from rabbitmq.config, not from the environment variable.
The old `log_levels` parameter is unsupported and categories are
replaced by Lager extra sinks. If you had in your rabbitmq.config:
{rabbit, [
{log_levels, [{connection, info}]}
]}
You can now configure Lager like this:
{lager, [
{extra_sinks, [
{rabbit_connection_lager_event, [
{handlers, [{lager_forwarder_backend, [lager_event, info]}]}
]}
]}
]}
rabbitmq-build.mk from rabbitmq-common is included in the top-level
Makefile. It sets the appropriate compiler options to enable Lager's
lager_transform parse_transform module.
rabbit_log calls are now converted by this parse_transform to direct
calls to lager:log(). To keep backward compatibility with other plugins,
the rabbit_log module still implements all the <level>() functions.
Compared to the parse_transformed calls, the main difference is the
logged message does not carry the file:line metadata.
Fixes #94.
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/rabbitmq-env | 9 | ||||
| -rw-r--r-- | scripts/rabbitmq-env.bat | 10 | ||||
| -rwxr-xr-x | scripts/rabbitmq-server | 19 | ||||
| -rw-r--r-- | scripts/rabbitmq-server.bat | 4 |
4 files changed, 11 insertions, 31 deletions
diff --git a/scripts/rabbitmq-env b/scripts/rabbitmq-env index 0014643260..e4f89e2658 100644 --- a/scripts/rabbitmq-env +++ b/scripts/rabbitmq-env @@ -210,13 +210,11 @@ rmq_normalize_path_var RABBITMQ_PLUGINS_DIR ## Log rotation [ "x" = "x$RABBITMQ_LOGS" ] && RABBITMQ_LOGS=${LOGS} +[ "x" != "x$RABBITMQ_LOGS" ] && export RABBITMQ_LOGS_source=environment [ "x" = "x$RABBITMQ_LOGS" ] && RABBITMQ_LOGS="${RABBITMQ_LOG_BASE}/${RABBITMQ_NODENAME}.log" -[ "x" = "x$RABBITMQ_SASL_LOGS" ] && RABBITMQ_SASL_LOGS=${SASL_LOGS} -[ "x" = "x$RABBITMQ_SASL_LOGS" ] && RABBITMQ_SASL_LOGS="${RABBITMQ_LOG_BASE}/${RABBITMQ_NODENAME}-sasl.log" rmq_normalize_path_var \ - RABBITMQ_LOGS \ - RABBITMQ_SASL_LOGS + RABBITMQ_LOGS [ "x" = "x$RABBITMQ_CTL_ERL_ARGS" ] && RABBITMQ_CTL_ERL_ARGS=${CTL_ERL_ARGS} @@ -232,8 +230,7 @@ rmq_check_if_shared_with_mnesia \ RABBITMQ_PLUGINS_EXPAND_DIR \ RABBITMQ_ENABLED_PLUGINS_FILE \ RABBITMQ_PLUGINS_DIR \ - RABBITMQ_LOGS \ - RABBITMQ_SASL_LOGS + RABBITMQ_LOGS ##--- End of overridden <var_name> variables diff --git a/scripts/rabbitmq-env.bat b/scripts/rabbitmq-env.bat index b50468a909..036665b31d 100644 --- a/scripts/rabbitmq-env.bat +++ b/scripts/rabbitmq-env.bat @@ -240,16 +240,6 @@ if "!RABBITMQ_LOGS!"=="" ( )
)
-REM [ "x" = "x$RABBITMQ_SASL_LOGS" ] && RABBITMQ_SASL_LOGS=${SASL_LOGS}
-REM [ "x" = "x$RABBITMQ_SASL_LOGS" ] && RABBITMQ_SASL_LOGS="${RABBITMQ_LOG_BASE}/${RABBITMQ_NODENAME}-sasl.log"
-if "!RABBITMQ_SASL_LOGS!"=="" (
- if "!SASL_LOGS!"=="" (
- set RABBITMQ_SASL_LOGS=!RABBITMQ_LOG_BASE!\!RABBITMQ_NODENAME!-sasl.log
- ) else (
- set RABBITMQ_SASL_LOGS=!SASL_LOGS!
- )
-)
-
REM [ "x" = "x$RABBITMQ_CTL_ERL_ARGS" ] && RABBITMQ_CTL_ERL_ARGS=${CTL_ERL_ARGS}
if "!$RABBITMQ_CTL_ERL_ARGS!"=="" (
if not "!CTL_ERL_ARGS!"=="" (
diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server index 69c2b7ff6c..303383eb1b 100755 --- a/scripts/rabbitmq-server +++ b/scripts/rabbitmq-server @@ -76,22 +76,15 @@ RABBITMQ_CONFIG_ARG= RABBITMQ_LISTEN_ARG= [ "x" != "x$RABBITMQ_NODE_PORT" ] && [ "x" != "x$RABBITMQ_NODE_IP_ADDRESS" ] && RABBITMQ_LISTEN_ARG="-rabbit tcp_listeners [{\""${RABBITMQ_NODE_IP_ADDRESS}"\","${RABBITMQ_NODE_PORT}"}]" -# If $RABBITMQ_LOGS is '-', send all log messages to stdout. Likewise -# for RABBITMQ_SASL_LOGS. This is particularily useful for Docker -# images. +# If $RABBITMQ_LOGS is '-', send all log messages to stdout. This is +# particularily useful for Docker images. if [ "$RABBITMQ_LOGS" = '-' ]; then - RABBIT_ERROR_LOGGER='tty' -else - RABBIT_ERROR_LOGGER='{file,"'${RABBITMQ_LOGS}'"}' -fi - -if [ "$RABBITMQ_SASL_LOGS" = '-' ]; then SASL_ERROR_LOGGER=tty - RABBIT_SASL_ERROR_LOGGER='tty' + RABBIT_LAGER_HANDLER=tty else SASL_ERROR_LOGGER=false - RABBIT_SASL_ERROR_LOGGER='{file,"'${RABBITMQ_SASL_LOGS}'"}' + RABBIT_LAGER_HANDLER='"'${RABBITMQ_LOGS}'"' fi # we need to turn off path expansion because some of the vars, notably @@ -116,8 +109,8 @@ start_rabbitmq_server() { ${RABBITMQ_LISTEN_ARG} \ -sasl errlog_type error \ -sasl sasl_error_logger "$SASL_ERROR_LOGGER" \ - -rabbit error_logger "$RABBIT_ERROR_LOGGER" \ - -rabbit sasl_error_logger "$RABBIT_SASL_ERROR_LOGGER" \ + -rabbit lager_log_root "\"$RABBITMQ_LOG_BASE\"" \ + -rabbit lager_handler "$RABBIT_LAGER_HANDLER" \ -rabbit enabled_plugins_file "\"$RABBITMQ_ENABLED_PLUGINS_FILE\"" \ -rabbit plugins_dir "\"$RABBITMQ_PLUGINS_DIR\"" \ -rabbit plugins_expand_dir "\"$RABBITMQ_PLUGINS_EXPAND_DIR\"" \ diff --git a/scripts/rabbitmq-server.bat b/scripts/rabbitmq-server.bat index c1aa42c65f..d1e22fde5a 100644 --- a/scripts/rabbitmq-server.bat +++ b/scripts/rabbitmq-server.bat @@ -98,8 +98,8 @@ if "!RABBITMQ_IO_THREAD_POOL_SIZE!"=="" ( !RABBITMQ_SERVER_ADDITIONAL_ERL_ARGS! ^
-sasl errlog_type error ^
-sasl sasl_error_logger false ^
--rabbit error_logger {file,\""!RABBITMQ_LOGS:\=/!"\"} ^
--rabbit sasl_error_logger {file,\""!RABBITMQ_SASL_LOGS:\=/!"\"} ^
+-rabbit lager_log_root \""!RABBITMQ_LOG_BASE:\=/!"\" ^
+-rabbit lager_handler \""!RABBITMQ_LOGS:\=/!"\" ^
-rabbit enabled_plugins_file \""!RABBITMQ_ENABLED_PLUGINS_FILE:\=/!"\" ^
-rabbit plugins_dir \""!RABBITMQ_PLUGINS_DIR:\=/!"\" ^
-rabbit plugins_expand_dir \""!RABBITMQ_PLUGINS_EXPAND_DIR:\=/!"\" ^
|
