mirror of
https://github.com/lukaszraczylo/graphql-monitoring-proxy.git
synced 2026-10-20 06:28:13 +00:00
improvements mid may 2025 (#24)
* General improvements and bug fixes. * Improve tests coverage. * fixup! Improve tests coverage. * Update README.md with latest changes. * Fix the uint32 * Resolve issue with race condition for logging. * fixup! Merge remote-tracking branch 'origin/main' into improvements-mid-apr-2025 * Fix the test of the rate limiter * Add default ratelimit.json file * Update dependencies. * Significant refactor. * fixup! Significant refactor. * fixup! Merge remote-tracking branch 'origin/main' into improvements-mid-apr-2025 * fixup! fixup! Merge remote-tracking branch 'origin/main' into improvements-mid-apr-2025 * fixup! fixup! fixup! Merge remote-tracking branch 'origin/main' into improvements-mid-apr-2025 * fixup! fixup! fixup! fixup! fixup! Merge remote-tracking branch 'origin/main' into improvements-mid-apr-2025 * fixup! fixup! fixup! fixup! fixup! fixup! Merge remote-tracking branch 'origin/main' into improvements-mid-apr-2025 * fixup! fixup! fixup! fixup! fixup! fixup! fixup! Merge remote-tracking branch 'origin/main' into improvements-mid-apr-2025 * fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! Merge remote-tracking branch 'origin/main' into improvements-mid-apr-2025 * fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! Merge remote-tracking branch 'origin/main' into improvements-mid-apr-2025 * fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! fixup! Merge remote-tracking branch 'origin/main' into improvements-mid-apr-2025
This commit is contained in:
+7
-1
@@ -42,6 +42,7 @@ type Logger struct {
|
||||
timeFormat string
|
||||
minLogLevel int
|
||||
showCaller bool
|
||||
mu sync.Mutex // Mutex to protect concurrent access to output
|
||||
}
|
||||
|
||||
// LogMessage represents a log message with optional pairs.
|
||||
@@ -82,7 +83,9 @@ func New() *Logger {
|
||||
|
||||
// SetOutput sets the output destination for the logger.
|
||||
func (l *Logger) SetOutput(output io.Writer) *Logger {
|
||||
l.mu.Lock()
|
||||
l.output = output
|
||||
l.mu.Unlock()
|
||||
return l
|
||||
}
|
||||
|
||||
@@ -150,8 +153,11 @@ func (l *Logger) log(level int, m *LogMessage) {
|
||||
fmt.Fprintln(os.Stderr, "Error marshalling log message:", err)
|
||||
return
|
||||
}
|
||||
|
||||
// Lock the mutex before writing to the output to prevent race conditions
|
||||
l.mu.Lock()
|
||||
_, err = l.output.Write(buffer.Bytes())
|
||||
l.mu.Unlock()
|
||||
|
||||
if err != nil {
|
||||
fmt.Fprintln(os.Stderr, "Error writing log message:", err)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user