Django记录错误

Django记录错误,django,logging,Django,Logging,我很抱歉问这个问题 我正在尝试设置日志,以便能够测试我的代码 我也在学习这个例子 这里是他们使用的代码 LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'file': { 'level': 'DEBUG', 'class': 'logging.FileHandler', 'filename': r'C:\Users\Sk\Desktop\p

我很抱歉问这个问题

我正在尝试设置日志,以便能够测试我的代码

我也在学习这个例子

这里是他们使用的代码

LOGGING = {
'version': 1,
'disable_existing_loggers': False,
'handlers': {
    'file': {
        'level': 'DEBUG',
        'class': 'logging.FileHandler',
        'filename': r'C:\Users\Sk\Desktop\project\FrounterWeb\FrounterWeb\logs',
    },
},
'loggers': {
    'django': {
        'handlers': ['file'],
        'level': 'DEBUG',
        'propagate': True,
    },
},
}
但我遇到了这个问题,复制粘贴,我得到的答案是这个

Microsoft Windows [Version 10.0.10586]
(c) 2015 Microsoft Corporation. All rights reserved.

C:\Users\Sk\Desktop\project\FrounterWeb>py runserver_plus
(null): can't open file 'runserver_plus': [Errno 2] No such file or directory

C:\Users\Sk\Desktop\project\FrounterWeb>py manage.py  runserver_plus
Traceback (most recent call last):
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\logging\config.py", line 555, in configure
    handler = self.configure_handler(handlers[name])
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\logging\config.py", line 728, in configure_handler
    result = factory(**kwargs)
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\logging\__init__.py", line 1041, in __init__
    StreamHandler.__init__(self, self._open())
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\logging\__init__.py", line 1070, in _open
    return open(self.baseFilename, self.mode, encoding=self.encoding)
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\Sk\\Desktop\\project\\FrounterWeb\\FrounterWeb\\logs'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\site-packages\django\core\management\__init__.py", line 357, in execute
    django.setup()
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\site-packages\django\__init__.py", line 19, in setup
    configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\site-packages\django\utils\log.py", line 76, in configure_logging
    logging_config_func(logging_settings)
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\logging\config.py", line 792, in dictConfig
    dictConfigClass(config).configure()
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\logging\config.py", line 563, in configure
    '%r' % name) from e
ValueError: Unable to configure handler 'files'
这就是问题

Microsoft Windows [Version 10.0.10586]
(c) 2015 Microsoft Corporation. All rights reserved.

C:\Users\Sk\Desktop\project\FrounterWeb>py runserver_plus
(null): can't open file 'runserver_plus': [Errno 2] No such file or directory

C:\Users\Sk\Desktop\project\FrounterWeb>py manage.py  runserver_plus
Traceback (most recent call last):
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\logging\config.py", line 555, in configure
    handler = self.configure_handler(handlers[name])
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\logging\config.py", line 728, in configure_handler
    result = factory(**kwargs)
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\logging\__init__.py", line 1041, in __init__
    StreamHandler.__init__(self, self._open())
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\logging\__init__.py", line 1070, in _open
    return open(self.baseFilename, self.mode, encoding=self.encoding)
PermissionError: [Errno 13] Permission denied: 'C:\\Users\\Sk\\Desktop\\project\\FrounterWeb\\FrounterWeb\\logs'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\site-packages\django\core\management\__init__.py", line 357, in execute
    django.setup()
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\site-packages\django\__init__.py", line 19, in setup
    configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\site-packages\django\utils\log.py", line 76, in configure_logging
    logging_config_func(logging_settings)
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\logging\config.py", line 792, in dictConfig
    dictConfigClass(config).configure()
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\logging\config.py", line 563, in configure
    '%r' % name) from e
ValueError: Unable to configure handler 'files'

C:\Users\Sk\Desktop\project\FrounterWeb>py manage.py  runserver_plus
Traceback (most recent call last):
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\logging\config.py", line 555, in configure
    handler = self.configure_handler(handlers[name])
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\logging\config.py", line 688, in configure_handler
    config_copy = dict(config)  # for restoring in case of error
ValueError: dictionary update sequence element #0 has length 1; 2 is required

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "manage.py", line 15, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\site-packages\django\core\management\__init__.py", line 381, in execute_from_command_line
    utility.execute()
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\site-packages\django\core\management\__init__.py", line 357, in execute
    django.setup()
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\site-packages\django\__init__.py", line 19, in setup
    configure_logging(settings.LOGGING_CONFIG, settings.LOGGING)
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\site-packages\django\utils\log.py", line 76, in configure_logging
    logging_config_func(logging_settings)
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\logging\config.py", line 792, in dictConfig
    dictConfigClass(config).configure()
  File "C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\logging\config.py", line 563, in configure
    '%r' % name) from e
