Simplify logging config

This commit is contained in:
2025-12-12 18:13:18 +01:00
parent e2a49402d6
commit 0b3d654945
7 changed files with 75 additions and 68 deletions

View File

@@ -68,10 +68,15 @@ func New(name string, globalConfig *config.AppConfig, opts *Options, onStatusCha
// Only create logger, proxy, and process for local instances
if !instance.IsRemote() {
logRotationConfig := &config.LogRotationConfig{
Enabled: globalInstanceSettings.LogRotationEnabled,
MaxSizeMB: globalInstanceSettings.LogRotationMaxSizeMB,
Compress: globalInstanceSettings.LogRotationCompress,
}
instance.logger = newLogger(
name,
globalInstanceSettings.Logging.LogsDir,
&globalInstanceSettings.Logging.LogRotation,
globalInstanceSettings.LogsDir,
logRotationConfig,
)
instance.process = newProcess(instance)
}

View File

@@ -27,10 +27,8 @@ func TestNewInstance(t *testing.T) {
},
},
Instances: config.InstancesConfig{
DefaultAutoRestart: true,
Logging: config.LoggingConfig{
LogsDir: "/tmp/test",
},
DefaultAutoRestart: true,
LogsDir: "/tmp/test",
DefaultMaxRestarts: 3,
DefaultRestartDelay: 5,
},
@@ -122,10 +120,8 @@ func TestSetOptions(t *testing.T) {
},
},
Instances: config.InstancesConfig{
DefaultAutoRestart: true,
Logging: config.LoggingConfig{
LogsDir: "/tmp/test",
},
DefaultAutoRestart: true,
LogsDir: "/tmp/test",
DefaultMaxRestarts: 3,
DefaultRestartDelay: 5,
},
@@ -180,7 +176,7 @@ func TestMarshalJSON(t *testing.T) {
Backends: config.BackendConfig{
LlamaCpp: config.BackendSettings{Command: "llama-server"},
},
Instances: config.InstancesConfig{Logging: config.LoggingConfig{LogsDir: "/tmp/test"}},
Instances: config.InstancesConfig{LogsDir: "/tmp/test"},
Nodes: map[string]config.NodeConfig{},
LocalNode: "main",
}
@@ -317,9 +313,7 @@ func TestCreateOptionsValidation(t *testing.T) {
},
},
Instances: config.InstancesConfig{
Logging: config.LoggingConfig{
LogsDir: "/tmp/test",
},
LogsDir: "/tmp/test",
},
Nodes: map[string]config.NodeConfig{},
LocalNode: "main",
@@ -364,7 +358,7 @@ func TestStatusChangeCallback(t *testing.T) {
Backends: config.BackendConfig{
LlamaCpp: config.BackendSettings{Command: "llama-server"},
},
Instances: config.InstancesConfig{Logging: config.LoggingConfig{LogsDir: "/tmp/test"}},
Instances: config.InstancesConfig{LogsDir: "/tmp/test"},
Nodes: map[string]config.NodeConfig{},
LocalNode: "main",
}
@@ -406,7 +400,7 @@ func TestSetOptions_NodesPreserved(t *testing.T) {
Backends: config.BackendConfig{
LlamaCpp: config.BackendSettings{Command: "llama-server"},
},
Instances: config.InstancesConfig{Logging: config.LoggingConfig{LogsDir: "/tmp/test"}},
Instances: config.InstancesConfig{LogsDir: "/tmp/test"},
Nodes: map[string]config.NodeConfig{},
LocalNode: "main",
}
@@ -488,7 +482,7 @@ func TestProcessErrorCases(t *testing.T) {
Backends: config.BackendConfig{
LlamaCpp: config.BackendSettings{Command: "llama-server"},
},
Instances: config.InstancesConfig{Logging: config.LoggingConfig{LogsDir: "/tmp/test"}},
Instances: config.InstancesConfig{LogsDir: "/tmp/test"},
Nodes: map[string]config.NodeConfig{},
LocalNode: "main",
}
@@ -524,7 +518,7 @@ func TestRemoteInstanceOperations(t *testing.T) {
Backends: config.BackendConfig{
LlamaCpp: config.BackendSettings{Command: "llama-server"},
},
Instances: config.InstancesConfig{Logging: config.LoggingConfig{LogsDir: "/tmp/test"}},
Instances: config.InstancesConfig{LogsDir: "/tmp/test"},
Nodes: map[string]config.NodeConfig{
"remote-node": {Address: "http://remote-node:8080"},
},
@@ -572,7 +566,7 @@ func TestIdleTimeout(t *testing.T) {
Backends: config.BackendConfig{
LlamaCpp: config.BackendSettings{Command: "llama-server"},
},
Instances: config.InstancesConfig{Logging: config.LoggingConfig{LogsDir: "/tmp/test"}},
Instances: config.InstancesConfig{LogsDir: "/tmp/test"},
Nodes: map[string]config.NodeConfig{},
LocalNode: "main",
}

View File

@@ -49,7 +49,7 @@ func (l *logger) create() error {
t := &timber.Logger{
Filename: logPath,
MaxSize: l.cfg.MaxSizeMB,
MaxBackups: l.cfg.MaxBackups,
MaxBackups: 0, // No limit on backups - use index-based naming
// Compression: "gzip" if Compress is true, else "none"
Compression: func() string {
if l.cfg.Compress {
@@ -57,8 +57,8 @@ func (l *logger) create() error {
}
return "none"
}(),
FileMode: 0644, // default; timberjack uses 640 if 0
LocalTime: true, // use local time for consistency with lumberjack
FileMode: 0644, // default; timberjack uses 640 if 0
LocalTime: false, // Use index-based naming instead of timestamps
}
// If rotation is disabled, set MaxSize to 0 so no rotation occurs