]> Sergey Matveev's repositories - btrtrc.git/commitdiff
Remove package logonce
authorMatt Joiner <anacrolix@gmail.com>
Mon, 23 Jun 2025 06:07:16 +0000 (16:07 +1000)
committerMatt Joiner <anacrolix@gmail.com>
Mon, 23 Jun 2025 06:07:16 +0000 (16:07 +1000)
I can't believe it's been around this long.

logonce/logonce.go [deleted file]

diff --git a/logonce/logonce.go b/logonce/logonce.go
deleted file mode 100644 (file)
index 7d44edc..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-// Package logonce implements an io.Writer facade that only performs distinct
-// writes. This can be used by log.Loggers as they're guaranteed to make a
-// single Write method call for each message. This is useful for loggers that
-// print useful information about unexpected conditions that aren't fatal in
-// code.
-package logonce
-
-import (
-       "io"
-       "log"
-       "os"
-)
-
-// A default logger similar to the default logger in the log package.
-var Stderr *log.Logger
-
-func init() {
-       // This should emulate the default logger in the log package where
-       // possible. No time flag so that messages don't differ by time. Code
-       // debug information is useful.
-       Stderr = log.New(Writer(os.Stderr), "logonce: ", log.Lshortfile)
-}
-
-type writer struct {
-       w      io.Writer
-       writes map[string]struct{}
-}
-
-func (w writer) Write(p []byte) (n int, err error) {
-       s := string(p)
-       if _, ok := w.writes[s]; ok {
-               return
-       }
-       n, err = w.w.Write(p)
-       if n != len(s) {
-               s = string(p[:n])
-       }
-       w.writes[s] = struct{}{}
-       return
-}
-
-func Writer(w io.Writer) io.Writer {
-       return writer{
-               w:      w,
-               writes: make(map[string]struct{}),
-       }
-}