Django在使用logging日志模块时报错无法操作文件PermissionError: [WinError 32]

alex python语言评论3阅读模式

--- Logging error ---

Traceback (most recent call last):

File "C:\Program Files\Python37\lib\logging\handlers.py", line 69, in emit

self.doRollover()

File "C:\Program Files\Python37\lib\logging\handlers.py", line 170, in doRollover

self.rotate(self.baseFilename, dfn)

File "C:\Program Files\Python37\lib\logging\handlers.py", line 110, in rotate

os.rename(source, dest)

PermissionError: [WinError 32] The process cannot access the file because it is being used by another process: 'D:\\ALEX\\python\\operationalsystem\\log\\console.log' -> 'D:\\ALEX\\python\\operationalsystem\\log\\console.log.1'

Django在使用logging日志模块时报错无法操作文件PermissionError: [WinError 32]-图片1

 
 

问题原因

这个问题只会在开发的时候遇到,而且配置是写入到setting.py配置文件,我们定义了日志文件大小,当日志满了的时候,这时候就会遇到这个问题, 因为在使用Pycharm运行django的时候我们启用两个进程都会去初始化setting.py配置,一个是我们正常访问的,一个是监控代码变化的(你会发现你每次修改一些代码,django会自己重新构建,就是这个进程完成的),由于都占有着文件的句柄,所有在归档的时候失败了,

 
 

解决办法,在启用django项目时加上--noreload参数即可,在菜单栏选择Run->edit configuration

在 Additional options添加即可解决,重新运行django项目就没有报错信息了

Django在使用logging日志模块时报错无法操作文件PermissionError: [WinError 32]-图片2

 
 

文章末尾固定信息

 
alex
  • 本文由 alex 发表于 2019年2月24日 21:31:45
  • 转载请务必保留本文链接:https://www.qnjslm.com/ITHelp/993.html
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定