| 12345678910111213141516171819202122232425262728293031 |
- from datetime import datetime
- import logging.config
- import sys
- from path import Path
- import yaml
- LOG_DIR = Path(r"%appdata%\logs").expandvars()
- LOG_DIR.makedirs_p()
- SYS_EXCEPT_HOOK = sys.excepthook
- def get(name="main", level=0, filename=""):
- # charge la configuration du logging depuis le fichier 'logging.yaml'
- configfile = Path(__file__).parent
- with open(configfile / 'logging.yaml', 'rt') as f:
- conf = yaml.load(f, Loader=yaml.FullLoader)
- if level:
- conf["loggers"][name]["level"] = level
- if not filename:
- filename = LOG_DIR / r'{}_{:%Y%m%d_%H%M}.log'.format(name, datetime.now())
- conf["handlers"]["file"]["filename"] = filename
- logging.config.dictConfig(conf)
- logger = logging.getLogger(name)
- logger.info("Log start written at {}".format(filename))
- return logger
|