diff options
author | Christian Pointner <equinox@helsinki.at> | 2016-07-23 23:45:59 (GMT) |
---|---|---|
committer | Christian Pointner <equinox@helsinki.at> | 2016-07-24 01:02:55 (GMT) |
commit | fcfe5720506f4015e4e65c62f7a9d22c4ee44913 (patch) | |
tree | 7efc06f219b858d7061a5355c0e1d3ae758ca969 /rhimport/session_store.go | |
parent | 6df513e9c221fdc16abc53075e3c6bc84804f014 (diff) |
no seperate log for lib anymore - use logger from host application instead
Diffstat (limited to 'rhimport/session_store.go')
-rw-r--r-- | rhimport/session_store.go | 22 |
1 files changed, 17 insertions, 5 deletions
diff --git a/rhimport/session_store.go b/rhimport/session_store.go index d6dce9f..dafe71e 100644 --- a/rhimport/session_store.go +++ b/rhimport/session_store.go @@ -28,7 +28,9 @@ import ( "crypto/rand" "encoding/base64" "fmt" + "log" "net/http" + "strings" "time" "code.helsinki.at/rhrd-go/rddb" @@ -132,6 +134,8 @@ type SessionStore struct { store map[string]*SessionStoreUserElement conf *Config db *rddb.DBChan + stdlog *log.Logger + dbglog *log.Logger quit chan bool done chan bool newChan chan newSessionRequest @@ -177,10 +181,16 @@ func (store *SessionStore) new(ctx *Context, refId string) (resp newSessionRespo } ctx.conf = store.conf ctx.db = store.db + if pref := ctx.stdlog.Prefix(); strings.Contains(pref, "%s") { + ctx.stdlog.SetPrefix(fmt.Sprintf(pref, resp.id)) + } + if pref := ctx.dbglog.Prefix(); strings.Contains(pref, "%s") { + ctx.dbglog.SetPrefix(fmt.Sprintf(pref, resp.id)) + } s := &SessionStoreSessionElement{newSession(ctx, func() { store.GetInterface().Remove(ctx.UserName, resp.id) }), refId} store.store[ctx.UserName].sessions[resp.id] = s resp.session = store.store[ctx.UserName].sessions[resp.id].s.getInterface() - rhdl.Printf("SessionStore: created session for '%s' -> %s", ctx.UserName, resp.id) + store.dbglog.Printf("SessionStore: created session for '%s' -> %s", ctx.UserName, resp.id) store.store[ctx.UserName].callUpdateHandlerAdd(resp.id, refId) return } @@ -252,12 +262,12 @@ func (store *SessionStore) remove(username, id string) (resp removeSessionRespon go session.s.cleanup() // cleanup could take a while -> don't block all the other stuff refId := session.refId delete(user.sessions, id) - rhdl.Printf("SessionStore: removed session '%s/%s'", username, id) + store.dbglog.Printf("SessionStore: removed session '%s/%s'", username, id) user.callUpdateHandlerRemove(id, refId) if len(user.sessions) == 0 && len(user.updateCBs) == 0 { delete(store.store, username) - rhdl.Printf("SessionStore: removed user '%s'", username) + store.dbglog.Printf("SessionStore: removed user '%s'", username) } } else { resp.responsecode = http.StatusNotFound @@ -271,7 +281,7 @@ func (store *SessionStore) maintenanceTask() { user.callUpdateHandler(nil, nil) if len(user.sessions) == 0 && len(user.updateCBs) == 0 { delete(store.store, name) - rhdl.Printf("SessionStore: removed user '%s'", name) + store.dbglog.Printf("SessionStore: removed user '%s'", name) } } } @@ -379,10 +389,12 @@ func (store *SessionStore) Cleanup() { close(store.removeChan) } -func NewSessionStore(conf *Config, db *rddb.DBChan) (store *SessionStore, err error) { +func NewSessionStore(conf *Config, db *rddb.DBChan, stdlog, dbglog *log.Logger) (store *SessionStore, err error) { store = new(SessionStore) store.conf = conf store.db = db + store.stdlog = stdlog + store.dbglog = dbglog store.quit = make(chan bool, 1) store.done = make(chan bool) store.store = make(map[string]*SessionStoreUserElement) |