Skip to content

Rework of the logging library

Emil Jahnke requested to merge feature/emils-proposal into main

Add Message Parameter and Configurable Log Levels

Breaking Changes

1. Message Parameter Required

All logging functions now require message as the first parameter:

// Before
logger.Info(params, event, trace, user, http) logger.Error(err, params, event, trace, user, http)

// After
logger.Info("message", params, event, trace, user, http) logger.Error("message", err, params, event, trace, user, http)

Behavior:

  • Creates new Event if nil, otherwise overwrites event.Message when message is non-empty
  • Auto-populates event.StackTrace from error objects in Error/Fatal calls

2. Configurable Log Levels for Lifecycle Functions

Lifecycle functions now accept logLevel as first parameter:

// Before

LogServiceStart("v1.0.0", cfg, envVars)
LogHTTPRequestEvent("GET", "/users", 200, params)

// After
LogServiceStart("info", "v1.0.0", cfg, envVars)
LogHTTPRequestEvent("debug", "GET", "/users", 200, params)

Affected: LogServiceStart, LogServiceStop, LogConfigChange, LogConnectionEvent, LogHTTPRequestEvent, LogAuthenticationEvent

Migration

Update all logging calls to include message parameter. Update lifecycle calls to include logLevel parameter.

Testing

All 73 tests passing.

Merge Request-Berichte

Lade