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正则表达式修复网站文章字体不统一的解决方法
Feb 21 Python
使用python爬虫实现网络股票信息爬取的demo
Jan 05 Python
Python中实现变量赋值传递时的引用和拷贝方法
Apr 29 Python
Django中的文件的上传的几种方式
Jul 23 Python
python使用PIL实现多张图片垂直合并
Jan 15 Python
详解PyCharm安装MicroPython插件的教程
Jun 24 Python
8段用于数据清洗Python代码(小结)
Oct 31 Python
python计算二维矩形IOU实例
Jan 18 Python
python怎么判断模块安装完成
Jun 19 Python
JupyterNotebook 输出窗口的显示效果调整实现
Sep 22 Python
如何基于pandas读取csv后合并两个股票
Sep 25 Python
Python 下载Bing壁纸的示例
Sep 29 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
上海牌131型七灯四波段四喇叭一级收音机
2021/03/02 无线电
thinkphp的URL路由规则与配置实例
2014/11/26 PHP
Yii2.0高级框架数据库增删改查的一些操作
2015/11/16 PHP
弹出模态框modal的实现方法及实例
2017/09/19 PHP
php fread函数使用方法总结
2019/05/28 PHP
Javascript调试工具(下载)
2007/01/09 Javascript
比较详细的关于javascript 解析json的代码
2009/12/16 Javascript
jQuery 前的按键判断代码
2010/03/19 Javascript
location.search在客户端获取Url参数的方法
2010/06/08 Javascript
Jquery右下角抖动、浮动 实例代码(兼容ie6、FF)
2013/08/15 Javascript
js中top的作用深入剖析
2014/03/04 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
JavaScript通过prototype给对象定义属性用法实例
2015/03/23 Javascript
JS常见简单正则表达式验证功能小结【手机,地址,企业税号,金额,身份证等】
2017/01/22 Javascript
Bootstrap table使用方法记录
2017/08/23 Javascript
javascript将list转换成树状结构的实例
2017/09/08 Javascript
详解vue+webpack+express中间件接口使用
2018/07/17 Javascript
微信小程序项目实践之主页tab选项实现
2018/07/18 Javascript
vue实现动态列表点击各行换色的方法
2018/09/13 Javascript
详解Webpack4多页应用打包方案
2020/07/16 Javascript
JavaScript读取本地文件常用方法流程解析
2020/10/12 Javascript
[01:31:03]DOTA2完美盛典全回顾 见证十五项大奖花落谁家
2017/11/28 DOTA
使用Nginx+uWsgi实现Python的Django框架站点动静分离
2016/03/21 Python
flask中主动抛出异常及统一异常处理代码示例
2018/01/18 Python
漂亮的Django Markdown富文本app插件的实现
2019/01/02 Python
django解决订单并发问题【推荐】
2019/07/31 Python
python的range和linspace使用详解
2019/11/27 Python
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
在线购买澳大利亚设计师手拿包和奢华晚装手袋:Olga Berg
2019/03/20 全球购物
美国办公用品折扣网站:Shoplet.com
2019/11/24 全球购物
英语专业大学生求职简历的自我评价
2013/10/18 职场文书
课程改革实施方案
2014/03/16 职场文书
共筑中国梦演讲稿
2014/04/23 职场文书
2015年社会治安综合治理工作总结
2015/04/10 职场文书
CSS3通过var()和calc()函数实现动画特效
2021/03/30 HTML / CSS
Python Pygame实战在打砖块游戏的实现
2022/03/17 Python