Module ifra.setup_logger
Expand source code
import logging.config
from transparentpath import Path
import os
def full_stack():
import traceback
import sys
exc = sys.exc_info()[0]
stack = traceback.extract_stack()[:-1] # last one would be full_stack()
if exc is not None: # i.e. an exception is present
del stack[-1]
trc = 'Traceback (most recent call last):\n'
stackstr = trc + ''.join(traceback.format_list(stack))
if exc is not None:
stackstr += ' ' + traceback.format_exc().lstrip(trc)
return stackstr
def setup_logger(default_path="logging.json", default_level=logging.INFO, env_key="LOG_CFG", fs="local", **kwargs):
"""Setup logging configuration"""
path = default_path
value = os.getenv(env_key, None)
if value:
path = value
path = Path(path, fs=fs, **kwargs)
if path.is_file():
config = path.read()
logging.config.dictConfig(config)
else:
logging.basicConfig(level=default_level)
Functions
def full_stack()
-
Expand source code
def full_stack(): import traceback import sys exc = sys.exc_info()[0] stack = traceback.extract_stack()[:-1] # last one would be full_stack() if exc is not None: # i.e. an exception is present del stack[-1] trc = 'Traceback (most recent call last):\n' stackstr = trc + ''.join(traceback.format_list(stack)) if exc is not None: stackstr += ' ' + traceback.format_exc().lstrip(trc) return stackstr
def setup_logger(default_path='logging.json', default_level=20, env_key='LOG_CFG', fs='local', **kwargs)
-
Setup logging configuration
Expand source code
def setup_logger(default_path="logging.json", default_level=logging.INFO, env_key="LOG_CFG", fs="local", **kwargs): """Setup logging configuration""" path = default_path value = os.getenv(env_key, None) if value: path = value path = Path(path, fs=fs, **kwargs) if path.is_file(): config = path.read() logging.config.dictConfig(config) else: logging.basicConfig(level=default_level)