Python3日志记录:只向屏幕发送错误,不发送信息
我错过了什么 我有一个有很多文件和模块的项目。我希望每个模块和一些类都有自己的日志文件。在大多数情况下,我只需要记录信息和错误,但偶尔我需要调试 但是,我只希望将错误发送到屏幕(Spyder上的iPython通过Anaconda)。这是一种高速代码,每毫秒会有几次网络更新,打印所有信息消息不仅非常烦人,而且会使Spyder崩溃 简而言之,我只希望将错误发送到屏幕。其他所有内容都会归档。下面是我为每个类创建单独日志文件的代码。它在应该记录项目的每个类的Python3日志记录:只向屏幕发送错误,不发送信息,python,logging,Python,Logging,我错过了什么 我有一个有很多文件和模块的项目。我希望每个模块和一些类都有自己的日志文件。在大多数情况下,我只需要记录信息和错误,但偶尔我需要调试 但是,我只希望将错误发送到屏幕(Spyder上的iPython通过Anaconda)。这是一种高速代码,每毫秒会有几次网络更新,打印所有信息消息不仅非常烦人,而且会使Spyder崩溃 简而言之,我只希望将错误发送到屏幕。其他所有内容都会归档。下面是我为每个类创建单独日志文件的代码。它在应该记录项目的每个类的\uuuuu init\uuuu方法中调用。n
\uuuuu init\uuuu
方法中调用。name
参数通常是\uuuuuu class\uuuu.\uuuuuu name\uuuuu
。fname
参数也已设置。通常,lvl
和formatter
参数保留默认值。正在创建这些文件,它们看起来或多或少都是正确的
我的搜索没有找到有用的项目,当我阅读日志烹饪书时,我遗漏了一些东西
代码:
你不可能有
logging.basicConfig(level=logging.ERROR,
filemode='w')
同时,我也很高兴。将其注释掉或删除,然后使用
if __name__ == '__main__':
setup_logger('spam', "/tmp/spaaam")
logging.getLogger('spam').info('eggs')
logging.getLogger('spam').error('eggs')
logging.getLogger('spam').info('eggs')
控制台上只有错误级别的消息,文件中也只有错误级别的消息。您不能有错误级别的消息
logging.basicConfig(level=logging.ERROR,
filemode='w')
同时,我也很高兴。将其注释掉或删除,然后使用
if __name__ == '__main__':
setup_logger('spam', "/tmp/spaaam")
logging.getLogger('spam').info('eggs')
logging.getLogger('spam').error('eggs')
logging.getLogger('spam').info('eggs')
控制台上只有错误级别的消息,文件中也只有错误级别的消息。确切的错误是什么?如果我复制您的代码并添加
If uuuuuu name_uuuuuuuuu=='uuuuuuu main_uuuuuuuuuuuu':设置记录器('spam');logging.getLogger('spam').info('eggs')
,我在终端中看到信息消息。也许还可以添加一个使用示例。没有错误,我只是在控制台中获取信息消息,我不希望它们出现在那里。我只想在控制台中看到错误消息。确切的错误是什么?如果我复制您的代码并添加If uuuuuu name_uuuuuuuuu=='uuuuuuu main_uuuuuuuuuuuu':设置记录器('spam');logging.getLogger('spam').info('eggs')
,我在终端中看到信息消息。也许还可以添加一个使用示例。没有错误,我只是在控制台中获取信息消息,我不希望它们出现在那里。我只想在控制台中看到错误消息。