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抢过年的火车票附源码
Dec 07 Python
Python3连接MySQL(pymysql)模拟转账实现代码
May 24 Python
python数据结构之链表的实例讲解
Jul 25 Python
python3.6使用urllib完成下载的实例
Dec 19 Python
twilio python自动拨打电话,播放自定义mp3音频的方法
Aug 08 Python
Python安装及Pycharm安装使用教程图解
Sep 20 Python
python 发送json数据操作实例分析
Oct 15 Python
对Pytorch中Tensor的各种池化操作解析
Jan 03 Python
Python3打包exe代码2种方法实例解析
Feb 17 Python
Django之富文本(获取内容,设置内容方式)
May 21 Python
神经网络训练采用gpu设置的方式
Mar 03 Python
Python可视化神器pyecharts之绘制箱形图
Jul 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 split()函数的用法详解
2013/06/05 PHP
学习php设计模式 php实现命令模式(command)
2015/12/08 PHP
PHP PDOStatement::setFetchMode讲解
2019/02/03 PHP
分享10篇优秀的jQuery幻灯片制作教程及应用案例
2011/04/16 Javascript
能说明你的Javascript技术很烂的五个原因分析
2011/10/28 Javascript
ECMAScript6块级作用域及新变量声明(let)
2015/06/12 Javascript
javascript倒计时效果实现
2015/11/12 Javascript
jquery实现全选、反选、获得所有选中的checkbox
2020/09/13 Javascript
jQuery头像裁剪工具jcrop用法实例(附演示与demo源码下载)
2016/01/22 Javascript
jQuery实现CheckBox全选、全不选功能
2017/01/11 Javascript
Vue和Bootstrap的整合思路详解
2017/06/30 Javascript
微信小程序url与token设置详解
2017/09/26 Javascript
vue无限轮播插件代码实例
2019/05/10 Javascript
JavaScript使用localStorage存储数据
2019/09/25 Javascript
vue 使用 v-model 双向绑定父子组件的值遇见的问题及解决方案
2021/03/01 Vue.js
[01:28]国服启动器接入蒸汽平台操作流程视频
2021/03/11 DOTA
python通过百度地图API获取某地址的经纬度详解
2018/01/28 Python
PyQt5实现QLineEdit添加clicked信号的方法
2019/06/25 Python
python 利用turtle模块画出没有角的方格
2019/11/23 Python
10行Python代码实现Web自动化管控的示例代码
2020/08/14 Python
使用CSS3滤镜的filter:blur属性制作毛玻璃模糊效果的方法
2016/07/08 HTML / CSS
Foot Locker意大利官网:全球领先的运动鞋和服装零售商
2017/05/30 全球购物
欧洲领先的技术商店:eibmarkt.com
2019/05/10 全球购物
日本最大的购物网站乐天市场国际版:Rakuten Global Market(支持中文)
2020/02/03 全球购物
软件工程师面试题
2012/06/25 面试题
高级文秘工作总结的自我评价
2013/09/28 职场文书
外科实习自我鉴定
2013/10/06 职场文书
国际政治个人自荐信范文
2013/11/26 职场文书
房地产销售经理岗位职责
2014/01/01 职场文书
党员干部承诺书范文
2014/03/25 职场文书
机关会计岗位职责
2014/04/08 职场文书
大学生创业计划书
2014/08/14 职场文书
财务检查整改报告
2014/11/06 职场文书
道士塔读书笔记
2015/06/30 职场文书
青年教师听课心得体会
2016/01/15 职场文书
Anaconda配置各版本Pytorch的实现
2021/08/07 Python