From 4a9538593c6110b5972d802aebf1c4990edafe38 Mon Sep 17 00:00:00 2001 From: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com> Date: Sun, 20 Nov 2022 16:40:15 +0000 Subject: [PATCH] [chore] simplify logging to remove "safetywriter" given os.File has concurrency protection (#1083) Signed-off-by: kim Signed-off-by: kim --- internal/log/log.go | 13 ++++--------- internal/log/writer.go | 37 ------------------------------------- 2 files changed, 4 insertions(+), 46 deletions(-) delete mode 100644 internal/log/writer.go diff --git a/internal/log/log.go b/internal/log/log.go index 7ee43c900..087c95928 100644 --- a/internal/log/log.go +++ b/internal/log/log.go @@ -20,7 +20,6 @@ import ( "fmt" - "io" "log/syslog" "os" "strings" @@ -39,10 +38,6 @@ // lvlstrs is the lookup table of log levels to strings. lvlstrs = level.Default() - // Preprepared stdout/stderr log writers. - stdout = &safewriter{w: os.Stdout} - stderr = &safewriter{w: os.Stderr} - // Syslog output, only set if enabled. sysout *syslog.Writer @@ -187,12 +182,12 @@ func printf(depth int, fields []kv.Field, s string, a ...interface{}) { } // Write to log and release - _, _ = stdout.Write(buf.B) + _, _ = os.Stdout.Write(buf.B) putBuf(buf) } func logf(depth int, lvl level.LEVEL, fields []kv.Field, s string, a ...interface{}) { - var out io.Writer + var out *os.File // Check if enabled. if lvl > Level() { @@ -202,9 +197,9 @@ func logf(depth int, lvl level.LEVEL, fields []kv.Field, s string, a ...interfac // Split errors to stderr, // all else goes to stdout. if lvl <= level.ERROR { - out = stderr + out = os.Stderr } else { - out = stdout + out = os.Stdout } // Acquire buffer diff --git a/internal/log/writer.go b/internal/log/writer.go deleted file mode 100644 index 4356d9b7d..000000000 --- a/internal/log/writer.go +++ /dev/null @@ -1,37 +0,0 @@ -/* - GoToSocial - Copyright (C) 2021-2022 GoToSocial Authors admin@gotosocial.org - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU Affero General Public License for more details. - - You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . -*/ - -package log - -import ( - "io" - "sync" -) - -// safewriter wraps a writer to provide mutex safety on write. -type safewriter struct { - w io.Writer - m sync.Mutex -} - -func (w *safewriter) Write(b []byte) (int, error) { - w.m.Lock() - n, err := w.w.Write(b) - w.m.Unlock() - return n, err -}