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 pty, _, _ := s.Pty()
15 log.Printf("%s connect %v %v %s %v %v\n", s.RemoteAddr().String(), hpk, s.Command(), pty.Term, pty.Window.Width, pty.Window.Height)
16 sh(s)
17 log.Printf("%s disconnect\n", s.RemoteAddr().String())
18 }
19 }
20}