问题标签 [django-logging]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
29 浏览

django - 如何在 Django 中创建轮换日志?

我想创建一个将以下列方式工作的记录器:

我想将日志文件大小限制为 - X mb,当文件已满时,我希望它继续将新日志放在文件末尾,但从文件开头删除旧日志。这有可能实现吗?

我尝试使用RotatingFileHandler但它似乎不起作用,因为文件超过了最大大小。

这是我在我的 settigns 文件中配置 LOGGING 字典中的处理程序部分的方式:

0 投票
1 回答
535 浏览

python - 带有 django 的 apache2 - 无法写入日志文件

我在 apache2 服务器上运行 django。

我的settings.py样子是这样的:

}

我的想法基本上是创建一个日志,我的 django 应用程序的所有组件都将写入该日志,级别为 INFO。

我面临的问题是,在运行服务器时,日志是使用root权限创建的:

因此,当我尝试登录它时会发生什么:

/var/log/apache2/error.log

我确实发现了这些问题:Permission Denied when writing log fileDjango: Setup an effective logging system for a website in production

如果我将文件的权限更改为由www-data 而不是root拥有,它就可以工作。

我的问题是 - 在生产中设置它的正确位置在哪里?应该手动更改吗?也许在某处settings.pyapache2-config

我正在寻找 django 日志记录的最佳实践。

编辑: ps aux | grep apache2显示:

ps辅助| grep wsgi显示:

谢谢!

0 投票
3 回答
655 浏览

django-logging - Django 日志记录:django.db.backends 返回“(0.000) None; args=None”消息

我正在尝试使用 Django Logging 记录我的数据库查询,但日志消息似乎是无效的。我正在使用带有 MySQL 数据库的 Django 2.1、Python 3.6。

我的settings.py

结果日志:

我怎样才能有 SQL 查询?

0 投票
1 回答
44 浏览

python - 我的 Django 日志记录配置有什么问题?日志文件中看不到任何日志

上面的配置有什么问题,为什么我看不到我的日志?有什么想法吗?

0 投票
0 回答
332 浏览

django - 如何查看使用 nohup 命令运行的 django 服务器的控制台?

我来自java背景,所以请耐心等待我的问题,对于通常在tomcat上运行的应用程序,有一个名为的文件catalina.out,其中包含写入Tomcats System.in和System.out的所有信息。有一个 django 项目在生产服务器上运行,我需要查看日志,到目前为止还没有配置记录器,所以我不知道在哪里寻找服务器控制台。有人可以帮我弄这个吗?

0 投票
2 回答
608 浏览

django - Django logger.error 不会将日志记录条目保存到 debug.log 文件中

我遵循 django 文档并尝试使用 logger.error 将错误保存到 debug.log 文件中。

句子“搜索词无效”确实会在控制台中打印出来,但不会保存到 debug.log 文件中。

我不太确定 Django 日志是如何工作的。它应该表现得像那样还是我的代码有问题?另外,如何将“搜索词无效”保存到 debug.log 文件中?非常感谢!

0 投票
0 回答
311 浏览

python - 关于为什么建议的 Sentry LOGGING 设置有效的问题

Sentry 文档中,建议进行以下设置LOGGING

所有三个记录器都console为其处理程序选择 。为什么 Sentry 会处理任何日志?这是因为所有三个记录器都继承自root记录器,所以设置console为处理程序会将控制台添加到现有的哨兵记录器?或者是其他东西?

然后,处理程序上的注释sentry指出“要捕获的不仅仅是 ERROR,请更改为 WARNING、INFO 等”。为什么要更改它来INFO处理INFO级别错误?记录器root已设置WARNING为最低级别,那么任何处理程序如何向处理程序发送INFO级别错误sentry

例如,如果我在一个类似的文件accounts/models.py中,我调用

这应该创建一个名为 的记录器accounts.models,它应该从记录器继承root文档说:

当向记录器提供消息时,将消息的日志级别与记录器的日志级别进行比较。如果消息的日志级别达到或超过记录器本身的日志级别,则消息将进行进一步处理。如果没有,该消息将被忽略。

