我在python中使用日志记录库。我正在使用几个 logger 对象来输出信息。我到了输出太多的地步,我需要将它发送到日志文件而不是控制台。 我找不到配置记录器对象的输出流的函数,而 basicConf 函数似乎没有这个技巧。 这就是我所拥有的:
import logging # Debug logging framework
logging.basicConfig(filename='loggggggmeee.txt')
logger = logging.getLogger('simulation')
logger.setLevel(logging.INFO)
#--------------- etc-------------------#
logger.info('This is sent to the console')
有什么想法吗?谢谢!
答案 0 :(得分:2)
尝试添加此处的文件位置,它将解决您的问题:
import logging # Debug logging framework
logging.basicConfig(filename='c:\\loggggggmeee.txt')
logger = logging.getLogger('simulation')
logger.setLevel(logging.INFO)
#--------------- etc-------------------#
logger.info('This is sent to the console')
顺便说一下,没有特定位置的文件将在模块库中...
我真的建议你阅读Logging HOWTO它非常简单实用。
Cookbook还有很多有用的例子。
关于从文档中命名记录器的另一个好建议:
命名记录器时使用的一个好习惯是使用模块级 logger,在每个使用日志记录的模块中,命名如下:
logger = logging.getLogger(__name__)
这意味着记录器名称 跟踪包/模块层次结构,直观明显的地方 事件只记录在记录器名称中。