diff --git a/log/logger_context.go b/log/logger_context.go index 6b7252ef..46802576 100644 --- a/log/logger_context.go +++ b/log/logger_context.go @@ -42,6 +42,7 @@ var ( // enumerate all the context keys var ( SessionIDKey = "__xorm_session_id" + SessionKey = "__xorm_session_key" SessionShowSQLKey = "__xorm_show_sql" ) diff --git a/session.go b/session.go index 709c81f0..48b3779e 100644 --- a/session.go +++ b/session.go @@ -100,8 +100,15 @@ func newSessionID() string { } func newSession(engine *Engine) *Session { + var ctx context.Context + if engine.logSessionID { + ctx = context.WithValue(engine.defaultContext, log.SessionIDKey, newSessionID()) + } else { + ctx = engine.defaultContext + } + session := &Session{ - ctx: engine.defaultContext, + ctx: ctx, engine: engine, tx: nil, statement: statements.NewStatement( @@ -130,7 +137,7 @@ func newSession(engine *Engine) *Session { sessionType: engineSession, } if engine.logSessionID { - session.ctx = context.WithValue(session.ctx, log.SessionIDKey, session) + session.ctx = context.WithValue(session.ctx, log.SessionKey, session) } return session }