python-整理-loggingログ

3632 ワード

pythonのログ機能モジュールはlogging機能であり、log 4と非常に似ています.
loggingの使用方法:
#       
import logging
# , import logging.config
class MyLog: ''' , .txt ''' # , Logging.cfg __loadcfg=logging.config.fileConfig("Loggers/Logging.ini") # logger , , . __dblog=logging.getLogger('dblog') @staticmethod def AddLog(msg,logrefname=None): '''// // 1.msg: // 2.logrefname: , dblog. ''' if logrefname is not None: MyLog.__dblog=logging.getLogger(logrefname) MyLog.__dblog.debug(msg)

使用時にMyLog.AddLog(logmsg)を呼び出すとログに入ります.
以下はプロファイルLogging.iniです
#   python logging         
#         :  logging.config.fileConfig("Logging.ini")   ,    
# 1.  .KeyError Formatters        ,         ,        
# 2.  gbk...    VS2013,   python    utf-8  ,       .      Logging.ini,     gb2312(936).         .

#        ,      ,          
[loggers]
keys=root,dblog

#        ,        ,  , Email,   SOCKET  
[handlers]
keys=handroot,handdb

#         
[formatters]
keys=formroot,formdb

# root    ,       ,    
[logger_root]
level=NOTSET
handlers=handroot

#            ,propagate=0       ,=1    .(       :     ,          handler )
[logger_dblog]
level=DEBUG
handlers=handdb
propagate=0
qualname=dblog

[handler_handroot]
class=StreamHandler
level=NOTSET
formatter=formroot
args=(sys.stdout,)

#         (class        hander,logging   handler),            ,        
[handler_handdb]
class=handlers.RotatingFileHandler
level=DEBUG
formatter=formdb
args=('dblog.txt', 'a',2048)

[formatter_formroot]
format=F1 %(asctime)s %(levelname)s %(message)s
datefmt=
class=logging.Formatter

#   formatter      ,        d:/python      
[formatter_formdb]
format=%(asctime)s    : %(name)s    : %(message)s
datefmt=%Y-%m-%d %H:%M:%S
class=logging.Formatter

コードにログを構成し、このメソッドを使用して構成をロードすることもできます.
logging.basicConfig()
非常に詳細なログの使用はこちらをご覧ください
http://www.cnblogs.com/dkblog/archive/2011/08/26/2155018.html