人生苦短_我用Python_logging日志操作_011

Posted Admin_sys

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了人生苦短_我用Python_logging日志操作_011相关的知识,希望对你有一定的参考价值。

话不多说,开搞,基础是先使用自带loggin模块,level为warning以上,

进一步是自定义logger,level可自定义

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018/6/25 21:09
# @Author  : Mr.chen
# @Site    : 
# @File    : class_06_23_log_001.py
# @Software: PyCharm
# @Email   : [email protected]

import logging, os

# 日志分为几个级别?     5个
# debug(调试信息)   info(详细信息)  warning(警告信息)   error(错误信息)     critical(致命的严重的错误)

# :1   日志收集器    logger  --->日志收集器(默认只收集warning级别以上的信息)
# :2   输出渠道    console file
# :3   创建自己的日志收集器,Logger,专门收集debug与info信息
‘‘‘
logging.debug(‘loging_model_debug信息‘)
logging.info(‘loging_model_info信息‘)
logging.warning(‘loging_model_warning信息‘)
logging.error(‘loging_model_error信息‘)
logging.critical(‘loging_model_critical信息‘)
# ps:因为Logging默认输出的level为warning以上的信息才能输出,所以这样的需求是不满足我们的,So,我们要自定义log
‘‘‘


class MyLog:
    # log流程:先收集日志--->后输出渠道
    # 第一:规范日志格式
    def my_log(self, name, level, log_path=(os.path.dirname(__file__)) + (\test_log.txt)):
        formatter = logging.Formatter(【%(asctime)s】-【%(levelname)s】-【%(filename)s-%(name)s】-【日志信息】:%(message)s)
        # 第二:创建自己的日志收集器,Logger,专门收集debug与info信息
        #     name, level=NOTSET,如果level不设置的话,默认为warning级别,命名的时候要大写
        logger = logging.Logger(name, level)
        # logger.debug(‘这是个调试信息......‘)
        # logger.info(‘这是个详细信息‘)
        # logger.warning(‘这是个警告信息......‘)
        # logger.error(‘这是个错误信息...........‘)
        # logger.critical(‘这是个致命且严重的错误......‘)

        # # 第三:创建输出渠道,warning级别以上的信息,输出到控制台
        ch = logging.StreamHandler()  # 输出到控制台
        ch.setLevel(level)
        logger.addHandler(ch)
        ch.setFormatter(formatter)

        # 第三:也可以,Logger,输入到文件中
        fh = logging.FileHandler(log_path, encoding=UTF-8)  # 输出到文件里
        fh.setLevel(level)
        fh.setFormatter(formatter)
        logger.addHandler(fh)
        logger.addHandler(ch)
        ch.setFormatter(formatter)
        return logger


if __name__ == __main__:
    logger = MyLog().my_log(mr.chen, DEBUG)
    logger.debug(这是个调试信息......)
    logger.info(这是个详细信息)
    logger.warning(这是个警告信息......)
    logger.error(这是个错误信息...........)
    logger.critical(这是个致命且严重的错误......)

 

以上是关于人生苦短_我用Python_logging日志操作_011的主要内容,如果未能解决你的问题,请参考以下文章

人生苦短_我用Python_list(列表)_002

人生苦短_我用Python_Try_Exception异常捕捉_007

人生苦短_我用Python_str(字符串)_001

人生苦短,我用Python(目录)

人生苦短~我用Python(目录)

人生苦短,我用Python