【发布时间】:2020-01-02 21:47:26
【问题描述】:
我正在尝试使用 Python logging 库。我不想在控制台中打印消息,而是将它们写入文件。基于 documentation ,我有点不确定如何做到这一点。首先我导入了logging,然后我创建了我的日志对象。注意:执行此操作时,我有点不确定name 参数。这是否假设是具有完整文件路径的文件名?我随便编的名字?
foldname = "chk_logs"
logFileName = os.path.join(path.abspath(path.curdir),foldname + "\\Fields_Log_" + timeStamp + ".txt") #logging
if os.path.isdir(foldname)==False:
os.mkdir(foldname)
logFile = open(logFileName, "w")
format="%(asctime)s [%(levelname)s] %(message)s"
logging.basicConfig(fileName=logFile, format=format, level=10)
logger = logging.getLogger('name')
所以,假设我想从我的logger 给logFile 写一条消息。
logger.debug("Test")
这基本上没有任何作用,即使在我使用logFile.close() 之后也是如此。如果我试试这个:
logFile.write(str(logger.debug("Test")))
它基本上在.txt 文件中写入“无”。必须有一个简单的方法来做到这一点;我做错了什么?
【问题讨论】:
-
使用
fileName=logFileName,不要自己处理文件。logger.debug("Test")将写入日志文件,除此之外无需执行任何操作。顺便说一句,logger.{debug,info,warning,error}方法不会返回,这就是您在文件中看到None的原因。
标签: python python-2.7 logging file-handling file-writing