如果从忽略低于以下级别的所有内容的记录器继承,为什么LOGGER.info('test')在这种情况下会向 Sentry 发送任何内容?LOGGERrootWARNING

0 投票
2 回答
272 浏览

python - 当 DEBUG=False 时不会触发自定义记录器

我有以下代码settings.py

该类KodularExceptionHandler如下所示:


当我DEBUG = True在设置中设置时,一切正常:控制台处理错误(并打印“到达”),创建 Github 问题并发送 Slack 通知。

 

但是,如果我设置DEBUG = False,事情就会出错。正如预期的那样,控制台输出的信息更少;但是既没有创建 Github 问题,也没有发送 Slack 通知。

我认为记录器处理程序的某个地方存在问题。看起来KodularExceptionHandler没有被触发,因为控制台没有打印“到达”,而启用调试时它会打印。

知道当调试设置为 false 时导致自定义错误报告类未触发的原因是什么?

0 投票
1 回答
1092 浏览

python - Filter Different log level messages to different log files

So, I am trying to create a logging system for my Django Project where I need to save all the different log level messages to different files.

TLDR,

I managed to get the Logs for particular level to appear in their respective files, but

  • Debug.log contains all the log level messages

  • Info.log contains all log level messages leaving debug

  • warning.log contains WARN, ERROR & CRITICAL log level messages

  • error.log contains ERROR & CRITICAL log level messages

  • critical.log contains just CRITICAL log level messages

So, I followed the official https://docs.djangoproject.com/en/2.2/topics/logging/

Got a clearer picture from this Django rest framework logging different levels on different files

Then wrote the following code.

So, now the result that i am getting is as follows,

debug.log

INFO 2019-05-02 05:36:22,888 autoreload 1683 4558792128 Watching for file changes with StatReloader ERROR 2019-05-02 05:36:26,604 getQuestions 1683 123145336807424 error! DEBUG 2019-05-02 05:36:26,604 getQuestions 1683 123145336807424 debug INFO 2019-05-02 05:36:26,604 getQuestions 1683 123145336807424 info WARNING 2019-05-02 05:36:26,605 getQuestions 1683 123145336807424 warning CRITICAL 2019-05-02 05:36:26,605 getQuestions 1683 123145336807424 critical

info.log

INFO 2019-05-02 05:36:22,888 autoreload 1683 4558792128 Watching for file changes with StatReloader ERROR 2019-05-02 05:36:26,604 getQuestions 1683 123145336807424 error! INFO 2019-05-02 05:36:26,604 getQuestions 1683 123145336807424 info WARNING 2019-05-02 05:36:26,605 getQuestions 1683 123145336807424 warning CRITICAL 2019-05-02 05:36:26,605 getQuestions 1683 123145336807424 critical

warn.log

ERROR 2019-05-02 05:36:26,604 getQuestions 1683 123145336807424 error! WARNING 2019-05-02 05:36:26,605 getQuestions 1683 123145336807424 warning CRITICAL 2019-05-02 05:36:26,605 getQuestions 1683 123145336807424 critical

error.log

ERROR 2019-05-02 05:36:26,604 getQuestions 1683 123145336807424 error! CRITICAL 2019-05-02 05:36:26,605 getQuestions 1683 123145336807424 critical

critical.log

CRITICAL 2019-05-02 05:36:26,605 getQuestions 1683 123145336807424 critical

0 投票
1 回答
6934 浏览

django - 有什么方法可以将当前日志记录修改为 json 格式,并添加了一些其他字段 python 日志记录

我有许多用 python django 编写的应用程序代码,每个应用程序都使用标准的 python 记录器模块,并且只记录了一个简单的消息字符串。

现在有什么方法可以添加我自己的客户中间件或 django 应用程序,当在他们的方法中调用日志记录时,它应该到达我的函数,我将为日志添加更多价值,制作正确的 json 格式,然后写入日志文件。因此,在当前的应用程序开发人员中,除了需要添加我的 django 应用程序或中间件外,不需要做很多更改