Rework of the logging library
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.Messagewhen message is non-empty - Auto-populates
event.StackTracefrom 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.