Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django日志消息未保存在相应的文件中!_Django_Logging - Fatal编程技术网

Django日志消息未保存在相应的文件中!

Django日志消息未保存在相应的文件中!,django,logging,Django,Logging,我是django的新手…我正在学习django日志概念…我的问题是日志消息不会保存在我在下面代码中使用的文件中 (在my settings.py中) } (在我的观点中,py) 不知道为什么日志消息没有保存在该文件中..请任何人给我解决方案,即使它很简单..这里有什么问题 提前感谢.. 我有几个问题 你在/home/linuxuser/mani/f/logs/msg.log中看到什么了吗 或者只是不是你想要的日志信息?如果你什么都没看到 你有权限写入那个文件吗 在您的案例2中,您不应该在se

我是django的新手…我正在学习django日志概念…我的问题是日志消息不会保存在我在下面代码中使用的文件中

(在my settings.py中)

}

(在我的观点中,py)

不知道为什么日志消息没有保存在该文件中..请任何人给我解决方案,即使它很简单..这里有什么问题

提前感谢..
我有几个问题

  • 你在/home/linuxuser/mani/f/logs/msg.log中看到什么了吗
  • 或者只是不是你想要的日志信息?如果你什么都没看到
  • 你有权限写入那个文件吗
在您的案例2中,您不应该在settings.py文件中需要它

import logging    
import logging.handlers    
from django.conf import settings    
logging.basicConfig()
您应该只需要日志元组。有关配置的更多信息,请参阅django文档


试试这个日志设置,看看是否有帮助

请注意,disable_existing_loggers为True,我在loggers中添加了一个默认值“”

LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        'standard': {
            'format': '%(asctime)s %(levelname)s %(name)s %(message)s'
        },
    },
    'handlers': {
        'default': {
            'level':'DEBUG',
            'class':'logging.handlers.RotatingFileHandler',
            'filename': '/home/linuxuser/mani/f/logs/msg.log',
            'maxBytes': 1024*1024*5, # 5 MB
            'backupCount': 5,
            'formatter':'standard',
        },  
        'request_handler': {
                'level':'DEBUG',
                'class':'logging.handlers.RotatingFileHandler',
                'filename': 'logs/django_request.log',
                'maxBytes': 1024*1024*5, # 5 MB
                'backupCount': 5,
                'formatter':'standard',
        },
    },
    'loggers': {

        '': {
            'handlers': ['default'],
            'level': 'DEBUG',
            'propagate': True
        },
        'django.request': { # Stop SQL debug from logging to main logger
            'handlers': ['request_handler'],
            'level': 'DEBUG',
            'propagate': False
        },
    }
}

@肯:我只是想在那个文件中看到日志信息。我在/home/linuxuser/mani/f/logs/msg.log中没有看到我的案例2的任何内容,但我可以看到我案例1的日志信息。是的,我有权限写入那个文件。案例1的效果很好。我只是在浏览了你上面给出的链接之后才尝试这段代码。我会通过doc再次感谢您的回复。@mani签出此链接也可能会有所帮助@曼尼:这很奇怪,你还没有看到任何日志记录吗?您能用新的settings.py日志设置更新问题吗?你在用django 1.3,对吗?@Ken:是的,我在用django 1.3!!!请查找上面编辑过的问题。我仍在尝试将日志消息保存到该文件中。@Ken:非常感谢Ken先生。.现在开始工作。.非常感谢您的友好回复。.但还有一个疑问。.它保存了我的日志消息(我在编码中使用过)以及一些默认消息到该文件名中..例如:DEBUG django.db.backends一些sql查询..为什么它会自动将诸如DEBUG django.db.backends之类的消息保存到该文件中???它是django日志的内置函数吗???它内置在django中,您可以通过为django.db添加另一个记录器并将其设置为info来更改这些设置,或者仅为django添加一个记录器以将其设置为info,而不会记录这些设置。谢谢!似乎将“”添加到记录器阵列解决了我的问题。为我节省了不少时间。
import logging    
import logging.handlers    
from django.conf import settings    
logging.basicConfig()
LOGGING = {
    'version': 1,
    'disable_existing_loggers': True,
    'formatters': {
        'standard': {
            'format': '%(asctime)s %(levelname)s %(name)s %(message)s'
        },
    },
    'handlers': {
        'default': {
            'level':'DEBUG',
            'class':'logging.handlers.RotatingFileHandler',
            'filename': '/home/linuxuser/mani/f/logs/msg.log',
            'maxBytes': 1024*1024*5, # 5 MB
            'backupCount': 5,
            'formatter':'standard',
        },  
        'request_handler': {
                'level':'DEBUG',
                'class':'logging.handlers.RotatingFileHandler',
                'filename': 'logs/django_request.log',
                'maxBytes': 1024*1024*5, # 5 MB
                'backupCount': 5,
                'formatter':'standard',
        },
    },
    'loggers': {

        '': {
            'handlers': ['default'],
            'level': 'DEBUG',
            'propagate': True
        },
        'django.request': { # Stop SQL debug from logging to main logger
            'handlers': ['request_handler'],
            'level': 'DEBUG',
            'propagate': False
        },
    }
}