当前位置:  开发笔记 > 开发工具 > 正文

如何防止粘液在某些错误上启动sldb?

如何解决《如何防止粘液在某些错误上启动sldb?》经验,为你挑选了1个好方法。

从连接Slime的Clack/Hunchentoot提供大文件时,我有时会看到错误消息,如SB-IMPL :: SIMPLE-STREAM-PERROR"无法写入~s"......这些是由浏览器过早掉线造成的(这完全可以).问题是,每次发生时,SLDB都会弹出.这很烦人.

有没有办法可以抑制SLDB中的某些错误,如上所述?我仍然希望在错误日志中看到它们,但绝对不是在SLDB中.



1> Elias Mårten..:

您可以PROCESS-CONNECTION为您的接受器创建子类,并为此错误执行自己的错误处理.

让我们从定义自定义接受器开始:

(defclass no-error-acceptor (hunchentoot:acceptor)
  ())

然后我们可以创建一个包装器PROCESS-CONNECTION来禁止为此特定错误打印消息:

(defmethod hunchentoot:process-connection ((acceptor no-error-acceptor) (socket t))
  (handler-case
      (call-next-method)
    (sb-impl::simple-stream-perror (condition)
      ;; Perhaps log the error here?
      nil)))

确保使用此接受器实际启动服务器以便使用它.

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有