我需要调试一些遗留代码,并且只想将一些信息打印到不会干扰代码库中任何其他位置的文件中。到目前为止,我发现的最粗暴的方法是这样的:
def my_func():
f = open('/tmp/log.txt', 'a') # help with logging stuff
f.write('Here is my crude local logger.')
# some code
logger.log('Hello') # our 'Normal logger' that goes to Splunk
# so I don't think I can modify this
# safely without side-effects?
但是,我喜欢日志模块添加的所有“额外”内容,例如行号、时间、功能等。添加本地记录器来执行普通记录器可以执行的操作的最佳方法是什么?
可以使用同一个
logging
模块创建本地记录器:仍然
logger
是你的朋友。你可以根据自己的喜好自定义它;我将参考Python 的操作指南。制作自己的一个部分
Logger
是配置Formatter
。这样做的方法之一并不会带来太大的挑战:formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
就是一个例子。本身
Formatter
很简单。构造函数有三个可选参数:字符串格式、日期格式字符串和样式指示符。您应该
Formatter
在这里查找您的行号以及您想要输入的其他信息。关于创作的说明: