python の logging には、様々な設定が可能ですが、とりあえずは、以下で動作します。
# -*- coding: utf-8 -*- import logging.config import yaml log_conf = './log_conf.yaml' def main(): logging.config.dictConfig(yaml.load(open(log_conf).read(), Loader=yaml.SafeLoader)) logger = logging.getLogger('mainLogger') logger.error('hogehoge') if __name__ == "__main__": main()
version: 1 formatters: mainFormatter: format: '%(asctime)s - %(name)s - %(levelname)s - %(message)s' datefmt: '%Y/%m/%d %I:%M:%S' handlers: file: class: logging.handlers.RotatingFileHandler level: INFO formatter: mainFormatter filename: antlr.log maxBytes: 1000 backupCount: 1 loggers: mainLogger: level: INFO handlers: [file] propagate: no root: level: INFO handlers: []