簡體   English   中英

當控制台日志不存在時,為什么我的Python Django日志記錄文件為空?

[英]Why is my Python Django logging file empty when my console log is not?

我正在嘗試將Django日志設置為文件。 基於https://stackoverflow.com/a/19257221/214742,我想到了以下配置:

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'simple': {
            'format': '%(levelname)s %(message)s'
        },
    },
    'handlers': {
        'console':{
            'level':'DEBUG',
            'class':'logging.StreamHandler',
            'formatter': 'simple'
        },
        'applogfile': {
            'level':'DEBUG',
            'class':'logging.handlers.RotatingFileHandler',
            'filename': os.path.join(PROJECT_ROOT, 'MODELINGWEB.log'),
            'maxBytes': 1024*1024*15, # 15MB
            'backupCount': 10,
            'formatter': 'simple'
        },
    },
    'loggers': {
        '': {
          'level': 'DEBUG',
          'handlers': ['console','applogfile']
        },
    },
}

現在,當我嘗試運行並加載頁面時,控制台日志如下所示:

Performing system checks...

System check identified no issues (0 silenced).
June 28, 2017 - 10:18:22
Django version 1.11, using settings 'Modeling.settings.dev'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
[28/Jun/2017 10:18:27] "GET / HTTP/1.1" 200 12564

我還得到一個文件MODELINGWEB.log但它為空。 這是為什么? 我期望它包含相同的東西...

盡管您正在設置logger的配置 ,但是您並未將信息記錄到文件中:

import logging

logger = logging.getLogger(__name__)
logger.info("blah blah blah")  # Or loggger.error(..), or whatever

我建議您仔細看一下文檔 (鏈接指向使用此logger對象的特定部分)。

我真正不知道的是,在運行開發服務器以觸發上面的代碼時如何添加信號。

如您在https://docs.djangoproject.com/zh-CN/dev/topics/logging/#using-logging中看到的那樣,配置記錄器,處理程序,過濾器和格式化程序后,需要將記錄調用放入代碼中。 使用日志記錄框架非常簡單。

因此,您在控制台中看到的不是真正的日志記錄,而是其他內容

如果要將控制台中的內容放入我的文件中,可以使用pipe和tee

[the command you want to run] | tee you_log_file.log

例如:

ifconfig | tee ifconfig.log

您將在控制台中獲得輸出以及文件ifconfig.log。

您記錄日志的代碼是什么? 您需要獲取記錄器才能登錄到指定記錄器。 我注意到您甚至沒有給記錄器起一個名字,所以我想您只使用“ logging.error,logging.debug等”

'loggers:{'':{'level':'DEBUG','handlers:['console','applogfile']},

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM