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实现rest请求api示例
Apr 22 Python
python服务器端收发请求的实现代码
Sep 29 Python
Python中的zip函数使用示例
Jan 29 Python
Python切片知识解析
Mar 06 Python
Python多进程分块读取超大文件的方法
Apr 13 Python
Python实战之制作天气查询软件
May 14 Python
python文件绝对路径写法介绍(windows)
Dec 25 Python
pytorch方法测试——激活函数(ReLU)详解
Jan 15 Python
pytorch中使用cuda扩展的实现示例
Feb 12 Python
2020新版本pycharm+anaconda+opencv+pyqt环境配置学习笔记,亲测可用
Mar 24 Python
Django URL参数Template反向解析
Nov 24 Python
python中time、datetime模块的使用
Dec 14 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
自动分页的不完整解决方案
2007/01/12 PHP
Cakephp 执行主要流程
2010/03/24 PHP
PHP实现HTML页面静态化的方法
2015/11/04 PHP
jQuery 相关控件的事件操作分解
2009/08/03 Javascript
ext 代码生成器
2009/08/07 Javascript
利用js实现选项卡的特别效果的实例
2013/03/03 Javascript
ie8下修改input的type属性报错的解决方法
2014/09/16 Javascript
简单学习JavaScript中的for语句循环结构
2015/11/10 Javascript
JavaScript html5 canvas绘制时钟效果
2016/03/01 Javascript
实用又漂亮的BootstrapValidator表单验证插件
2016/05/30 Javascript
jQuery webuploader分片上传大文件
2016/11/07 Javascript
JavaScript实现点击按钮复制指定区域文本(推荐)
2016/11/25 Javascript
js实现简单的计算器功能
2017/01/16 Javascript
webpack4 + react 搭建多页面应用示例
2018/08/03 Javascript
微信小程序中weui用法解析
2019/10/21 Javascript
Layui数据表格之单元格编辑方式
2019/10/26 Javascript
JavaScript Window浏览器对象模型原理解析
2020/05/30 Javascript
如何在vue 中引入使用jquery
2020/11/10 jQuery
深入了解Vue3模板编译原理
2020/11/19 Vue.js
微信小程序轮播图swiper代码详解
2020/12/01 Javascript
python getopt详解及简单实例
2016/12/30 Python
python模块smtplib实现纯文本邮件发送功能
2018/05/22 Python
Python 给定的经纬度标注在地图上的实现方法
2019/07/05 Python
python版百度语音识别功能
2019/07/09 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
2019/08/13 Python
tensorflow指定GPU与动态分配GPU memory设置
2020/02/03 Python
在python中logger setlevel没有生效的解决
2020/02/21 Python
南威尔士家居商店:Leekes
2016/10/25 全球购物
制定岗位职责的原则
2013/11/08 职场文书
教师学习培训邀请函
2014/02/04 职场文书
数学教学随笔感言
2014/02/17 职场文书
股份合作协议书范本
2014/04/14 职场文书
物理学专业自荐信
2014/06/11 职场文书
安阳殷墟导游词
2015/02/10 职场文书
证婚人致辞精选
2015/07/28 职场文书
多台电脑共享文件怎么设置?多台电脑共享文件操作教程
2022/04/08 数码科技