Blame


1 499f8c59 2015-10-27 stephen.d // +build ignore
2 499f8c59 2015-10-27 stephen.d
3 8a7ec697 2015-10-26 adrien package p9pnew
4 8a7ec697 2015-10-26 adrien
5 8a7ec697 2015-10-26 adrien import (
6 8a7ec697 2015-10-26 adrien "log"
7 8a7ec697 2015-10-26 adrien "os"
8 8a7ec697 2015-10-26 adrien )
9 8a7ec697 2015-10-26 adrien
10 8a7ec697 2015-10-26 adrien type logging struct {
11 8a7ec697 2015-10-26 adrien session Session
12 8a7ec697 2015-10-26 adrien logger log.Logger
13 8a7ec697 2015-10-26 adrien }
14 8a7ec697 2015-10-26 adrien
15 8a7ec697 2015-10-26 adrien var _ Session = &logging{}
16 8a7ec697 2015-10-26 adrien
17 8a7ec697 2015-10-26 adrien func NewLogger(prefix string, session Session) Session {
18 8a7ec697 2015-10-26 adrien return &logging{
19 8a7ec697 2015-10-26 adrien session: session,
20 8a7ec697 2015-10-26 adrien logger: *log.New(os.Stdout, prefix, 0),
21 8a7ec697 2015-10-26 adrien }
22 8a7ec697 2015-10-26 adrien }
23 8a7ec697 2015-10-26 adrien
24 8a7ec697 2015-10-26 adrien func (l *logging) Auth(afid Fid, uname, aname string) (Qid, error) {
25 8a7ec697 2015-10-26 adrien qid, err := l.session.Auth(afid, uname, aname)
26 8a7ec697 2015-10-26 adrien l.logger.Printf("Auth(%v, %s, %s) -> (%v, %v)", afid, uname, aname, qid, err)
27 8a7ec697 2015-10-26 adrien return qid, err
28 8a7ec697 2015-10-26 adrien }
29 8a7ec697 2015-10-26 adrien
30 8a7ec697 2015-10-26 adrien func (l *logging) Attach(fid, afid Fid, uname, aname string) (Qid, error) {
31 8a7ec697 2015-10-26 adrien qid, err := l.session.Attach(fid, afid, uname, aname)
32 8a7ec697 2015-10-26 adrien l.logger.Printf("Attach(%v, %v, %s, %s) -> (%v, %v)", fid, afid, uname, aname, qid, err)
33 8a7ec697 2015-10-26 adrien return qid, err
34 8a7ec697 2015-10-26 adrien }
35 8a7ec697 2015-10-26 adrien
36 8a7ec697 2015-10-26 adrien func (l *logging) Clunk(fid Fid) error {
37 8a7ec697 2015-10-26 adrien return l.session.Clunk(fid)
38 8a7ec697 2015-10-26 adrien }
39 8a7ec697 2015-10-26 adrien
40 8a7ec697 2015-10-26 adrien func (l *logging) Remove(fid Fid) (err error) {
41 8a7ec697 2015-10-26 adrien defer func() {
42 8a7ec697 2015-10-26 adrien l.logger.Printf("Remove(%v) -> %v", fid, err)
43 8a7ec697 2015-10-26 adrien }()
44 8a7ec697 2015-10-26 adrien return l.session.Remove(fid)
45 8a7ec697 2015-10-26 adrien }
46 8a7ec697 2015-10-26 adrien
47 8a7ec697 2015-10-26 adrien func (l *logging) Walk(fid Fid, newfid Fid, names ...string) ([]Qid, error) {
48 8a7ec697 2015-10-26 adrien return l.session.Walk(fid, newfid, names...)
49 8a7ec697 2015-10-26 adrien }
50 8a7ec697 2015-10-26 adrien
51 8a7ec697 2015-10-26 adrien func (l *logging) Read(fid Fid, p []byte, offset int64) (n int, err error) {
52 8a7ec697 2015-10-26 adrien return l.session.Read(fid, p, offset)
53 8a7ec697 2015-10-26 adrien }
54 8a7ec697 2015-10-26 adrien
55 8a7ec697 2015-10-26 adrien func (l *logging) Write(fid Fid, p []byte, offset int64) (n int, err error) {
56 8a7ec697 2015-10-26 adrien return l.session.Write(fid, p, offset)
57 8a7ec697 2015-10-26 adrien }
58 8a7ec697 2015-10-26 adrien
59 8a7ec697 2015-10-26 adrien func (l *logging) Open(fid Fid, mode int32) (Qid, error) {
60 8a7ec697 2015-10-26 adrien return l.session.Open(fid, mode)
61 8a7ec697 2015-10-26 adrien }
62 8a7ec697 2015-10-26 adrien
63 8a7ec697 2015-10-26 adrien func (l *logging) Create(parent Fid, name string, perm uint32, mode uint32) (Qid, error) {
64 8a7ec697 2015-10-26 adrien return l.session.Create(parent, name, perm, mode)
65 8a7ec697 2015-10-26 adrien }
66 8a7ec697 2015-10-26 adrien
67 8a7ec697 2015-10-26 adrien func (l *logging) Stat(fid Fid) (Dir, error) {
68 8a7ec697 2015-10-26 adrien return l.session.Stat(fid)
69 8a7ec697 2015-10-26 adrien }
70 8a7ec697 2015-10-26 adrien
71 8a7ec697 2015-10-26 adrien func (l *logging) WStat(fid Fid, dir Dir) error {
72 8a7ec697 2015-10-26 adrien return l.session.WStat(fid, dir)
73 8a7ec697 2015-10-26 adrien }
74 8a7ec697 2015-10-26 adrien
75 8a7ec697 2015-10-26 adrien func (l *logging) Version(msize int32, version string) (int32, string, error) {
76 8a7ec697 2015-10-26 adrien return l.session.Version(msize, version)
77 8a7ec697 2015-10-26 adrien }