Node.js NodeJS:“;“依诺特”;带有会话的警告消息

Node.js NodeJS:“;“依诺特”;带有会话的警告消息,node.js,session,express,express-session,Node.js,Session,Express,Express Session,我将节点与express会话和会话文件存储包一起使用。会话数据使用会话文件存储包作为文件存储在根目录中。但是,现在我的日志被阻塞,因为消息[session file store]将重试,上次尝试时出错:error:enoint,打开“sessions/_jl2ijmbqhivvv8m1mytcnfzgqwgo0t-v.json”在短时间内访问的每个会话cookie中出现5次。是什么导致了这个错误?它发生在我的windows开发机器和ubuntu服务器上。它显然无法访问该文件,但会话仍然有效 以下

我将节点与express会话和会话文件存储包一起使用。会话数据使用会话文件存储包作为文件存储在根目录中。但是,现在我的日志被阻塞,因为消息
[session file store]将重试,上次尝试时出错:error:enoint,打开“sessions/_jl2ijmbqhivvv8m1mytcnfzgqwgo0t-v.json”
在短时间内访问的每个会话cookie中出现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'

因此,当我尝试我的第一个NodeJS/Express示例项目时,我确实遇到了相同的消息

我设法确定,至少在我的示例项目中,会话被声明为已销毁,但Cookie从未清除,因此加载的下一个页面使用旧Cookie尝试访问过期的会话(已删除),导致消息被记录

这对你来说可能不是同一个问题,但我觉得值得分享。。。惰性替代方案是用空函数替换logFn选项:

new filestore({logFn: function(){}})

我通过
chmod+x sessions

解决了同样的问题,但这并不是我的主要问题,因为session file storeexpress session的一部分,当express session找不到session file时,他只创建新文件

然后,您可以按照前面的建议隐藏错误日志

new filestore({logFn: function(){}})

另一个解决方案:使用选项会话文件存储选项重试:0:它将放弃未知会话而不重试。在大多数用例(本地文件系统)中,重试是无用的。