sql-server: Allow dolt_log_level system variable to receive writes and dynamically update the log level.

This commit is contained in:
Aaron Son
2023-05-10 14:46:45 -07:00
parent 663d2e3181
commit 2674c3cf2a
2 changed files with 22 additions and 4 deletions
+7
View File
@@ -105,6 +105,13 @@ func Serve(
logrus.TraceLevel.String(),
),
Default: logrus.GetLevel().String(),
NotifyChanged: func(scope sql.SystemVariableScope, v sql.SystemVarValue) {
if level, err := logrus.ParseLevel(v.Val.(string)); err == nil {
logrus.SetLevel(level)
} else {
logrus.Warnf("could not parse requested log level %s as a log level. dolt_log_level variable value and logging behavior will diverge.", v.Val.(string))
}
},
},
})
@@ -275,23 +275,34 @@ tests:
result:
columns: ["@@GLOBAL.max_connections"]
rows: [["555"]]
- name: "@@global.dolt_log_level read behavior"
- name: "@@global.dolt_log_level behavior"
repos:
- name: repo1
server:
args: ["-l", "trace"]
args: ["-l", "warning"]
log_matches:
- "Starting query"
connections:
- on: repo1
queries:
- query: "select @@GLOBAL.dolt_log_level"
result:
columns: ["@@GLOBAL.dolt_log_level"]
rows: [["warning"]]
- exec: "set @@GLOBAL.dolt_log_level = 'trace'"
- query: "select 2+2 from dual"
result:
columns: ["2+2"]
rows: [["4"]]
- query: "select @@GLOBAL.dolt_log_level"
result:
columns: ["@@GLOBAL.dolt_log_level"]
rows: [["trace"]]
restart_server:
args: ["-l", "debug"]
args: ["-l", "info"]
- on: repo1
queries:
- query: "select @@GLOBAL.dolt_log_level"
result:
columns: ["@@GLOBAL.dolt_log_level"]
rows: [["debug"]]
rows: [["info"]]