Python3 标准库自带logging模块,使用的时候直接引用
写log
import logging # 引入logging模块 from logging.handlers import TimedRotatingFileHandler import os.path import time # 第一步,创建一个logger logger = logging.getLogger() logger.setLevel(logging.INFO) # Log等级总开关 # 第二步,创建一个handler,用于写入日志文件 rq = time.strftime('%Y%m%d%H%M', time.localtime(time.time())) log_path = os.path.dirname(os.getcwd()) + '/log/Logs/' log_name = log_path + rq + '.log' logfile = log_name fh = logging.FileHandler(logfile, mode='w') fh.setLevel(logging.DEBUG) # 输出到file的log等级的开关 # 第三步,定义handler的输出格式 formatter = logging.Formatter("%(asctime)s - %(filename)s[line:%(lineno)d] - %(levelname)s: %(message)s") #创建TimedRotatingFileHandler对象 log_file_handler = TimedRotatingFileHandler(filename="ds_update", when="D", interval=2, backupCount=2) fh.setFormatter(formatter) # 第四步,将logger添加到handler里面 logger.addHandler(fh) # 日志 # logger.debug('this is a logger debug message') # logger.info('this is a logger info message') # logger.warning('this is a logger warning message') # logger.error('this is a logger error message') # logger.critical('this is a logger critical message') # filename:日志文件名的prefix; # # when:是一个字符串,用于描述滚动周期的基本单位,字符串的值及意义如下: # “S”: Seconds # “M”: Minutes # “H”: Hours # “D”: Days # “W”: Week day (0=Monday) # “midnight”: Roll over at midnight # # interval: 滚动周期,单位有when指定,比如:when=’D’,interval=1,表示每天产生一个日志文件 # # backupCount: 表示日志文件的保留个数
如何引用logger方法?
from app.log.log import logger data={ "bdCode":"GSXA0580" } # 使用python自带的字符串格式化,不推荐 logger.info("%s data的值为:%s"%("hello world!!",data)) # 使用logger的格式化,推荐 logger.info("%s data的值为:%s","hello world!!",data) logger.info("data:",data) # 使用format函数,推荐 logger.info("{}data的值是:{}".format("Hello,world!!!",data)) for i in range(1,20): print(i) logger.info("i的值为:%s,入参为:%s",i,data)
打印日志如下:
2018-06-10 15:52:37,817 - showlog.py[line:11] - INFO: hello world!! data的值为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,817 - showlog.py[line:13] - INFO: hello world!! data的值为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,817 - showlog.py[line:14] - INFO: data: 2018-06-10 15:52:37,818 - showlog.py[line:16] - INFO: Hello,world!!!data的值是:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,818 - showlog.py[line:19] - INFO: i的值为:1,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,818 - showlog.py[line:19] - INFO: i的值为:2,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,818 - showlog.py[line:19] - INFO: i的值为:3,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,818 - showlog.py[line:19] - INFO: i的值为:4,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,818 - showlog.py[line:19] - INFO: i的值为:5,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,818 - showlog.py[line:19] - INFO: i的值为:6,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,818 - showlog.py[line:19] - INFO: i的值为:7,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,818 - showlog.py[line:19] - INFO: i的值为:8,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,818 - showlog.py[line:19] - INFO: i的值为:9,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,819 - showlog.py[line:19] - INFO: i的值为:10,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,819 - showlog.py[line:19] - INFO: i的值为:11,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,819 - showlog.py[line:19] - INFO: i的值为:12,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,819 - showlog.py[line:19] - INFO: i的值为:13,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,820 - showlog.py[line:19] - INFO: i的值为:14,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,820 - showlog.py[line:19] - INFO: i的值为:15,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,820 - showlog.py[line:19] - INFO: i的值为:16,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,820 - showlog.py[line:19] - INFO: i的值为:17,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,820 - showlog.py[line:19] - INFO: i的值为:18,入参为:{'bdCode': 'GSXA0580'} 2018-06-10 15:52:37,821 - showlog.py[line:19] - INFO: i的值为:19,入参为:{'bdCode': 'GSXA0580'}
参考文档:http://python.jobbole.com/86887/
相关推荐
主要介绍了Python logging模块原理解析及应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
许多应用程序中都会有日志模块,用于记录系统在运行过程中的一些关键信息,以便于对系统的运行...这篇文章给大家主要介绍了在Python中logging日志模块在多进程环境下的使用,需要的朋友可以参考借鉴,下面来一起看看吧。
Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用。这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP,Socket等,甚至可以自己实现具体的日志...
提供应用程序代码直接使用的接口 handlers处理器 用于将日志记录发送到指定的目的位置 filters过滤器 过滤, 决定哪些输出哪些日志记录, 其余忽略 formatters格式器 控制日志输出格式 使用代码如下 import os...
主要介绍了python日志logging模块使用方法,结合实例形式较为详细的分析了Python日志logging模块相关API函数与应用技巧,需要的朋友可以参考下
logging模块中包含的类 用来自定义日志对象的规则(比如:设置日志输出格式、等级等) 常用3个子类:StreamHandler、FileHandler、TimedRotatingFileHandler 二、handlers基础应用 2.1 StreamHandler 控制台输出...
logging分为4个模块: loggers, handlers, filters, and formatters. ●loggers: 提供应用程序调用的接口 ●handlers: 把日志发送到指定的位置 ●filters: 过滤日志信息 ●formatters: 格式化输出日志 Logger Logger....
简单来讲就是,我们通过记录和分析日志可以了解一个系统或软件程序运行情况是否正常,也可以在应用程序出现故障时快速定位问题。比如,做运维的同学,在接收到报警或各种问题反馈后,进行问题排查时通常都会先去看...
Python的logging模块提供了通用的日志系统,熟练使用logging模块可以方便开发者开发第三方模块或者是自己的Python应用。同样这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP、GET/POST,...
Python的logging模块提供了通用的日志系统,可以方便第三方模块或者是应用使用,下面这篇文章主要给大家介绍了关于python中logging库使用的一些知识总结,文中给出了详细的示例代码,需要的朋友可以参考借鉴,下面来...
目录 第1章 Python 处理 cassandra 升级后的回滚脚本 第 2 章 多套方案来提高 python web 框架的并发处理能力 ...第 30 章 python Howto 之 logging 模块 第 31 章 Python FAQ3-python 中 的原始(raw)字符串
以下是一个Python学习笔记的大纲,涵盖了从基础到进阶的内容。你可以根据自己的学习...日志记录(logging模块) 单元测试(unittest模块) 文件和目录操作 os模块 shutil模块 pathlib模块 高级特性 列表推导式(List C
Django使用python的内建日志模块来记录系统日志,但是要想在django应用中开启此功能使我们的部分操作能够被记录到日志文件,那么就需要进行一定的配置并且根据具体的log类型来进行调用 step 1:配置setting.py 以下...
logging模块支持将日志信息保存到不同的目标域中,如:保存到日志文件中;以邮件的形式发送日志信息;以http get或post的方式提交日志到web服务器;以windows事件的形式记录等等。这些日志保存方式可以组合使用,每...
Python的logging package提供了通用的日志系统,可以方便第三方模块或者是应用使用。这个模块提供不同的日志级别,并可以采用不同的方式记录日志,比如文件,HTTP GET/POST,SMTP,Socket等,甚至可以自己实现具体的...
借助于拥有基于标准库的大量工具、能够使用低级语言如C和可以作为其他库接口的C++,Python已成为一种强大的应用于其他语言与工具之间的胶水语言。 Python标准库的主要功能有: 文本处理,包含文本格式化、正则表达式...
第3部分讲述测试、调试、部署和维护,分别介绍了Logging和Warning模块、可测试性的设计、使用命令行、模块和包的设计、质量和文档。 本书深入剖析Python,帮助读者全面掌握Python并构建出更好的应用程序,非常适合...