From f247c679decee140b364aea95a686d19581cc804 Mon Sep 17 00:00:00 2001 From: Tulir Asokan Date: Tue, 25 Apr 2023 20:48:06 +0300 Subject: [PATCH] Add user ID to discordgo logs --- go.mod | 2 +- go.sum | 4 ++-- user.go | 32 ++++++++++++++++++++------------ 3 files changed, 23 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index c6b4c84..ec0414f 100644 --- a/go.mod +++ b/go.mod @@ -37,4 +37,4 @@ require ( maunium.net/go/mauflag v1.0.0 // indirect ) -replace github.com/bwmarrin/discordgo => github.com/beeper/discordgo v0.0.0-20230421234845-798d8c4943a5 +replace github.com/bwmarrin/discordgo => github.com/beeper/discordgo v0.0.0-20230425174737-526618ee92f8 diff --git a/go.sum b/go.sum index b58f0f4..0d4392e 100644 --- a/go.sum +++ b/go.sum @@ -1,6 +1,6 @@ github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60= -github.com/beeper/discordgo v0.0.0-20230421234845-798d8c4943a5 h1:goe2lr+0qYbVtdidyl3UMurIGdFnXXZqmNq0vWZo4f4= -github.com/beeper/discordgo v0.0.0-20230421234845-798d8c4943a5/go.mod h1:NJZpH+1AfhIcyQsPeuBKsUtYrRnjkyu0kIVMCHkZtRY= +github.com/beeper/discordgo v0.0.0-20230425174737-526618ee92f8 h1:9GiqpUOVfcgn27okKcuTLgOJ2BucQlwpX0wrFj+c6WA= +github.com/beeper/discordgo v0.0.0-20230425174737-526618ee92f8/go.mod h1:NJZpH+1AfhIcyQsPeuBKsUtYrRnjkyu0kIVMCHkZtRY= github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= diff --git a/user.go b/user.go index 38c846a..f4cb3a7 100644 --- a/user.go +++ b/user.go @@ -79,20 +79,24 @@ func (user *User) GetRemoteName() string { var discordLog zerolog.Logger +func discordToZeroLevel(level int) zerolog.Level { + switch level { + case discordgo.LogError: + return zerolog.ErrorLevel + case discordgo.LogWarning: + return zerolog.WarnLevel + case discordgo.LogInformational: + return zerolog.InfoLevel + case discordgo.LogDebug: + fallthrough + default: + return zerolog.DebugLevel + } +} + func init() { discordgo.Logger = func(msgL, caller int, format string, a ...interface{}) { - var level zerolog.Level - switch msgL { - case discordgo.LogError: - level = zerolog.ErrorLevel - case discordgo.LogWarning: - level = zerolog.WarnLevel - case discordgo.LogInformational: - level = zerolog.InfoLevel - case discordgo.LogDebug: - level = zerolog.DebugLevel - } - discordLog.WithLevel(level).Caller(caller+1).Msgf(strings.TrimSpace(format), a...) + discordLog.WithLevel(discordToZeroLevel(msgL)).Caller(caller+1).Msgf(strings.TrimSpace(format), a...) } } @@ -563,6 +567,10 @@ func (user *User) Connect() error { } else { session.LogLevel = discordgo.LogInformational } + userDiscordLog := user.log.With().Str("component", "discordgo").Logger() + session.Logger = func(msgL, caller int, format string, a ...interface{}) { + userDiscordLog.WithLevel(discordToZeroLevel(msgL)).Caller(caller+1).Msgf(strings.TrimSpace(format), a...) + } if !session.IsUser { session.Identify.Intents = BotIntents }