diff options
author | Luke Shumaker <lukeshu@lukeshu.com> | 2018-09-05 00:19:41 -0400 |
---|---|---|
committer | Luke Shumaker <lukeshu@lukeshu.com> | 2018-09-05 00:19:41 -0400 |
commit | 1abc491c413010093c48e108d24f91e15080682e (patch) | |
tree | c2ec19ce2b371b1b9ab331281e81abdf3c0cd4da | |
parent | ce07ec5e3d5888a5068dff408c47cc9fef91f4b1 (diff) | |
parent | 0a43955333992153412a6b8a99b2825c3d0a74ca (diff) |
Merge branch 'master' of https://git.lukeshu.com/go/libsystemd
-rw-r--r-- | sd_daemon/log.go | 35 | ||||
-rw-r--r-- | sd_daemon/log_test.go | 8 | ||||
-rwxr-xr-x | sd_daemon/log_util.go.gen | 2 |
3 files changed, 30 insertions, 15 deletions
diff --git a/sd_daemon/log.go b/sd_daemon/log.go index 138a07a..c8d8419 100644 --- a/sd_daemon/log.go +++ b/sd_daemon/log.go @@ -53,10 +53,7 @@ func NewLogger(w io.Writer) *Logger { // Log is a Logger whose interface is very similar to syslog.Writer, // but writes to os.Stderr under the assumption that stderr is -// forwarded to syslog (or journald). -// -// You are encouraged to use stderr unless you have a good reason to -// talk to syslog or journald directly. +// forwarded to syslogd (or journald). var Log = NewLogger(os.Stderr) // Cheap version of @@ -77,9 +74,9 @@ func appendPrefix(buf []byte, n syslog.Priority) []byte { return append(buf, b[i:]...) } -// WriteString writes a message with the specified priority to the +// LogString writes a message with the specified priority to the // log. -func (l *Logger) WriteString(pri syslog.Priority, msg string) (n int, err error) { +func (l *Logger) LogString(pri syslog.Priority, msg string) (n int, err error) { l.mu.Lock() defer l.mu.Unlock() @@ -114,10 +111,10 @@ func (l *Logger) WriteString(pri syslog.Priority, msg string) (n int, err error) return l.out.Write(l.buf) } -// WriteString writes a message with the specified priority to the +// LogBytes writes a message with the specified priority to the // log. -func (l *Logger) WriteBytes(pri syslog.Priority, msg []byte) (n int, err error) { - // Copy/pasted from WriteString and +func (l *Logger) LogBytes(pri syslog.Priority, msg []byte) (n int, err error) { + // Copy/pasted from LogString and // * `strings.` -> `bytes.` // * `"\n"` -> `[]byte{'\n'}` l.mu.Lock() @@ -148,13 +145,31 @@ func (l *Logger) WriteBytes(pri syslog.Priority, msg []byte) (n int, err error) return l.out.Write(l.buf) } +// Write writes a message with priority syslog.LOG_INFO to the log; +// implementing io.Writer. +func (l *Logger) Write(msg []byte) (n int, err error) { + n, err = l.LogBytes(syslog.LOG_INFO, msg) + return n, err +} + +// WriteString writes a message with priority syslog.LOG_INFO to the +// log; implementing io.WriteString's interface. +func (l *Logger) WriteString(msg string) (n int, err error) { + n, err = l.LogString(syslog.LOG_INFO, msg) + return n, err +} + type loggerWriter struct { log *Logger pri syslog.Priority } func (lw loggerWriter) Write(p []byte) (n int, err error) { - return lw.log.WriteBytes(lw.pri, p) + return lw.log.LogBytes(lw.pri, p) +} + +func (lw loggerWriter) WriteString(p string) (n int, err error) { + return lw.log.LogString(lw.pri, p) } // Writer returns an io.Writer that writes messages with the specified diff --git a/sd_daemon/log_test.go b/sd_daemon/log_test.go index 2f835a8..fe2f6f6 100644 --- a/sd_daemon/log_test.go +++ b/sd_daemon/log_test.go @@ -54,17 +54,17 @@ func TestLog(t *testing.T) { for in, out := range testcases { written = nil - n, err := log.WriteString(in.pri, in.msg) + n, err := log.LogString(in.pri, in.msg) if n != len(out) || string(written) != out || err != nil { - t.Errorf("WriteString(%#v, %#v)\n -> expected:{%#v, %#v, %#v}\n -> got:{%#v, %#v, %#v}\n", + t.Errorf("LogString(%#v, %#v)\n -> expected:{%#v, %#v, %#v}\n -> got:{%#v, %#v, %#v}\n", in.pri, in.msg, len(out), nil, out, n, err, string(written)) } written = nil - n, err = log.WriteBytes(in.pri, []byte(in.msg)) + n, err = log.LogBytes(in.pri, []byte(in.msg)) if n != len(out) || string(written) != out || err != nil { - t.Errorf("WriteBytes(%#v, %#v)\n -> expected:{%#v, %#v, %#v}\n -> got:{%#v, %#v, %#v}\n", + t.Errorf("LogBytes(%#v, %#v)\n -> expected:{%#v, %#v, %#v}\n -> got:{%#v, %#v, %#v}\n", in.pri, in.msg, len(out), nil, out, n, err, string(written)) diff --git a/sd_daemon/log_util.go.gen b/sd_daemon/log_util.go.gen index 9bebacf..0ad4ea2 100755 --- a/sd_daemon/log_util.go.gen +++ b/sd_daemon/log_util.go.gen @@ -28,7 +28,7 @@ EOF cat <<EOF // $pri writes a message with priority syslog.LOG_${pri^^} to the log. func (l *Logger) $pri(msg string) error { - _, err := l.WriteString(syslog.LOG_${pri^^}, msg) + _, err := l.LogString(syslog.LOG_${pri^^}, msg) return err } |