打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python日志输出—logging配置文件

python日志输出—logging配置文件

分类: python 1675人阅读 评论(0) 收藏 举报

一、logging直接写在代码中

      >>>http://blog.csdn.net/naiveloafer/article/details/7630673

二、通过配置文件来配置输出

配置文件:

  1. <span style="font-size:18px;">#Configuration for log output  
  2. #Naiveloafer  
  3. #2012-06-04  
  4.   
  5. [loggers]  
  6. keys=root,xzs  
  7.   
  8. [handlers]  
  9. keys=consoleHandler,fileHandler,rotatingFileHandler  
  10.   
  11. [formatters]  
  12. keys=simpleFmt  
  13.   
  14. [logger_root]  
  15. level=DEBUG  
  16. #handlers=consoleHandler  
  17. #handlers=fileHandler  
  18. handlers=rotatingFileHandler  
  19.   
  20. [logger_xzs]  
  21. level=DEBUG  
  22. handlers=rotatingFileHandler  
  23. qualname=xzs  
  24. propagate=0  
  25.   
  26. [handler_consoleHandler]  
  27. class=StreamHandler  
  28. level=DEBUG  
  29. formatter=simpleFmt  
  30. args=(sys.stdout,)  
  31.   
  32. [handler_fileHandler]  
  33. class=FileHandler  
  34. level=DEBUG  
  35. formatter=simpleFmt  
  36. args=("../log/p2pplayer.log", "a")  
  37.   
  38. [handler_rotatingFileHandler]  
  39. class=handlers.RotatingFileHandler  
  40. level=DEBUG  
  41. formatter=simpleFmt  
  42. args=("../log/p2pplayer.log", "a", 20*1024*1024, 10)  
  43.   
  44.   
  45. [formatter_simpleFmt]  
  46. format=%(asctime)s - %(name)s - %(levelname)s - %(message)s - [%(filename)s:%(lineno)s]  
  47. datefmt=</span>  

测试代码:

  1. <span style="font-size:18px;">def log_test02():  
  2.     import logging  
  3.     import logging.config  
  4.     CONF_LOG = "../conf/p2pplayer_logging.conf"  
  5.     logging.config.fileConfig(CONF_LOG);    # 采用配置文件  
  6.     logger = logging.getLogger("xzs")  
  7.     logger.debug("Hello xzs")  
  8.       
  9.     logger = logging.getLogger()  
  10.     logger.info("Hello root")  
  11.       
  12. if __name__ == "__main__":  
  13.     log_test02()</span>  

输出:

  1. <span style="font-size:18px;">2012-06-04 15:28:05,751 - xzs - DEBUG - Hello xzs - [xlog.py:29]  
  2. 2012-06-04 15:28:05,751 - root - INFO - Hello root - [xlog.py:32]</span>  

具体就不详细说明了,总之是能够运行的,这个文件配置搞了我两天时间。

特别是class=XXXX要注意!!!


 关于formatter的配置,采用的是%(<dict key>)s的形式,就是字典的关键字替换。提供的关键字包括:

FormatDescription
%(name)sName of the logger (logging channel).
%(levelno)sNumeric logging level for the message (DEBUGINFOWARNINGERRORCRITICAL).
%(levelname)sText logging level for the message ('DEBUG''INFO''WARNING''ERROR''CRITICAL').
%(pathname)sFull pathname of the source file where the logging call was issued (if available).
%(filename)sFilename portion of pathname.
%(module)sModule (name portion of filename).
%(funcName)sName of function containing the logging call.
%(lineno)dSource line number where the logging call was issued (if available).
%(created)fTime when the LogRecord was created (as returned by time.time()).
%(relativeCreated)dTime in milliseconds when the LogRecord was created, relative to the time the logging module was loaded.
%(asctime)sHuman-readable time when the LogRecord was created. By default this is of the form “2003-07-08 16:49:45,896” (the numbers after the comma are millisecond portion of the time).
%(msecs)dMillisecond portion of the time when the LogRecord was created.
%(thread)dThread ID (if available).
%(threadName)sThread name (if available).
%(process)dProcess ID (if available).
%(message)sThe logged message, computed as msg % args.
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
python的logging模块【zz】
django日志logging 的配置以及处理
使用Python的logging.config.fileConfig配置日志
python按日志时间与按日志大小切分日志
多module使用Logging(只要在同一个Python interpreter process)
python logging 日志
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服