mew で ssl(stunnel) を使う場合の log level

デフォルトでは log level が debug(7番) なので, ログが五月蝿い, 気がする. この辺り, カスタマイズできたら良いのにな, とか呟いていたのですが.

単純には stunnel を呼び出す際に, loglevel を指定してやれば良いだけ. 該当箇所は mew-ssl.el の 91 行目の "-D" もしくは 103 行目の "debug=debug\n" の所.

(defun mew-ssl-options (case server remoteport localport tls)
  (setq server (mew-ssl-server server))
  (if (= mew-ssl-ver 3)
      (let (args)
	(setq args
	      `("-c" "-f"
		"-a" ,(expand-file-name (mew-ssl-cert-directory case))
		"-d" ,(format "%s:%d" mew-ssl-localhost localport)
		"-v" ,(number-to-string (mew-ssl-verify-level case))
		"-D" "debug"
		"-P" "none"
		"-r" ,(format "%s:%d" server remoteport)
		,@mew-prog-ssl-arg))
	(if tls (setq args (cons "-n" (cons tls args))))
	args)
    (let ((file (mew-make-temp-name)))
      (with-temp-buffer
	(insert "client=yes\n")
	(insert "pid=\n")
	(insert (format "verify=%d\n" (mew-ssl-verify-level case)))
	(insert "foreground=yes\n")
	(insert "debug=debug\n")
	(insert "CApath=" (expand-file-name (mew-ssl-cert-directory case)) "\n")
	(insert (format "[%d]\n" localport))
	(insert (format "accept=%s:%d\n" mew-ssl-localhost localport))
	(insert (format "connect=%s:%d\n" server remoteport))
	(if tls (insert (format "protocol=%s\nsslVersion=TLSv1\n" tls)))
	(mew-frwlet mew-cs-dummy mew-cs-text-for-write
	  ;; NEVER use call-process-region for privacy reasons
	  (write-region (point-min) (point-max) file nil 'no-msg))
	(list file)))))

とりあえず, debug=3\n にしたら, 確かに静かになった.

でもこれは .mew.el あたりで設定できないとイケナイ気がするので, とりえあえず ssl-loglevel なる変数を作成して, loglevel の切り替えができるようにしてみたりして.

...うーん.