[feature] Add log-db-queries config option (#465)

This commit is contained in:
tobi 2022-04-18 16:47:11 +02:00 committed by GitHub
commit 094f032f74
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 43 additions and 15 deletions

View file

@ -24,6 +24,7 @@ import "github.com/coreos/go-oidc/v3/oidc"
// Note that if you use this, you still need to set Host and, if desired, ConfigPath.
var Defaults = Values{
LogLevel: "info",
LogDbQueries: false,
ApplicationName: "gotosocial",
ConfigPath: "",
Host: "",

View file

@ -21,8 +21,9 @@ package config
// KeyNames is a struct that just contains the names of configuration keys.
type KeyNames struct {
// root
LogLevel string
ConfigPath string
LogLevel string
LogDbQueries string
ConfigPath string
// general
ApplicationName string
@ -109,6 +110,7 @@ type KeyNames struct {
// and retrieving values from the viper config store.
var Keys = KeyNames{
LogLevel: "log-level",
LogDbQueries: "log-db-queries",
ApplicationName: "application-name",
ConfigPath: "config-path",
Host: "host",

View file

@ -21,6 +21,7 @@ package config
// Values contains contains the type of each configuration value.
type Values struct {
LogLevel string
LogDbQueries bool
ApplicationName string
ConfigPath string
Host string

View file

@ -136,9 +136,9 @@ func NewBunDBService(ctx context.Context) (db.DB, error) {
return nil, fmt.Errorf("database type %s not supported for bundb", dbType)
}
// add a hook to just log queries and the time they take
// add a hook to log queries and the time they take
// only do this for logging where performance isn't 1st concern
if logrus.GetLevel() >= logrus.DebugLevel {
if logrus.GetLevel() >= logrus.DebugLevel && viper.GetBool(config.Keys.LogDbQueries) {
conn.DB.AddQueryHook(newDebugQueryHook())
}