ValueError: Unable to configure handler 'class'
Microsoft Windows[版本10.0.10586]
(c) 2015年微软公司。版权所有。
C:\Users\Sk\Desktop\project\FrounterWeb>py runserver\u plus
(null):无法打开文件“runserver_plus”:[Errno 2]没有这样的文件或目录
C:\Users\Sk\Desktop\project\FrounterWeb>py manage.py runserver\u plus
回溯(最近一次呼叫最后一次):
文件“C:\Users\Sk\AppData\Local\Programs\Python\37\lib\logging\config.py”,第555行,在configure中
handler=self.configure\u处理程序(处理程序[名称])
文件“C:\Users\Sk\AppData\Local\Programs\Python\37\lib\logging\config.py”,第728行,在configure\u处理程序中
结果=工厂(**kwargs)
文件“C:\Users\Sk\AppData\Local\Programs\Python\37\lib\logging\\ uuu init\uu.py”,第1041行,在\ uu init中__
StreamHandler.\uuuu init\uuuu(self,self.\u open())
文件“C:\Users\Sk\AppData\Local\Programs\Python\37\lib\logging\\ uuu init\uuu.py”,第1070行,在\u open中
返回打开(self.baseFilename,self.mode,encoding=self.encoding)
PermissionError:[Errno 13]权限被拒绝:“C:\\Users\\Sk\\Desktop\\project\\FrounterWeb\\FrounterWeb\\logs”
上述异常是以下异常的直接原因:
回溯(最近一次呼叫最后一次):
文件“manage.py”,第15行,在
从命令行(sys.argv)执行命令
文件“C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\site packages\django\core\management\\uuuuuuu init\uuuuuu.py”,第381行,从命令行执行
utility.execute()
文件“C:\Users\Sk\AppData\Local\Programs\Python\37\lib\site packages\django\core\management\\ uu_init\u_.py”,执行中第357行
django.setup()
文件“C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\site packages\django\\uuuuuu init\uuuuuu.py”,第19行,在安装程序中
配置日志记录(settings.logging\u CONFIG,settings.logging)
文件“C:\Users\Sk\AppData\Local\Programs\Python\37\lib\site packages\django\utils\log.py”,第76行,在配置日志记录中
日志记录\配置\函数(日志记录\设置)
文件“C:\Users\Sk\AppData\Local\Programs\Python\37\lib\logging\config.py”,第792行,在dictConfig中
dictConfigClass(config).configure()
文件“C:\Users\Sk\AppData\Local\Programs\Python\37\lib\logging\config.py”,第563行,在configure中
来自e的“%r”%name)
ValueError:无法配置处理程序“文件”
C:\Users\Sk\Desktop\project\FrounterWeb>py manage.py runserver\u plus
回溯(最近一次呼叫最后一次):
文件“C:\Users\Sk\AppData\Local\Programs\Python\37\lib\logging\config.py”,第555行,在configure中
handler=self.configure\u处理程序(处理程序[名称])
文件“C:\Users\Sk\AppData\Local\Programs\Python\37\lib\logging\config.py”,第688行,在configure\u处理程序中
config_copy=dict(config)#用于在发生错误时恢复
ValueError:字典更新序列元素#0的长度为1;2是必需的
上述异常是以下异常的直接原因:
回溯(最近一次呼叫最后一次):
文件“manage.py”,第15行,在
从命令行(sys.argv)执行命令
文件“C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\site packages\django\core\management\\uuuuuuu init\uuuuuu.py”,第381行,从命令行执行
utility.execute()
文件“C:\Users\Sk\AppData\Local\Programs\Python\37\lib\site packages\django\core\management\\ uu_init\u_.py”,执行中第357行
django.setup()
文件“C:\Users\Sk\AppData\Local\Programs\Python\Python37\lib\site packages\django\\uuuuuu init\uuuuuu.py”,第19行,在安装程序中
配置日志记录(settings.logging\u CONFIG,settings.logging)
文件“C:\Users\Sk\AppData\Local\Programs\Python\37\lib\site packages\django\utils\log.py”,第76行,在配置日志记录中
日志记录\配置\函数(日志记录\设置)
文件“C:\Users\Sk\AppData\Local\Programs\Python\37\lib\logging\config.py”,第792行,在dictConfig中
dictConfigClass(config).configure()
文件“C:\Users\Sk\AppData\Local\Programs\Python\37\lib\logging\config.py”,第563行,在configure中
来自e的“%r”%name)
ValueError:无法配置处理程序“类”
这个问题意味着它可以读取自己的库


很抱歉打扰您,但请帮助我,我真的不知道该怎么办,因为Django告诉我自己的内置库有问题(我想)

您需要将
格式化程序添加到日志中:

LOGGING = {
'formatters': {
    'verbose': {
         'format': '{levelname} {message}',
         'style': '{',
    },
},
# Rest of the Logging Config
}

答案很简单,正如Burhan Khalid所说,该站点的日志路径没有将文件的路径绑定到日志

我所做的就是把它添加到我的处理程序中

'filename': 'zigview\logging_files\debug.log',
而且正在工作


我感到很尴尬,犯了这么简单的错误

您是否用实际有效的路径替换了
/path/to/django/debug.log
?如果没有,您将遇到这些问题。将其替换为路径,如
r'C:\Users\Sk\Desktop\django.log'
,或其他地方(确保该目录首先存在,并且您有权在那里创建文件)。桌面、文档和下载文件夹都是不错的选择。/path/to/django/debug.log;没有,因为我不知道要替换什么,因为我试图使用我的a文件夹,但它不起作用。后来我真的不知道该怎么办,我不知道该用哪个。在你拥有的
settings.py
文件夹中创建一个名为
logs
,然后用目录的完整路径替换
/path/to/django/debug.log
,例如
r'C:\Users\Sk\Desktop\FrounterWeb\logs\django.log'
burhan khalid,谢谢你给我指路,但它不起作用,有这个错误;SyntaxeError:(unicode错误)'UnicodeScape'编解码器无法解码位置2-3的字节:截断\UXXXXXXXX转义我为这个问题道歉Burhan khalid;我找到了syntaxerror的答案,我没有在路径前面添加“r”。我觉得很傻很抱歉我真的不明白也许你可以
'filename': 'zigview\logging_files\debug.log',