python写日志文件操作类与应用示例


Posted in Python onJuly 01, 2019

本文实例讲述了python写日志文件操作类与应用。分享给大家供大家参考,具体如下:

项目的开发过程中,日志文件是少不了的,通过写日志文件,可以知道程序运行的情况。特别当部署在生产环境中的时候,这个时候一般不能debug , 当然在有些情况时可以 remote debug (远程debug)。那种情况另当别论。还是用通常的写日志的方法,比如在 java 中,经常可以看到 log4j,sf4j,logback等三方组件来写日志。

在python中如何实现呢,其实python 本身也带了日志操作的库。可以直接使用。这里我把在项目中用到的整理了一下,分享在下面,这个实现的方法,主要有两点

1. 写日志的类

2.日志配置文件(handler,logger,以及日志保存的路径等)

写日志的类

'''
Created on 2012-2-17
@author: yihaomen.com
'''
import logging.config
import os
class INetLogger:
  log_instance = None
  @staticmethod
  def InitLogConf():
    currentDir=os.path.dirname(__file__)
    INetLogger.log_instance = logging.config.fileConfig(currentDir+os.path.sep+"logger.ini")
  @staticmethod
  def GetLogger(name = ""):
    if INetLogger.log_instance == None:
      INetLogger.InitLogConf()
    INetLogger.log_instance = logging.getLogger(name)
    return INetLogger.log_instance
if __name__ == "__main__":
  logger = INetLogger.GetLogger()
  logger.debug("debug message")
  logger.info("info message")
  logger.warn("warn message")
  logger.error("error message")
  logger.critical("critical message")
  logHello = INetLogger.GetLogger("root")
  logHello.info("Hello world!")

日志配置文件,与上面的类在同一文件夹下 logger.ini

[loggers]
keys=root,mysql,socket
[handlers]
keys=consoleHandler,rotateFileHandler
[formatters]
keys=simpleFormatter
[formatter_simpleFormatter]
format=[%(asctime)s][%(levelname)s] [%(filename)s:%(lineno)d] [thread:%(thread)d]: %(message)s
[logger_root]
qualname=root
level=DEBUG
handlers=consoleHandler,rotateFileHandler
[logger_mysql]
qualname=mysql
level=DEBUG
handlers=rotateFileHandler
[logger_socket]
qualname=socket
level=ERROR
handlers=rotateFileHandler
[handler_consoleHandler]
class=StreamHandler
level=DEBUG
formatter=simpleFormatter
args=(sys.stdout,)
[handler_rotateFileHandler]
class=handlers.RotatingFileHandler
level=DEBUG
formatter=simpleFormatter
args=('c:/logs/InetServer.log', 'a', 2000000, 9)

如果你用了 handler_rotateFileHandler 的话,这样日志就会保存到 才c:/logs/InetServer.log 文件里面,而且当日志超过2000000 d的时候,重新另外生成一个文件,保存9天的记录,你可以配置成30,这样就保存了最近一个月的日志记录。

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
python使用xlrd与xlwt对excel的读写和格式设定
Jan 21 Python
Python探索之爬取电商售卖信息代码示例
Oct 27 Python
使用Django和Python创建Json response的方法
Mar 26 Python
Python numpy 提取矩阵的某一行或某一列的实例
Apr 03 Python
解决seaborn在pycharm中绘图不出图的问题
May 24 Python
numpy中以文本的方式存储以及读取数据方法
Jun 04 Python
解决python selenium3启动不了firefox的问题
Oct 13 Python
使用python实现mqtt的发布和订阅
May 05 Python
python自动化之Ansible的安装教程
Jun 13 Python
Django之提交表单与前后端交互的方法
Jul 19 Python
python cumsum函数的具体使用
Jul 29 Python
Tensorflow训练模型越来越慢的2种解决方案
Feb 07 Python
python实现自动化上线脚本的示例
Jul 01 #Python
在Python中构建增广矩阵的实现方法
Jul 01 #Python
django框架实现模板中获取request 的各种信息示例
Jul 01 #Python
Python整数对象实现原理详解
Jul 01 #Python
python实现两个dict合并与计算操作示例
Jul 01 #Python
Python字符串对象实现原理详解
Jul 01 #Python
Python转换时间的图文方法
Jul 01 #Python
You might like
php实现从ftp服务器上下载文件树到本地电脑的程序
2009/02/10 PHP
PHP 模拟$_PUT实现代码
2010/03/15 PHP
dedecms系统的广告设置代码 基础版本
2010/04/09 PHP
php 获取本地IP代码
2013/06/23 PHP
php提交过来的数据生成为txt文件
2016/04/28 PHP
Zend Framework框架实现类似Google搜索分页效果
2016/11/25 PHP
两种常用的javascript数组去重方法思路及代码
2013/03/26 Javascript
从js向Action传中文参数出现乱码问题的解决方法
2013/12/29 Javascript
js继承call()和apply()方法总结
2014/12/08 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
2015/01/13 Javascript
Bootstrap3.3.7导航栏下拉菜单鼠标滑过展开效果
2017/10/31 Javascript
微信小程序实现收藏与取消收藏切换图片功能
2018/08/03 Javascript
详解html-webpack-plugin插件(用法总结)
2018/09/12 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
typescript nodejs 依赖注入实现方法代码详解
2019/07/21 NodeJs
vue组件库的在线主题编辑器的实现思路
2020/04/03 Javascript
基于Cesium绘制抛物弧线
2020/11/18 Javascript
python实现的登录和操作开心网脚本分享
2014/07/09 Python
Python 装饰器深入理解
2017/03/16 Python
Python学习小技巧之利用字典的默认行为
2017/05/20 Python
Python生成器的使用方法和示例代码
2019/03/04 Python
Python爬虫实现爬取百度百科词条功能实例
2019/04/05 Python
Python如何基于rsa模块实现非对称加密与解密
2020/01/03 Python
Python递归调用实现数字累加的代码
2020/02/25 Python
利用pandas向一个csv文件追加写入数据的实现示例
2020/04/23 Python
Python实现密钥密码(加解密)实例详解
2020/04/26 Python
django ORM之values和annotate使用详解
2020/05/19 Python
聊聊python在linux下与windows下导入模块的区别说明
2021/03/03 Python
浅谈cookie和localStorage那些事
2019/08/27 HTML / CSS
英国女性时尚鞋类的潮流制造者:Koi Footwear
2018/10/19 全球购物
世界经理人咨询有限公司面试
2014/09/23 面试题
委托书样本
2014/04/02 职场文书
孝老爱亲模范事迹材料
2014/05/25 职场文书
党员先进性教育整改措施
2014/09/18 职场文书
Python requests用法和django后台处理详解
2022/03/19 Python
webpack介绍使用配置教程详解webpack介绍和使用
2022/06/25 Javascript