zoukankan      html  css  js  c++  java
  • python之logging模块

    python的logging模块总结:

     1 #!/usr/bin/python 
     2 #encoding=utf-8 
     3 
     4 import logging
     5 
     6 logging.basicConfig(level=logging.DEBUG,
     7         format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
     8         datefmt='%a, %d %b %Y %H:%M:%S',
     9         filename='MYTEST.log', filemode='w')
    10 
    11 #定义一个StreamHandler
    12 console = logging.StreamHandler()
    13 console.setLevel(logging.INFO)
    14 formatter = logging.Formatter('%(name)-12s: %(levelname)-8s %(message)s')
    15 console.setFormatter(formatter)
    16 logging.getLogger('').addHandler(console)
    17 
    18 from logging.handlers import RotatingFileHandler
    19 #日志回滚handler 
    20 Rthandler = RotatingFileHandler('MYTEST.log', maxBytes=10*1024*1024, backupCount=5)
    21 Rthandler.setLevel(logging.INFO)
    22 formatter = logging.Formatter('%s(name)-12s: %(levelname)-8s %(message)s')
    23 Rthandler.setFormatter(formatter)
    24 logging.getLogger('').addHandler(Rthandler)
    25 
    26 logging.debug("debgu message")
    27 logging.info("info mesg")
    28 logging.warning("warning msg")
    29 
    30 #通过logging.conf模块配置日志
    31 #logger.conf 
    32 """
    33 [loggers]
    34 keys=root, TEST1, TEST2  #TEST1, TEST2
    35 [logger_root]
    36 level=DEBUG
    37 handlers = HANDLER1, HANDLER2
    38 [logger_TEST1]
    39 handlers = HANDLER1, HANDLER2 
    40 qualname=TEST1
    41 progate = 0 
    42 [logger_TEST2]
    43 handlers = HANDLER1, HANDLER2 
    44 qualname=TEST2
    45 progate = 0 
    46 #########################################
    47 [handlers]
    48 keys=hand01,hand02,hand03
    49 [handler_hand01]
    50 class=StreamHandler
    51 level=INFO
    52 formatter=form02
    53 args=(sys.stderr,)
    54 [handler_hand02]
    55 class=FileHandler
    56 level=DEBUG
    57 formatter=form01
    58 level=DEBUG
    59 formatter=form01
    60 args=('myapp.log', 'a')
    61 [handler_hand03]
    62 class=handlers.RotatingFileHandler
    63 level=INFO
    64 formatter=form02
    65 args=('myapp.log', 'a', 10*1024*1024, 5)
    66 ###############################################
    67 [formatters]
    68 keys=form01,form02
    69 [formatter_form01]
    70 format=%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s
    71 datefmt=%a, %d %b %Y %H:%M:%S
    72 [formatter_form02]
    73 format=%(name)-12s: %(levelname)-8s %(message)s
    74 datefmt=%a, %d %b %Y %H:%M:%S
    75 """
    76 import logging
    77 import logging.config
    78 
    79 logging.config.fileConfig("logger.conf")
    80 logger = logging.getLogger("example01")
    81 
    82 logger.debug('This is debug message')
    83 logger.info('This is info message')
    84 logger.warning('This is warning message')
  • 相关阅读:
    【转】折腾好windows 7和windows 2003双系统
    【转】ndis 相关资料
    【转】自己开发程序管理WINDOWS防火墙
    你给信息工程专业本科大一的学生推荐些什么书?
    【转】如何禁止指定IP访问我的计算机
    【转】一个C#写的调用外部进程类
    【转】Crossbow携手微软,全新工具包推进无线传感器应用开发
    【转】RFC整理分类
    【转】国内外物联网技术研究进展
    【链】SmartBits600测试指导书
  • 原文地址:https://www.cnblogs.com/chris-cp/p/4951990.html
Copyright © 2011-2022 走看看