相关疑难解决方法(0)

Python日志记录 - 禁用导入模块的日志记录

我正在使用Python日志记录模块,并且想要禁用由我导入的第三方模块打印的日志消息.例如,我正在使用以下内容:

logger = logging.getLogger()
logger.setLevel(level=logging.DEBUG)
fh = logging.StreamHandler()
fh_formatter = logging.Formatter('%(asctime)s %(levelname)s %(lineno)d:%(filename)s(%(process)d) - %(message)s')
fh.setFormatter(fh_formatter)
logger.addHandler(fh)
Run Code Online (Sandbox Code Playgroud)

这会在我执行logger.debug("我的消息!")时打印出我的调试消息,但它也会打印出我导入的任何模块的调试消息(例如请求和许多其他事情).

我想只看到我感兴趣的模块的日志消息.是否可以使日志模块执行此操作?

理想情况下,我希望能够告诉记录器从"ModuleX,ModuleY"打印消息并忽略所有其他消息.

我查看了以下内容,但我不想在每次调用导入函数之前禁用/启用日志记录: logging - 如何忽略导入的模块日志?

python logging

61
推荐指数
8
解决办法
3万
查看次数

如何打印python日志记录模块使用的当前日志记录配置?

我正在使用python日志记录模块.

我使用logging.dictConfig()更新日志配置.

我想要一种方法来读取每个记录器使用的当前配置(例如级别)并打印它.

如何获取并打印此信息?

python logging

35
推荐指数
2
解决办法
5237
查看次数

Python:如何将所有记录器的日志记录级别设置为 INFO

我正在使用以下配置

import logging


FORMAT = '%(levelname)s: %(asctime)-15s: %(filename)s: %(funcName)s: %(module)s: %(message)s'
logging.basicConfig(filename="/var/log/out.log", level=logging.INFO, format=FORMAT)
LOGGER = logging.getLogger("Customer")
Run Code Online (Sandbox Code Playgroud)

然后是我导入的一些库。这些库具有调试日志记录语句,例如

 LOGGER = logging.getLogger(__name__)
 LOGGER.debug('add_timeout: added timeout %s; deadline=%s at %s',
                     timeout_id, deadline, timeout_at)
Run Code Online (Sandbox Code Playgroud)

当我运行我的程序时,它也会打印内部库的调试日志。我想完全避免调试日志。

python logging

13
推荐指数
1
解决办法
6221
查看次数

如何禁用 Uvicorn 的日志记录?

我正在开发 FastAPI - Uvicorn。我想禁用 uvicorn 的日志记录。我只需要服务器记录的日志。

日志档案

我参考了这个博客并实现了日志记录。

python logging alembic fastapi uvicorn

13
推荐指数
2
解决办法
2万
查看次数

标签 统计

logging ×4

python ×4

alembic ×1

fastapi ×1

uvicorn ×1