logging.go

 1package logging
 2
 3import (
 4	"log"
 5	"smoothie/server/middleware"
 6
 7	"github.com/gliderlabs/ssh"
 8)
 9
10func Middleware() middleware.Middleware {
11	return func(sh ssh.Handler) ssh.Handler {
12		return func(s ssh.Session) {
13			hpk := s.PublicKey() != nil
14			log.Printf("%s connect %v %v\n", s.RemoteAddr().String(), hpk, s.Command())
15			sh(s)
16			log.Printf("%s disconnect %v %v\n", s.RemoteAddr().String(), hpk, s.Command())
17		}
18	}
19}