mirror of
https://github.com/rootzoll/raspiblitz.git
synced 2025-02-25 15:10:38 +01:00
48 lines
2 KiB
Python
48 lines
2 KiB
Python
import json
|
|
import logging
|
|
import logging.config
|
|
import os
|
|
import sys
|
|
|
|
IS_WIN32_ENV = sys.platform == "win32"
|
|
|
|
|
|
def setup_logging(default_path=os.path.abspath(os.path.expanduser('~/.blitz-tui.json'))):
|
|
"""Setup logging configuration"""
|
|
path = default_path
|
|
if os.path.exists(path):
|
|
with open(path, 'rt') as f:
|
|
config = json.load(f)
|
|
logging.config.dictConfig(config)
|
|
|
|
else: # if $default_path does not exist use the following default log setup
|
|
|
|
if IS_WIN32_ENV:
|
|
log_file = "blitz-tui.log"
|
|
else:
|
|
log_file = os.path.abspath(os.path.expanduser('~/blitz-tui.log'))
|
|
|
|
default_config_as_dict = dict(
|
|
version=1,
|
|
disable_existing_loggers=False,
|
|
formatters={'simple': {'format': '%(asctime)s - %(levelname)s - %(message)s'},
|
|
'extended': {
|
|
'format': '%(asctime)s - %(name)s - %(levelname)s - %(module)s:%(lineno)d - %(message)s'}},
|
|
handlers={'console': {'class': 'logging.StreamHandler',
|
|
'level': 'INFO',
|
|
'formatter': 'extended',
|
|
'stream': 'ext://sys.stdout'},
|
|
'file_handler': {'class': 'logging.handlers.RotatingFileHandler',
|
|
'level': 'DEBUG',
|
|
'formatter': 'extended',
|
|
'filename': log_file,
|
|
'maxBytes': 10485760,
|
|
'backupCount': 0,
|
|
'encoding': 'utf8'}},
|
|
loggers={'infoblitz': {'level': 'DEBUG',
|
|
'handlers': ['console', 'file_handler'],
|
|
'propagate': 'no'}},
|
|
root={'level': 'DEBUG', 'handlers': ['console', 'file_handler']}
|
|
)
|
|
|
|
logging.config.dictConfig(default_config_as_dict)
|