新手求助:python用logging模块写日志文件无输出
以前一直用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")
这样却是可以输出到文件的。
求教大牛,为什么我原先那样的做法不能正常工作?