python输出日志到文件_【已解决】Python中,如何让多个py文件的logging输出到同一个日志log文件...
【问题】
有一个比较长的python脚本文件,其中关于log日志输出,用的是logging,对应初始化代码为:logging.basicConfig(
level = logging.DEBUG,
format = 'LINE %(lineno)-4d %(levelname)-8s %(message)s',
datefmt = '%m-%d %H:%M',
filename = scriptSelfName + ".log",
filemode = 'w');
# define a Handler which writes INFO messages or higher to the sys.stderr
console = logging.StreamHandler();
console.setLevel(logging.INFO);
# set a format which is simpler for console use
formatter = logging.Formatter('LINE %(lineno)-4d : %(levelname)-8s %(message)s');
# tell the handler to use this format
console.setFormatter(formatter);
logging.getLogger('').addHandler(console);
然后logging.info,logging.debug等就可以输入日志到对应的log文件BlogToWordpress.log中了。
现在该文件由于太大,被分为一个主文件BlogToWordpress.py和多个子文件,比如BlogNetease.py,crifanLib.py等。
由于被分拆之后,子文件中的log输出,好像无法直接使用logging了。
然后只能使用print,很是不爽。
现在希望,子文件中的logging和主文件中的logging的输出,都输出到同一个log文件,即主文件所生成的那个log文件中。
【解决过程】
1.由于之前刚搞懂关于py模块被当做子模块调用之前的初始化:
所以首先想到的是,在子模块初始化中,也同样使用logging,然后单独生成自己的logging文件,测试代码如下:#------------------------------------------------------------------------------
if __name__=="BlogNetease":
print "BlogNetease is imported from others";
logging.basicConfig(
level = logging.DEBUG,
filename = "BlogNetease.log",
filemode = 'w',
);
logging.info("logging output info from BlogNetease is OK .");
print "BlogNetease import end";
测试出来的结果很是诡异,好像是子文件再次配置的logging,把主文件的logging文件劫持了,然后接下来的输出,都输出到子文件的log文件中了。这不是我所希望的,每个py文件都有自己单独的log文件。
2.后来无意中发现,对于子文件,完全不需要多余额外设置,只需要:
import logging;
然后直接使用logging.info,logging.debug函数,即可实现把日志内容输出去,具体输出的形式,取决于主文件用logging.basicConfig所配置的形式。输入的位置,即主文件的log文件。
这样,至少可以很好地实现,将多个py文件的logging内容都输出到同一个主文件的log文件中,并且格式都是设置好的,统一的。
【总结】
主文件设置好logging.basicConfig相关参数,配置好StreamHandler等内容后,子文件,只需要导入logging模块,然后调用logging.info,logging.debug函数,即可实现将log信息,都输入到主文件的log中了。
python输出日志到文件_【已解决】Python中,如何让多个py文件的logging输出到同一个日志log文件...相关推荐
- python如何读取log文件_怎么解决Python读取log文件时报错
怎么解决Python读取log文件时报错 发布时间:2020-05-23 14:15:56 来源:亿速云 阅读:157 作者:鸽子 问题描述: 写了一个读取log文件的Python脚本:# -*- c ...
- python 折线图中文乱码_彻底解决 Python画图中文乱码问题--Pyplotz组件
1 源起 自从开始学习Python,就非常喜欢用来画图.一直没有需求画要中文显示信息的图,所以没有配置Python中文的环境.由于昨天就需要画几十个形式相同,只是数据不同的图,并且需要显示中文信息.如 ...
- python环境配置不成功_怎么解决python配置环境变量不成功
怎么解决python配置环境变量不成功 发布时间:2020-08-25 16:02:46 来源:亿速云 阅读:94 这期内容当中小编将会给大家带来有关怎么解决python配置环境变量不成功,文章内容丰 ...
- python中文显示不出来_彻底解决Python里matplotlib不显示中文的问题
在很长一段时间里用Python绘图,matplotlib都不能很好的显示中文,起初是认为我的pycharm里的设置问题,但是发现同样的问题在spyder里也同样的出现了,虽然有的地方可以用英文实在不行 ...
- python不是内部文件_已安装python,但是出现‘python’不是内部或外部命令,也不是可运行的程序或批处理文件。...
解决方法: 1.打开python shell查看你的python安装路径(黄色标注) >>> import sys >>> sys.path ['', 'C:\\U ...
- java 安装后找不到文件_(已解决)jdk安装 系统找不到文件C:\ProgramData\Oracle\Java\javapath\java.exe...
jdk安装好之后,也配置好了环境变量,打开cmd输入javac可以跳出相关信息,可是输入java却一直提示:系统找不到文件C:\ProgramData\Oracle\Java\javapath\jav ...
- python编码问题无法复现_彻底解决Python编码问题
1. 基本概念 字符集(Character set) 解释:文字和符合的总称 常见字符集: Unicode字符集 ASCII字符集(Unicode子集) GB2312字符集 编码方法(Encoding ...
- python编码用什么软件_彻底解决Python编码问题
1. 基本概念 字符集(Character set) 解释:文字和符合的总称 常见字符集: Unicode字符集 ASCII字符集(Unicode子集) GB2312字符集 编码方法(Encoding ...
- 已解决Python调用免费申请的百度图形识别接口案例
已解决Python调用免费申请的百度图形识别接口{'error_code': 18, 'error_msg': 'Open api qps request limit reached'} 文章目录 报 ...
- 已解决Python向数据库插入数据的字符串中含有单引号或双引号报错
已解决Python向数据库插入数据的字符串中含有单引号或双引号报错:(102, b"Incorrect syntax near 'S'.DB-Lib error message 20018, ...
最新文章
- python django web典型模块开发实战下载_Django实战 Python Web典型模块与项目开发
- UTF-8和BOM的一些说明
- 如何先执行input (checkbox,radio)再执行函数
- 嵌入式指针embedded pointer的概念以及用法
- win10下openpose1.5安装
- java动态录音_java实现动态录音,声卡有声音进来就自动录音
- 利用支付宝和浙江图书馆网站免费获取知网文献(亲测可用)
- 注册界面模板HTML+CSS
- 向量的内积(点积)、叉积(向量积)
- AR law : Privacy
- 深信服python开发工程师面试经验,深信服软件工程师面试经验
- html书写表单laber,laber(labelhood是什么意思)
- 《机器学习基石》学习笔记 1 The Learning Problem
- 马尔科夫毯(Markov Blanket)
- 《Microduino实战》——2.7 总结
- 超级计算机预测2月有雪寒潮,科学网—被证实的预测:寒潮影响马上结束,倒春寒要退场了! - 杨学祥的博文...
- IDEA上的项目文件不慎删除了该怎么办
- python 工厂设计模式
- SQLyog-12.5.0 64位 中文 破解版
- 【英语】罗塞塔第一遍学习总结
热门文章
- 拟真机器人拯救者奖励_冒险岛新版本拟真机器人什么样 新版本攻略
- python as_Python with as的用法
- linux 6.5 gcc包,centos6.5离线安装gcc gcc++ rpm
- jQuery获取HTML标签自定义属性值或data值
- xss劫持 HTML 表单,XSS 之 form表单劫持(通用明文记录)
- html5哪个输入字段必填,HTML5:如何使用“required”属性和“radio”输入字段
- php 扩展 mysql_PHP链接MySQL的常用扩展函数
- js判断wifi_使用JS在浏览器中判断当前网络连接状态的几种方法
- bat/cmd 抛出错误码和捕获错误
- geth bootnodes