gpt4 book ai didi

python - 使用 Python 将多个函数写入单个日志文件

转载 作者:行者123 更新时间:2023-11-30 23:01:32 25 4
gpt4 key购买 nike

我有一个包含一些函数的 Python 文件。当“main”函数运行时,它会运行所有函数。每个函数都需要将一些文本写入同一个日志文件。

我编写了以下代码。文件处理程序在每个函数中被声明为全局的。我想知道是否有更好的方法来实现这一目标?

LOG_FILE_NAME = 'TestLog.log'
f = None

def log1():
global f
print 'log1 called'
f.write('log1 result' + '\n')

def log2():
global f
print 'log2 called'
f.write('log2 result' + '\n')

logFileDir = LOG_FILE_NAME
f = open(logFileDir, 'w')
log1()
log2()
f.close()

最佳答案

扩展 Tom Dalton 的链接 ( docs.python.org/2/howto/logging.html#logging-to-a-file ):

import logging
logging.basicConfig(filename='example.log',level=logging.DEBUG)
logging.debug('This message should go to the log file')
logging.info('So should this')
logging.warning('And this, too')

也会将其写入文件

DEBUG:root:This message should go to the log file
INFO:root:So should this
WARNING:root:And this, too

在您的示例中,您可以使用全局记录器,每个函数都可以调用它

import logging
logging.basicConfig(filename='example.log',level=logging.DEBUG)

def log1():
logging.info('log1')

def log2():
logging.info('log2')

if __name__ == '__main__':
log1()
log2()

如果您想要多个记录器,可以使用logging.getLogger() ,日志记录模块有很大的灵 active ,请查看文档(在链接中)。

关于python - 使用 Python 将多个函数写入单个日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34912671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com