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中的闭包
Jul 08 Python
详解Python中的array数组模块相关使用
Jul 05 Python
在Python中使用AOP实现Redis缓存示例
Jul 11 Python
Python模块搜索路径代码详解
Jan 29 Python
Python内置模块hashlib、hmac与uuid用法分析
Feb 12 Python
pandas数据分组和聚合操作方法
Apr 11 Python
解决python 输出是省略号的问题
Apr 19 Python
对Python定时任务的启动和停止方法详解
Feb 19 Python
Python使用进程Process模块管理资源
Mar 05 Python
解决安装新版PyQt5、PyQT5-tool后打不开并Designer.exe提示no Qt platform plugin的问题
Apr 24 Python
python 实现任务管理清单案例
Apr 25 Python
Python实现自动签到脚本的示例代码
Aug 19 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
Yii2.0中使用js异步删除示例
2017/03/10 PHP
Yii框架参数化查询中IN查询只能查询一个的解决方法
2017/05/20 PHP
PHP中有关长整数的一些操作教程
2019/09/11 PHP
javascript中的关于类型转换的性能优化
2010/12/14 Javascript
jQuery+ajax实现动态执行脚本的方法
2015/01/27 Javascript
Bootstrap中文本框的宽度变窄并且加入一副验证码图片的实现方法
2016/06/23 Javascript
浅谈jQuery效果函数
2016/09/16 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
2016/09/21 Javascript
图文详解Javascript中的上下文和作用域
2017/02/15 Javascript
element-ui 表格实现单元格可编辑的示例
2018/02/26 Javascript
Vue中常用rules校验规则(实例代码)
2019/11/14 Javascript
Python入门及进阶笔记 Python 内置函数小结
2014/08/09 Python
详解Python3中的Sequence type的使用
2015/08/01 Python
Python数据类型中的“冒号“[::]——分片与步长操作示例
2018/01/24 Python
浅谈pandas中shift和diff函数关系
2018/04/08 Python
详解Django中间件的5种自定义方法
2018/07/26 Python
用Python实现筛选文件脚本的方法
2018/10/27 Python
Python读取Pickle文件信息并计算与当前时间间隔的方法分析
2019/01/30 Python
python @classmethod 的使用场合详解
2019/08/23 Python
Django admin管理工具TabularInline类用法详解
2020/05/14 Python
Django自带的用户验证系统实现
2020/12/18 Python
浏览器实现移动端高性能css3动画(开启gpu加速)
2013/12/23 HTML / CSS
HTML5 播放 RTSP 视频的实例代码
2019/07/29 HTML / CSS
Html5 webRTC简单实现视频调用的示例代码
2020/09/23 HTML / CSS
中国排名第一的外贸销售网站:LightInTheBox.com(兰亭集势)
2016/10/28 全球购物
乌克兰网上珠宝商店:GoldSoveren
2020/03/31 全球购物
医生自荐信
2013/10/11 职场文书
怎样写好自荐信和推荐信
2013/12/26 职场文书
冰淇淋店创业计划书范文
2013/12/27 职场文书
《长江之歌》教学反思
2014/04/17 职场文书
学生顶撞老师的检讨书
2014/09/17 职场文书
青年岗位能手事迹材料
2014/12/23 职场文书
廉洁自律承诺书范文
2015/04/28 职场文书
治庸问责工作总结
2015/08/11 职场文书
Pytorch使用shuffle打乱数据的操作
2021/05/20 Python
漫画「古见同学有交流障碍症」第25卷封面公开
2022/03/21 日漫