新手求助:python用logging模块写日志文件无输出

bangbong 2015-04-30 09:44:04
以前一直用java,刚开始试python,操作系统是windows8,python版本是2.7.9,照着网上的帖子写了一个脚本想用一下logging模块把日志记到文件中,结果怎么改都不行,日志文件是会创建出来但是内容始终为空,实在不知道为什么了。脚本代码如下:
import logging

logging.basicConfig(filename="TestLogging.txt",filemode="w")
logger = logging.getLogger("testLogging")
fileHandler = logging.FileHandler("TestLogging.txt",encoding="gbk",mode="w")
console = logging.StreamHandler()
logger.addHandler(fileHandler)
logger.addHandler(console)
formatter = logging.Formatter("%(asctime)s %(levelname)s %(message)s")
fileHandler.setFormatter(formatter)
logger.setLevel(logging.WARNING)

print("测试")
print(type("测试"))
print("测试".decode("gbk"))
print(type("测试".decode("gbk")))

logger.info("abc123")
fileHandler.flush()
fileHandler.close()

用print打印的信息在控制台都能看见,但是用logger的日志无论控制台还是文件都没有。
我试过不用logging.getLogger来获得logger对象,直接用logging(root)
logging.basicConfig(
level=logging.INFO,
format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
filename=LOGGING_FILE,
filemode='a+'
)
logging.info("xxxx")
这样却是可以输出到文件的。

求教大牛,为什么我原先那样的做法不能正常工作?
...全文
2283 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
panghuhu250 2015-05-01
  • 打赏
  • 举报
回复 1
引用 楼主 bangbong 的回复:
logger.setLevel(logging.WARNING) logger.info("abc123")
logger的门槛高(WARNING), info级别不够, warning, error来还差不多.

37,719

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