• python logging


    参考:http://www.cnblogs.com/dkblog/archive/2011/08/26/2155018.html

    通过logging.config模块配置日志

    #logger.conf

    ###############################################

    [loggers]                        #有哪些日志记录器,这里有个root,还有2个example01,exampl02
    keys=root,example01,example02

    [logger_root]
    level=DEBUG
    handlers=hand01,hand02

    [logger_example01]
    handlers=hand01,hand02                #制定了使用哪些handlers,下面会单独定义这些handler
    qualname=example01                  #制定了这些日志记录器的名字,程序中加载的时候就加载这个名字
    propagate=0

    [logger_example02]
    handlers=hand01,hand03
    qualname=example02
    propagate=0

    ###############################################

    [handlers]                        #定义了上面所说的具体的handler
    keys=hand01,hand02,hand03

    [handler_hand01]
    class=StreamHandler                  #定义了hand01的方式,级别,日志类型
    level=INFO
    formatter=form02
    args=(sys.stderr,)

    [handler_hand02]
    class=FileHandler                    #定义了hand02的保存日志的名字,方式,级别等,
    level=DEBUG
    formatter=form01                     #指定了需要加载的格式,如日期怎么显示灯
    args=('myapp.log', 'a')

    [handler_hand03]
    class=handlers.RotatingFileHandler            #日志轮训的方式,固定大小,多了就覆盖
    level=INFO
    formatter=form02
    args=('myapp.log', 'a', 10*1024*1024, 5)

    ###############################################

    [formatters]                        #定义了具体的格式,上面加载就是这里设置的
    keys=form01,form02

    [formatter_form01]
    format=%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s
    datefmt=%a, %d %b %Y %H:%M:%S

    [formatter_form02]
    format=%(name)-12s: %(levelname)-8s %(message)s
    datefmt=

    上例3:

    import logging
    import logging.config

    logging.config.fileConfig("logger.conf")
    logger = logging.getLogger("example01")

    logger.debug('This is debug message')
    logger.info('This is info message')
    logger.warning('This is warning message')

    上例4:

    import logging
    import logging.config

    logging.config.fileConfig("logger.conf")
    logger = logging.getLogger("example02")

    logger.debug('This is debug message')
    logger.info('This is info message')
    logger.warning('This is warning message')

     

     

    程序中使用的时候:

    logging.config.fileConfig("logging.conf")
    logger = logging.getLogger("detectdns")

    如上,先制定配置文件,再加载日志记录器。

     

    最后就这样使用就好了:

            logger.info('no file in the folder')

  • 相关阅读:
    Javascript:window.close()不起作用?
    为什么全部width:100%浏览器边缘存在留白?
    hello world
    【Vue】在Vue事件中是如何使用event对象的?
    【Vue】特殊属性is
    【Vue】过滤器
    【Vue源码】Vue不能检测到对象属性的添加或删除
    【VueRouter】vue路由跳转打开新窗口
    【VueRouter】切换路由后,新页面滚动到顶部或保持原先的滚动位置——scrollBehavior
    【VueRouter】前端路由的两种模式
  • 原文地址:https://www.cnblogs.com/maseng/p/3491105.html
Copyright © 2020-2023  润新知