Add env file support and pass through log level
This commit is contained in:
parent
4c6689007d
commit
b461894696
3
.gitignore
vendored
3
.gitignore
vendored
@ -4,4 +4,5 @@ history.*
|
|||||||
data/
|
data/
|
||||||
*.json
|
*.json
|
||||||
*.iso
|
*.iso
|
||||||
*.cow
|
*.cow
|
||||||
|
.env
|
||||||
10
example.env
Normal file
10
example.env
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
BACKGROUND=
|
||||||
|
TIME_ZONE=
|
||||||
|
NAME=
|
||||||
|
INTERACTIVE=true
|
||||||
|
BUILD=true
|
||||||
|
API=true
|
||||||
|
DEBUG=INFO
|
||||||
|
MODE=1
|
||||||
|
LOOP=20
|
||||||
|
TIMEOUT=20
|
||||||
@ -4,9 +4,12 @@ import logging
|
|||||||
|
|
||||||
def get_logger(logger_name:str, log_file='gateway.log'):
|
def get_logger(logger_name:str, log_file='gateway.log'):
|
||||||
logger_name = logger_name.replace('__', '')
|
logger_name = logger_name.replace('__', '')
|
||||||
DEBUG = os.getenv('DEBUG') == 'true'
|
debug_level = os.getenv('DEBUG').upper()
|
||||||
|
if debug_level not in ('CRITICAL', 'ERROR', 'WARNING', 'WARN', 'INFO', 'DEBUG', 'NOTSET', 'FATAL'):
|
||||||
|
print(f'Loglevel "{debug_level}" is not supported.')
|
||||||
|
exit(0)
|
||||||
logger = logging.getLogger(logger_name)
|
logger = logging.getLogger(logger_name)
|
||||||
logger.setLevel(logging.DEBUG) if DEBUG else logger.setLevel(logging.INFO)
|
logger.setLevel(logging.getLevelName(debug_level))
|
||||||
handler = logging.FileHandler(filename=f'data/{log_file}', encoding='utf-8', mode='a')
|
handler = logging.FileHandler(filename=f'data/{log_file}', encoding='utf-8', mode='a')
|
||||||
formatter = logging.Formatter('%(asctime)s|%(levelname)s|%(name)s|:%(message)s')
|
formatter = logging.Formatter('%(asctime)s|%(levelname)s|%(name)s|:%(message)s')
|
||||||
handler.setFormatter(formatter)
|
handler.setFormatter(formatter)
|
||||||
|
|||||||
@ -26,18 +26,20 @@ logger.debug(f"VERSION: {os.getenv('VERSION')}")
|
|||||||
update_state = check_for_update()
|
update_state = check_for_update()
|
||||||
print_state(update_state)
|
print_state(update_state)
|
||||||
|
|
||||||
|
try:
|
||||||
|
if DOCKER:
|
||||||
|
logger.info('Running in Docker')
|
||||||
|
|
||||||
if DOCKER:
|
try:INTERVAL = int(interval)
|
||||||
logger.info('Running in Docker')
|
except:pass
|
||||||
|
|
||||||
try:INTERVAL = int(interval)
|
try:TIMEOUT = int(timeout)
|
||||||
except:pass
|
except:pass
|
||||||
|
|
||||||
try:TIMEOUT = int(timeout)
|
if interval is None: log_to_json(start_discovery(timeout=TIMEOUT))
|
||||||
except:pass
|
else:start_loop(INTERVAL, TIMEOUT)
|
||||||
|
|
||||||
if interval is None: log_to_json(start_discovery(timeout=TIMEOUT))
|
else:
|
||||||
else:start_loop(INTERVAL, TIMEOUT)
|
start_loop(interval=40)
|
||||||
|
except Exception as err:
|
||||||
else:
|
logger.error(err)
|
||||||
start_loop(interval=40)
|
|
||||||
|
|||||||
@ -3,18 +3,8 @@ CONTAINER="dasmoorhuhn/atc-mithermometer-gateway"
|
|||||||
CONTAINER_NAME="ATC_MiThermometer_Gateway"
|
CONTAINER_NAME="ATC_MiThermometer_Gateway"
|
||||||
VOLUME=$(pwd)/data
|
VOLUME=$(pwd)/data
|
||||||
|
|
||||||
BACKGROUND=""
|
HELP="Using any command line argument except -d bypasses the .env file\n\n
|
||||||
TIME_ZONE=""
|
USAGE: sh run_docker.sh [OPTIONS] \n
|
||||||
NAME=""
|
|
||||||
INTERACTIVE=false
|
|
||||||
BUILD=false
|
|
||||||
API=false
|
|
||||||
DEBUG=false
|
|
||||||
MODE=1
|
|
||||||
LOOP="0"
|
|
||||||
TIMEOUT="0"
|
|
||||||
|
|
||||||
HELP="USAGE: sh run_docker.sh [OPTIONS] \n
|
|
||||||
[ -d ] Run in Backgrund \n
|
[ -d ] Run in Backgrund \n
|
||||||
[ -t | --tag ] Set a docker tag. Default: latest \n
|
[ -t | --tag ] Set a docker tag. Default: latest \n
|
||||||
[ -b | --build ] Build the image before running the container \n
|
[ -b | --build ] Build the image before running the container \n
|
||||||
@ -55,6 +45,43 @@ docker_run() {
|
|||||||
|
|
||||||
check_for_devices_config
|
check_for_devices_config
|
||||||
|
|
||||||
|
if [ "$SKIP_ENV" = true ]; then
|
||||||
|
echo "Skip env file"
|
||||||
|
ENV_EXISTS=false
|
||||||
|
|
||||||
|
BACKGROUND=""
|
||||||
|
TIME_ZONE=""
|
||||||
|
NAME=""
|
||||||
|
INTERACTIVE=true
|
||||||
|
BUILD=true
|
||||||
|
API=true
|
||||||
|
DEBUG="INFO"
|
||||||
|
MODE="1"
|
||||||
|
LOOP="40"
|
||||||
|
TIMEOUT="20"
|
||||||
|
else
|
||||||
|
if [ -e .env ]
|
||||||
|
then
|
||||||
|
echo Loading .env file
|
||||||
|
export $(cat .env | xargs)
|
||||||
|
ENV_EXISTS=true
|
||||||
|
else
|
||||||
|
echo No env file found
|
||||||
|
ENV_EXISTS=false
|
||||||
|
|
||||||
|
BACKGROUND=""
|
||||||
|
TIME_ZONE=""
|
||||||
|
NAME=""
|
||||||
|
INTERACTIVE=true
|
||||||
|
BUILD=true
|
||||||
|
API=true
|
||||||
|
DEBUG="INFO"
|
||||||
|
MODE="1"
|
||||||
|
LOOP="40"
|
||||||
|
TIMEOUT="20"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
COMMAND="docker run $BACKGROUND"
|
COMMAND="docker run $BACKGROUND"
|
||||||
COMMAND="$COMMAND --cap-add=SYS_ADMIN"
|
COMMAND="$COMMAND --cap-add=SYS_ADMIN"
|
||||||
COMMAND="$COMMAND --cap-add=NET_ADMIN"
|
COMMAND="$COMMAND --cap-add=NET_ADMIN"
|
||||||
@ -65,6 +92,10 @@ docker_run() {
|
|||||||
COMMAND="$COMMAND --volume=$VOLUME:/src/data"
|
COMMAND="$COMMAND --volume=$VOLUME:/src/data"
|
||||||
COMMAND="$COMMAND --volume=$PWD/devices.yml:/src/devices.yml"
|
COMMAND="$COMMAND --volume=$PWD/devices.yml:/src/devices.yml"
|
||||||
|
|
||||||
|
if [ "$ENV_EXISTS" = true ]; then
|
||||||
|
COMMAND="$COMMAND --env-file .env"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$INTERACTIVE" = true ]; then
|
if [ "$INTERACTIVE" = true ]; then
|
||||||
COMMAND="$COMMAND --interactive"
|
COMMAND="$COMMAND --interactive"
|
||||||
COMMAND="$COMMAND --tty"
|
COMMAND="$COMMAND --tty"
|
||||||
@ -100,7 +131,7 @@ docker_run() {
|
|||||||
COMMAND="$COMMAND --env NAME=$NAME"
|
COMMAND="$COMMAND --env NAME=$NAME"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$DEBUG" = true ]; then
|
if [ "$DEBUG" = "DEBUG" ]; then
|
||||||
COMMAND="$COMMAND --env DEBUG=$DEBUG"
|
COMMAND="$COMMAND --env DEBUG=$DEBUG"
|
||||||
COMMAND="$COMMAND $CONTAINER:$TAG"
|
COMMAND="$COMMAND $CONTAINER:$TAG"
|
||||||
echo
|
echo
|
||||||
@ -108,6 +139,7 @@ docker_run() {
|
|||||||
echo
|
echo
|
||||||
echo DEBUG MODE
|
echo DEBUG MODE
|
||||||
else
|
else
|
||||||
|
COMMAND="$COMMAND --env DEBUG=$DEBUG"
|
||||||
COMMAND="$COMMAND $CONTAINER:$TAG"
|
COMMAND="$COMMAND $CONTAINER:$TAG"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -120,53 +152,68 @@ docker_run() {
|
|||||||
|
|
||||||
while [ "$1" != "" ]; do
|
while [ "$1" != "" ]; do
|
||||||
case $1 in
|
case $1 in
|
||||||
|
-se | --skip-env-file )
|
||||||
|
SKIP_ENV=true
|
||||||
|
shift
|
||||||
|
;;
|
||||||
-d )
|
-d )
|
||||||
BACKGROUND="-d"
|
BACKGROUND="-d"
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
--debug )
|
--debug )
|
||||||
DEBUG=true
|
shift
|
||||||
|
DEBUG=$1
|
||||||
|
SKIP_ENV=true
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
-a | --api)
|
-a | --api)
|
||||||
API=true
|
API=true
|
||||||
|
SKIP_ENV=true
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
-b | --build )
|
-b | --build )
|
||||||
BUILD=true
|
BUILD=true
|
||||||
|
SKIP_ENV=true
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
-v | --volume )
|
-v | --volume )
|
||||||
shift
|
shift
|
||||||
VOLUME=$1
|
VOLUME=$1
|
||||||
|
SKIP_ENV=true
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
-n | --name )
|
-n | --name )
|
||||||
shift
|
shift
|
||||||
NAME=$1
|
NAME=$1
|
||||||
|
SKIP_ENV=true
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
-m2 | --mesh-gateway)
|
-m2 | --mesh-gateway)
|
||||||
MODE=2
|
MODE=2
|
||||||
|
SKIP_ENV=true
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
-tz | --timezone )
|
-tz | --timezone )
|
||||||
shift
|
shift
|
||||||
TIME_ZONE=$1
|
TIME_ZONE=$1
|
||||||
|
SKIP_ENV=true
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
-to | --timeout )
|
-to | --timeout )
|
||||||
shift
|
shift
|
||||||
TIMEOUT=$1
|
TIMEOUT=$1
|
||||||
|
SKIP_ENV=true
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
-t | --tag )
|
-t | --tag )
|
||||||
shift
|
shift
|
||||||
TAG=$1
|
TAG=$1
|
||||||
|
SKIP_ENV=true
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
-l | --loop )
|
-l | --loop )
|
||||||
shift
|
shift
|
||||||
|
SKIP_ENV=true
|
||||||
firstchar=`echo $1 | cut -c1-1`
|
firstchar=`echo $1 | cut -c1-1`
|
||||||
if [ "$firstchar" = "-" ]; then
|
if [ "$firstchar" = "-" ]; then
|
||||||
LOOP=0
|
LOOP=0
|
||||||
@ -179,6 +226,7 @@ while [ "$1" != "" ]; do
|
|||||||
;;
|
;;
|
||||||
-i | --interactive )
|
-i | --interactive )
|
||||||
INTERACTIVE=true
|
INTERACTIVE=true
|
||||||
|
SKIP_ENV=true
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
-h | --help )
|
-h | --help )
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user