python logging模块书写日志以及日志分割详解


Posted in Python onJuly 22, 2019

本文范例是书写两个日志:错误日志(ERROR级别)和运行日志(DEBUG级别),其中运行日志每日凌晨进行分割

import logging,datetime,logging.handlers
from conf import settings
 
if __name__ == "__main__":
  #两个日志,错误日志和运行日志,输出文件路径及文件名
  error_log = settings.ERROR_LOG_FILE
  run_log = settings.RUN_LOG_FILE
 
  logger = logging.getLogger("mylog")
  logger.setLevel(logging.DEBUG)
 
  DATE_FORMAT = "%Y-%m-%d %H:%M:%S %p"
  LOG_FORMAT = "%(asctime)s------%(levelname)s[:%(lineno)d]-------%(message)s"
  #第一种普通写法
  #file_run_log = logging.FileHandler(run_log)
  #假如需要每日凌晨进行日志切割,注意导入模块时需要导入logging.handlers,否则报错
  #when参数可以设置S M H D,分别是秒、分、小时、天分割,也可以按周几分割,也可以凌晨分割
  file_run_log = rf_handler = logging.handlers.TimedRotatingFileHandler(run_log, when='midnight', interval=1, backupCount=7, atTime=datetime.time(0, 0, 0, 0))
 
  file_error_log = logging.FileHandler(error_log)
 
  file_run_log.setLevel(level=logging.INFO)
  file_run_log.setFormatter(logging.Formatter(LOG_FORMAT))
  file_error_log.setLevel(level=logging.ERROR)
  file_error_log.setFormatter(logging.Formatter(LOG_FORMAT))
 
  logger.addHandler(file_run_log)
  logger.addHandler(file_error_log)
 
  logger.info("info test")
  logger.error("error test")
  logger.critical("critical test")
 
 
 
  #普通全局写法
  # logging.basicConfig(level=logging.DEBUG,filename=run_log,format=LOG_FORMAT,datefmt=DATE_FORMAT)
 
  # logging.info("this is a log")
  # logging.warning("this is warning")

settings.py:

ERROR_LOG_FILE = os.path.join(BASE_DIR,"log","error.log")
RUN_LOG_FILE = os.path.join(BASE_DIR,"log","run.log")

日志输出结果run.log:

python logging模块书写日志以及日志分割详解

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 将字符串转换成字典dict
Mar 24 Python
python使用PyGame播放Midi和Mp3文件的方法
Apr 24 Python
Python文本相似性计算之编辑距离详解
Nov 28 Python
Python更新数据库脚本两种方法及对比介绍
Jul 27 Python
python的mysqldb安装步骤详解
Aug 14 Python
Python实现的多线程同步与互斥锁功能示例
Nov 30 Python
python的依赖管理的实现
May 14 Python
elasticsearch python 查询的两种方法
Aug 04 Python
pygame实现俄罗斯方块游戏(AI篇2)
Oct 29 Python
在django中使用post方法时,需要增加csrftoken的例子
Mar 13 Python
Python如何创建装饰器时保留函数元信息
Aug 07 Python
MoviePy简介及Python视频剪辑自动化
Dec 18 Python
使用 Python 快速实现 HTTP 和 FTP 服务器的方法
Jul 22 #Python
Django框架静态文件使用/中间件/禁用ip功能实例详解
Jul 22 #Python
python多进程下实现日志记录按时间分割
Jul 22 #Python
Django框架自定义模型管理器与元选项用法分析
Jul 22 #Python
python实现日志按天分割
Jul 22 #Python
python re.sub()替换正则的匹配内容方法
Jul 22 #Python
简单了解python gevent 协程使用及作用
Jul 22 #Python
You might like
全国FM电台频率大全 - 26 西藏自治区
2020/03/11 无线电
php关于array_multisort多维数组排序的使用说明
2011/01/04 PHP
利用yahoo汇率接口实现实时汇率转换示例 汇率转换器
2014/01/14 PHP
JavaScript中的闭包原理分析
2010/03/08 Javascript
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
2011/08/23 Javascript
js下拉框二级关联菜单效果代码具体实现
2013/08/03 Javascript
简单的ajax连接库分享(不用jquery的ajax)
2014/01/19 Javascript
js实现点击向下展开的下拉菜单效果代码
2015/09/01 Javascript
jquery采用oop模式class类的使用示例
2016/01/22 Javascript
Vue.JS入门教程之自定义指令
2016/12/08 Javascript
jQuery实现字符串全部替换的方法
2016/12/12 Javascript
vue+webpack实现异步加载三种用法示例详解
2018/04/24 Javascript
ios设备中angularjs无法改变页面title的解决方法
2018/09/13 Javascript
详解vue中使用axios对同一个接口连续请求导致返回数据混乱的问题
2019/11/06 Javascript
jQuery实现的解析本地 XML 文档操作示例
2020/04/30 jQuery
python显示天气预报
2014/03/02 Python
如何搜索查找并解决Django相关的问题
2014/06/30 Python
Python抓取京东图书评论数据
2014/08/31 Python
Python读取stdin方法实例
2019/05/24 Python
python如何实现单链表的反转
2020/02/10 Python
python+gdal+遥感图像拼接(mosaic)的实例
2020/03/10 Python
Stefania Mode美国:奢华设计师和时尚服装
2018/01/07 全球购物
Java程序员面试题
2013/07/15 面试题
岗位职责定义及内容
2013/11/08 职场文书
初二政治教学反思
2014/01/12 职场文书
给幼儿园老师的表扬信
2014/01/19 职场文书
国际政治学专业推荐信
2014/09/26 职场文书
人民调解协议书范本
2014/10/11 职场文书
平安家庭事迹材料
2014/12/20 职场文书
一年级数学上册复习计划
2015/01/17 职场文书
青岛海底世界导游词
2015/02/11 职场文书
2016年“节能宣传周”活动总结
2016/04/05 职场文书
JavaScript实现淘宝商品图切换效果
2021/04/29 Javascript
python 实现图与图之间的间距调整subplots_adjust
2021/05/21 Python
图文详解matlab原始处理图像几何变换
2021/07/09 Python
vue配置型表格基于el-table拓展之table-plus组件
2022/04/12 Vue.js