mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2024-01-19 02:48:50 +00:00
log/scripts: introduce proper log level fallback and env getter function (#2506)
This PR does two small things: 1. The log level, in case it is unset, will now be "calculated" from `/etc/dms-settings` and not always default to `info`. This way, we can ensure that more often than not, the log level the user chose when starting DMS is used everywhere. 2. I noticed that the way I obtained the log level could be used to obtain any env variable's log level. I therefore added a function to `utils.sh` in case we use it in the future.
This commit is contained in:
parent
c7b16a599c
commit
b1594a8b1c
|
@ -39,10 +39,18 @@ function _log
|
|||
return 1
|
||||
fi
|
||||
|
||||
local MESSAGE LEVEL_AS_INT
|
||||
local MESSAGE LEVEL_AS_INT LOG_LEVEL_FALLBACK
|
||||
MESSAGE="${LOG_RESET}["
|
||||
|
||||
case "${LOG_LEVEL:-}" in
|
||||
if [[ -e /etc/dms-settings ]]
|
||||
then
|
||||
LOG_LEVEL_FALLBACK=$(grep "^LOG_LEVEL=" /etc/dms-settings | cut -d '=' -f 2)
|
||||
LOG_LEVEL_FALLBACK="${LOG_LEVEL_FALLBACK:1:-1}"
|
||||
else
|
||||
LOG_LEVEL_FALLBACK='info'
|
||||
fi
|
||||
|
||||
case "${LOG_LEVEL:-${LOG_LEVEL_FALLBACK}}" in
|
||||
( 'trace' ) LEVEL_AS_INT=5 ;;
|
||||
( 'debug' ) LEVEL_AS_INT=4 ;;
|
||||
( 'warn' ) LEVEL_AS_INT=2 ;;
|
||||
|
|
|
@ -11,3 +11,12 @@ function _is_comment
|
|||
{
|
||||
grep -q -E "^\s*$|^\s*#" <<< "${1}"
|
||||
}
|
||||
|
||||
# Provide the name of an environment variable to this function
|
||||
# and it will return its value stored in /etc/dms-settings
|
||||
function _get_dms_env_value
|
||||
{
|
||||
local VALUE
|
||||
VALUE=$(grep "^${1}=" /etc/dms-settings | cut -d '=' -f 2)
|
||||
printf '%s' "${VALUE:1:-1}"
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue