Django 开发将 HttpResponses 记录到开发服务器

2024-04-11

我正在使用 Django 创建一个 API。每个视图都以 JSON 形式响应。我想将每个 HttpResponse JSON 记录到开发服务器输出。

到目前为止我已经添加了一个处理程序:

 'console': {
        'level':'DEBUG',
        'class':'logging.StreamHandler',
 }   

然后添加一个记录器:

'to_console': {
        'handlers': ['console'],
        'level': 'DEBUG',
    }   

在我看来,我得到了记录器logger = logging.getLogger('to_console')

对于每个 json 响应logger.debug(json_str)

对于第一个视图来说这很好。但我想知道当我将应用程序部署到生产环境时是否可以关闭调试。看起来像https://docs.djangoproject.com/en/dev/topics/logging/#django.utils.log.RequireDebugFalse https://docs.djangoproject.com/en/dev/topics/logging/#django.utils.log.RequireDebugFalse可以工作。但这导致我的代码中充斥着这些日志语句。我从来没有需要记录这样的东西,所以我想知道处理它的最可维护的方法是什么。

处理开发日志记录以便在代码投入生产时可以“关闭”它的正确方法是什么?或者是否有某种内置功能或应用程序我缺少自动将所有 HttpResponse 记录到开发服务器?


可以通过改变您提供的日志记录配置来关闭和打开日志记录功能。您可能认为日志记录语句“乱扔”了您的代码,但是一旦服务器在生产环境中运行,除了日志记录之外,您(通常)几乎没有什么方法可以了解内部发生的情况。

如有必要,您可以向正在运行的服务器发送带有包含新配置的 JSON 数据的 POST,然后该配置由处理 POST 请求的视图生效。但建议将日志记录语句保留在适当的位置,因为当日志记录级别达到实际不会输出任何内容时,它们的成本非常低(如您所料,写入控制台/文件/套接字等的实际 I/O 占用了大部分时间)时间,但如果级别设置得足够高,则实际输出很少或没有输出)。

当开发和测试中一切运行良好但在生产中莫名其妙地失败时,日志记录有时可能是唯一可用的诊断工具。

我认为对于您描述的场景,使用 RequireDebugFalse 是相当合理的,但是您也可以编写自己的过滤器,它更适合您的特定需求(编写过滤器很容易做到)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django 开发将 HttpResponses 记录到开发服务器 的相关文章

随机推荐

  • Python正则表达式,如何删除字符串中的所有匹配项

    我有一个正则表达式模式列表 rgx list pattern 1 pattern 2 pattern 3 我正在使用一个函数来循环列表 编译正则表达式 并应用findall获取匹配的术语 然后我想要一种从文本中删除所述术语的方法 def c
  • 从 mysql 数据库填充 Php 下拉列表[重复]

    这个问题在这里已经有答案了 我正在尝试从 mysql 数据库表填充下拉列表 这是代码 div class form group Select Make div
  • URL 缩短器:最佳编码方法?

    我正在创建一个链接缩短服务 并使用增量 ID 字段的 Base64 编码 解码来创建我的 url ID 为 6 的 url 为 http mysite com Ng http mysite com Ng 我还需要允许用户创建自定义网址名称
  • 来自模型和控制器的 cakephp 验证

    我已经在模型中进行了验证 另外 我在控制器中进行了一些验证以检查验证码 此后 应用程序不再显示模型验证错误 如果我评论控制器代码 模型验证工作正常并显示错误 两个都不行 型号代码 示例 class User extends AppModel
  • 如何直接从 Cython 调用 numpy/scipy C 函数,而不需要 Python 调用开销?

    我正在尝试在 Cython 中进行计算 该计算严重依赖于一些 numpy scipy 数学函数 例如numpy log 我注意到 如果我在 Cython 中的循环中重复调用 numpy scipy 函数 则会产生巨大的开销 例如 impor
  • 在页面上显示 # 个视图,而无需始终访问数据库

    越来越多的网站显示某些页面收到的浏览量 以及点击次数 如 dzone com 跟踪视图而不每次加载都访问数据库的最佳实践是什么 我脑子里有很多关于如何做到这一点的潜在想法 但似乎没有一个可行 谢谢 首次使用的用户 我会首先尝试数据库方法 返
  • android中如何从静态方法调用非静态方法

    我在从静态方法调用非静态方法时面临一个大问题 这是我的代码 Class SMS public static void First function SMS sms new SMS sms Second function public voi
  • Ansible sudo 在执行 5 个任务后挂起

    设置要求 本地用户 goagent1 ansible从GoCD启动 远程用户 myadmin myadmin 是一个需要密码的 sudoer 我们在剧本级别启用了 sudo Problem 该剧本似乎在执行了大约 5 个任务后停止了 发生得
  • “混合声明和代码”警告,值得解决吗?

    我最近启用了 pedanticgcc 上的选项 现在我收到大约两三页的 ISO C90 禁止混合声明和代码 警告 我这个项目的目标是能够将其部署在任何主流系统带有 C 编译器 所以我意识到假设 C99 将在所有地方都受支持是不明智的 但是是
  • Macvim 默认不会加载特定的配色方案

    我遇到了类似的问题VIM 配色方案默认不加载 https stackoverflow com questions 2637929 vim color scheme not loading by default 除了我遇到了这里找到的 gen
  • jQuery getJSON 将结果保存到变量中[重复]

    这个问题在这里已经有答案了 我使用 getJSON 从我的网站请求 JSON 它工作得很好 但我需要将输出保存到另一个变量中 如下所示 var myjson getJSON http 127 0 0 1 8080 horizon updat
  • 如何在 Eclipse 中使用 JavaFX 2 SDK?

    我已经安装了 JavaFX 2 0 SDK 现在我想使用 Eclipse 制作一个 JavaFX 应用程序 但我该如何使用javafx Eclipse 中的类 The 官方 JavaFX Eclipse 插件 http docs oracl
  • C# 7.0 独立丢弃混淆

    我想更好地理解几个涉及 C 7 0 丢弃功能的使用的示例 他们都利用所谓的单独丢弃 https learn microsoft com en us dotnet csharp discards a standalone discard 这是
  • CQRS 对于我的域是否正确?

    我正在对一个档案进行建模 它是视频点播系统的一部分 将存档想象成 Windows 资源管理器 其中多个用户可以创建文件夹 上传视频 重组文件夹等 有业务规则 权限 确定是否允许用户执行任务 即重命名文件夹 移动文件夹 查看文件夹等 我已将每
  • 如何减少 Hybris 服务器的启动时间?

    我正在研究一个Hybris项目这是非常耗时的等待 350 550 秒对于单个Hybris服务器启动 即使只是代码中的一点修改 错误输入 是否有可能reduce this time仅运行我修改过的扩展或任何其他方式 那将是一件很棒的事情 在
  • DirectX Release 构建可以通过 VS2010 运行,但不能运行 exe

    我已经通过 Google 访问 Stack Overflow 几年了 但到目前为止还没有询问 回答任何问题 所以就到这里吧 基本上 我有一个在 DirectX 11 中设置绘图模型和地形的 3D 渲染框架 一切正常 通过 Visual St
  • 当前上下文中不存在名称“isPost”(带有 Razor 的 ASP.NET)

    我正在尝试遵循有关 Razor 入门的 Microsoft 文档 https learn microsoft com en us aspnet web pages overview getting started introducing r
  • 如何使用VBA在Excel中保持第一个单元格始终处于活动状态

    如何在打开 Excel 工作表时保持第一个单元格始终处于活动状态 任何人都可以指导我如何做到这一点 这是我的 代码 Private Sub Send Click Dim strURL As String strURL http xxxxxx
  • UIFont - 如何获取系统细字体

    UIFont有方法获取常规字体 systemFontOfSize 或粗体 boldSystemFontOfSize 但是如何通过情节提要获得可用的 瘦系统字体 将 系统精简 传递给UIFont构造函数不起作用 该构造函数仅适用于非系统字体
  • Django 开发将 HttpResponses 记录到开发服务器

    我正在使用 Django 创建一个 API 每个视图都以 JSON 形式响应 我想将每个 HttpResponse JSON 记录到开发服务器输出 到目前为止我已经添加了一个处理程序 console level DEBUG class lo