我正在尝试使用Python的logging
库。不想在控制台打印消息,而是想将它们写入文件。根据文档,我有点不确定如何做。首先,我导入了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
文件中写入“None”。 必须有一种简单的方法来实现这一点; 我做错了什么吗?
fileName=logFileName
,不要自己处理文件。logger.debug("Test")
将写入日志文件,除此之外无需进行任何操作。顺便提一下,logger.{debug,info,warning,error}
方法不返回任何值,这就是为什么在文件中看到None
的原因。 - hoefling