fix(logger): prevent nil-deref panic in migrate/setting CLI paths

The package-level logger is nil until InitLogger runs, which only happens in runWebServer. The migrate and setting subcommands log without initializing it; PR #5520 added a logger.Info on a success path in MigrationRestoreVisionFlow, so 'x-ui migrate' segfaults on installs with a VLESS inbound needing Vision-flow restoration.

Initialize logger to a usable default at package load so no code path can nil-deref it, and set up the dual backend in migrateDb so migration steps are logged like runWebServer.

Fixes #5581
This commit is contained in:
MHSanaei
2026-06-26 11:40:13 +02:00
parent b1fb39c486
commit 522b1b64b0
2 changed files with 4 additions and 1 deletions
+1
View File
@@ -484,6 +484,7 @@ func GetApiToken(getApiToken bool) {
func migrateDb() {
inboundService := service.InboundService{}
logger.InitLogger(logging.INFO)
err := database.InitDB(config.GetDBPath())
if err != nil {
log.Fatal(err)