|
import json |
|
import logging.config |
|
import os |
|
|
|
|
|
def log_dir(): |
|
fnm = os.path.join(os.path.dirname(__file__), '../log/') |
|
if not os.path.exists(fnm): |
|
fnm = os.path.join(os.path.dirname(__file__), '../../log/') |
|
assert os.path.exists(fnm), f"Can't locate log dir: {fnm}" |
|
return fnm |
|
|
|
|
|
def setup_logging(default_path="conf/logging.json", |
|
default_level=logging.INFO, |
|
env_key="LOG_CFG"): |
|
path = default_path |
|
value = os.getenv(env_key, None) |
|
if value: |
|
path = value |
|
if os.path.exists(path): |
|
with open(path, "r") as f: |
|
config = json.load(f) |
|
fnm = log_dir() |
|
|
|
config["handlers"]["info_file_handler"]["filename"] = fnm + "info.log" |
|
config["handlers"]["error_file_handler"]["filename"] = fnm + "error.log" |
|
logging.config.dictConfig(config) |
|
else: |
|
logging.basicConfig(level=default_level) |
|
|
|
|
|
__fnm = os.path.join(os.path.dirname(__file__), 'conf/logging.json') |
|
if not os.path.exists(__fnm): |
|
__fnm = os.path.join(os.path.dirname(__file__), '../../conf/logging.json') |
|
setup_logging(__fnm) |
|
|