end0tknr's kipple - web写経開発

太宰府天満宮の狛犬って、妙にカワイイ

logging.config for python の 設定fileを yaml で記載

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: []