我正在使用带有快速会话和会话文件存储包的节点。会话数据使用session-file-store包作为文件存储在根目录中。但是,现在我的日志被阻塞了,因为短消息中访问的每个会话cookie消息[session-file-store] will retry, error on last attempt: Error: ENOENT, open 'sessions/_jl2ijMBQHIvv8M1mYTcnFZGqwGo0t-v.json'
出现了5次。可能导致此错误的原因是什么?它发生在我的Windows开发机器和我的ubuntu服务器上。它显然无法访问该文件,但会话仍然有效。
以下是我收到的错误之一:
[session-file-store] will retry, error on last attempt: Error: ENOENT, open 'sessions/tRI6WeZEO2Uyvr4ZaUGW6_CU32RjvFpW.json'
[session-file-store] will retry, error on last attempt: Error: ENOENT, open 'sessions/tRI6WeZEO2Uyvr4ZaUGW6_CU32RjvFpW.json'
[session-file-store] will retry, error on last attempt: Error: ENOENT, open 'sessions/tRI6WeZEO2Uyvr4ZaUGW6_CU32RjvFpW.json'
[session-file-store] will retry, error on last attempt: Error: ENOENT, open 'sessions/tRI6WeZEO2Uyvr4ZaUGW6_CU32RjvFpW.json'
[session-file-store] will retry, error on last attempt: Error: ENOENT, open 'sessions/tRI6WeZEO2Uyvr4ZaUGW6_CU32RjvFpW.json'
答案 0 :(得分:9)
所以当我第一次尝试使用我的第一个NodeJS / Express示例项目时,我确实遇到了相同的消息。
我设法确定至少在我的示例项目中,Session已声明为Destroyed但Cookie从未清除,因此加载的下一页使用旧cookie尝试访问已过期的会话(已删除),从而导致消息记录。
这对你来说可能不是同一个问题,但认为值得分享......懒惰的替代方法是用空函数替换logFn选项:
new filestore({logFn: function(){}})
答案 1 :(得分:0)
我能够通过chmod +x sessions
答案 2 :(得分:0)
在我看来这并不是主要问题,因为会话文件存储是 express-session 的一部分,而当 express-session < / strong>找不到会话文件,他只是创建新文件。
然后您可以按照前面的建议隐藏错误日志
new filestore({logFn: function(){}})