refactor: refactored logging.sh

The design till now was slow and time consuming.
Now it exports the log destination once instead
in every call of 'log_msg'

Should be provide better start performance.

Signed-off-by: Stephan Wendel <me@stephanwe.de>
This commit is contained in:
Stephan Wendel 2022-04-08 19:13:09 +02:00
parent 3bfea5ad19
commit 7c5188a7e0
No known key found for this signature in database
GPG Key ID: F465B83ACBA45639
3 changed files with 25 additions and 29 deletions

View File

@ -45,6 +45,6 @@ function construct_streamer {
if [ "${#RTSP_INSTANCES[@]}" != "0" ]; then if [ "${#RTSP_INSTANCES[@]}" != "0" ]; then
run_rtsp "${RTSP_INSTANCES[*]}" run_rtsp "${RTSP_INSTANCES[*]}"
fi fi
sleep 8 & sleep_pid="$!" ; wait "${sleep_pid}" sleep 2 & sleep_pid="$!" ; wait "${sleep_pid}"
log_msg " ... Done!" log_msg " ... Done!"
} }

View File

@ -17,7 +17,19 @@
set -Ee set -Ee
## Logging ## Logging
function init_log_entry { function set_log_path {
#Workaround sed ~ to BASH VAR $HOME
CROWSNEST_LOG_PATH=$(get_param webcamd log_path | sed "s#^~#${HOME}#gi")
declare -g CROWSNEST_LOG_PATH
#Workaround: Make Dir if not exist
if [ ! -d "$(dirname "${CROWSNEST_LOG_PATH}")" ]; then
mkdir -p "$(dirname "${CROWSNEST_LOG_PATH}")"
fi
}
function init_logging {
set_log_path
delete_log
log_msg "webcamd - A webcam Service for multiple Cams and Stream Services." log_msg "webcamd - A webcam Service for multiple Cams and Stream Services."
log_msg "Version: $(self_version)" log_msg "Version: $(self_version)"
log_msg "Prepare Startup ..." log_msg "Prepare Startup ..."
@ -36,28 +48,18 @@ function log_level {
} }
function delete_log { function delete_log {
local del_log logfile local del_log
logfile="$(get_param "webcamd" log_path | sed "s#^~#${HOME}#gi")"
del_log="$(get_param "webcamd" delete_log 2> /dev/null)" del_log="$(get_param "webcamd" delete_log 2> /dev/null)"
if [ "${del_log}" = "true" ]; then if [ "${del_log}" = "true" ]; then
rm -rf "${logfile}" rm -rf "${CROWSNEST_LOG_PATH}"
fi fi
} }
function log_msg { function log_msg {
local msg logfile prefix local msg prefix
msg="${1}" msg="${1}"
prefix="$(date +'[%D %T]') webcamd:" prefix="$(date +'[%D %T]') webcamd:"
#Workaround sed ~ to BASH VAR $HOME echo -e "${prefix} ${msg}" | tr -s ' ' >> "${CROWSNEST_LOG_PATH}" 2>&1
logfile="$(get_param webcamd log_path | sed "s#^~#${HOME}#gi")"
#Workaround: Make Dir if not exist
if [ ! -d "${logfile}" ]; then
mkdir -p "$(dirname "${logfile}")"
fi
if [ ! -f "${logfile}" ]; then
touch "${logfile}"
fi
echo -e "${prefix} ${msg}" | tr -s ' ' >> "${logfile}" 2>&1
echo -e "${msg}" | logger -t webcamd echo -e "${msg}" | logger -t webcamd
} }
@ -114,15 +116,10 @@ function print_cams {
} }
function debug_msg { function debug_msg {
local msg logfile prefix local prefix
msg="${1}" prefix="Develop -- DEBUG:"
prefix="$(date +'[%D %T]') webcamd: DEBUG:" while read -r msg; do
#Workaround sed ~ to BASH VAR $HOME log_msg "${prefix}${msg}"
logfile="$(get_param webcamd log_path | sed "s#^~#${HOME}#gi")" echo -e "${msg}" | logger -t webcamd
#Workaround: Make Dir if not exist done <<< "${1}"
if [ ! -d "${logfile}" ]; then
mkdir -p "$(dirname "${logfile}")"
fi
echo -e "${prefix} ${msg}" | tr -s ' ' >> "${logfile}" 2>&1
echo -e "${msg}" | logger -t webcamd
} }

View File

@ -61,8 +61,7 @@ while getopts ":vhc:" arg; do
esac esac
done done
delete_log init_logging
init_log_entry
initial_check initial_check
v4l2_control v4l2_control
construct_streamer construct_streamer