logs.py 文件源码

python
阅读 29 收藏 0 点赞 0 评论 0

项目:alignak-app 作者: Alignak-monitoring-contrib 项目源码 文件源码
def create_logger():  # pragma: no cover
    """
    Create the logger for Alignak-App

    """

    root_logger = getLogger()

    stdout_handler = None

    if root_logger.handlers:
        stdout_handler = root_logger.handlers[0]

    # Define path and file for "file_handler"
    path = get_app_workdir()
    filename = '%s.log' % get_app_config('Log', 'filename')

    if not os.path.isdir(path):
        # noinspection PyBroadException
        try:  # pragma: no cover - not testable
            os.makedirs(path)
        except Exception:
            print('Can\'t create log file in [%s], App will log in current directory !' % path)
            path = '.'

    if not os.access(path, os.W_OK):
        print('Access denied for [%s], App will log in current directory !' % path)
        path = '.'

    formatter = Formatter('[%(asctime)s]> %(name)-12s : [%(levelname)s] %(message)s')

    # Create "file_handler"
    file_handler = TimedRotatingFileHandler(
        filename=os.path.join(path, filename),
        when="D",
        interval=1,
        backupCount=6
    )

    file_handler.setLevel(DEBUG)
    file_handler.setFormatter(formatter)

    root_logger.addHandler(file_handler)

    # Remove stdout handler to ensure logs are only in filehandler
    root_logger.removeHandler(stdout_handler)

    return root_logger
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号