Compare commits
No commits in common. "master" and "v1.5.0" have entirely different histories.
@ -2,8 +2,8 @@ package bitmask
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"encoding/binary"
|
|
||||||
"errors"
|
"errors"
|
||||||
|
"encoding/binary"
|
||||||
"math/bits"
|
"math/bits"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -109,15 +109,6 @@ func (m *MaskBit) Bytes(trim bool) (b []byte) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Copy returns a pointer to a (new) copy of a MaskBit.
|
|
||||||
func (m *MaskBit) Copy() (newM *MaskBit) {
|
|
||||||
|
|
||||||
newM = new(MaskBit)
|
|
||||||
*newM = *m
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// Value returns the current raw uint value of a MaskBit.
|
// Value returns the current raw uint value of a MaskBit.
|
||||||
func (m *MaskBit) Value() (v uint) {
|
func (m *MaskBit) Value() (v uint) {
|
||||||
|
|
||||||
|
@ -12,16 +12,3 @@ const (
|
|||||||
// appendFlags are the flags used for testing the file (and opening/writing).
|
// appendFlags are the flags used for testing the file (and opening/writing).
|
||||||
appendFlags int = os.O_APPEND | os.O_CREATE | os.O_WRONLY
|
appendFlags int = os.O_APPEND | os.O_CREATE | os.O_WRONLY
|
||||||
)
|
)
|
||||||
|
|
||||||
const PriorityNone logPrio = 0
|
|
||||||
const (
|
|
||||||
PriorityEmergency logPrio = 1 << iota
|
|
||||||
PriorityAlert
|
|
||||||
PriorityCritical
|
|
||||||
PriorityError
|
|
||||||
PriorityWarning
|
|
||||||
PriorityNotice
|
|
||||||
PriorityInformational
|
|
||||||
PriorityDebug
|
|
||||||
)
|
|
||||||
const PriorityAll logPrio = PriorityEmergency | PriorityAlert | PriorityCritical | PriorityError | PriorityWarning | PriorityNotice | PriorityInformational | PriorityDebug
|
|
||||||
|
@ -220,14 +220,6 @@ func (l *FileLogger) Warning(s string, v ...interface{}) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// ToLogger returns a stdlib log.Logger.
|
|
||||||
func (l *FileLogger) ToLogger(prio logPrio) (stdLibLog *log.Logger) {
|
|
||||||
|
|
||||||
stdLibLog = log.New(&logWriter{backend: l, prio: prio}, "", 0)
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
// renderWrite prepares/formats a log message to be written to this FileLogger.
|
// renderWrite prepares/formats a log message to be written to this FileLogger.
|
||||||
func (l *FileLogger) renderWrite(msg, prio string) {
|
func (l *FileLogger) renderWrite(msg, prio string) {
|
||||||
|
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
package logging
|
|
||||||
|
|
||||||
import (
|
|
||||||
`r00t2.io/goutils/bitmask`
|
|
||||||
)
|
|
||||||
|
|
||||||
// HasFlag provides a wrapper for functionality to the underlying bitmask.MaskBit.
|
|
||||||
func (l *logPrio) HasFlag(prio logPrio) (hasFlag bool) {
|
|
||||||
|
|
||||||
var m *bitmask.MaskBit
|
|
||||||
var p *bitmask.MaskBit
|
|
||||||
|
|
||||||
if l == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
m = bitmask.NewMaskBitExplicit(uint(*l))
|
|
||||||
p = bitmask.NewMaskBitExplicit(uint(prio))
|
|
||||||
|
|
||||||
hasFlag = m.HasFlag(*p)
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
@ -1,74 +0,0 @@
|
|||||||
package logging
|
|
||||||
|
|
||||||
import (
|
|
||||||
`r00t2.io/goutils/multierr`
|
|
||||||
)
|
|
||||||
|
|
||||||
// Write writes bytes b to the underlying Logger's priority level if the logWriter's priority level(s) match.
|
|
||||||
func (l *logWriter) Write(b []byte) (n int, err error) {
|
|
||||||
|
|
||||||
var s string
|
|
||||||
var mErr *multierr.MultiError = multierr.NewMultiError(nil)
|
|
||||||
|
|
||||||
if b == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
s = string(b)
|
|
||||||
|
|
||||||
if l.prio.HasFlag(PriorityEmergency) {
|
|
||||||
if err = l.backend.Emerg(s); err != nil {
|
|
||||||
mErr.AddError(err)
|
|
||||||
err = nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if l.prio.HasFlag(PriorityAlert) {
|
|
||||||
if err = l.backend.Alert(s); err != nil {
|
|
||||||
mErr.AddError(err)
|
|
||||||
err = nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if l.prio.HasFlag(PriorityCritical) {
|
|
||||||
if err = l.backend.Crit(s); err != nil {
|
|
||||||
mErr.AddError(err)
|
|
||||||
err = nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if l.prio.HasFlag(PriorityError) {
|
|
||||||
if err = l.backend.Err(s); err != nil {
|
|
||||||
mErr.AddError(err)
|
|
||||||
err = nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if l.prio.HasFlag(PriorityWarning) {
|
|
||||||
if err = l.backend.Warning(s); err != nil {
|
|
||||||
mErr.AddError(err)
|
|
||||||
err = nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if l.prio.HasFlag(PriorityNotice) {
|
|
||||||
if err = l.backend.Notice(s); err != nil {
|
|
||||||
mErr.AddError(err)
|
|
||||||
err = nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if l.prio.HasFlag(PriorityInformational) {
|
|
||||||
if err = l.backend.Info(s); err != nil {
|
|
||||||
mErr.AddError(err)
|
|
||||||
err = nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if l.prio.HasFlag(PriorityDebug) {
|
|
||||||
if err = l.backend.Debug(s); err != nil {
|
|
||||||
mErr.AddError(err)
|
|
||||||
err = nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if !mErr.IsEmpty() {
|
|
||||||
err = mErr
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
@ -3,7 +3,6 @@ package logging
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
`log`
|
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"r00t2.io/goutils/multierr"
|
"r00t2.io/goutils/multierr"
|
||||||
@ -371,11 +370,3 @@ func (m *MultiLogger) Warning(s string, v ...interface{}) (err error) {
|
|||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// ToLogger returns a stdlib log.Logger.
|
|
||||||
func (m *MultiLogger) ToLogger(prio logPrio) (stdLibLog *log.Logger) {
|
|
||||||
|
|
||||||
stdLibLog = log.New(&logWriter{backend: m, prio: prio}, "", 0)
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
@ -1,9 +1,5 @@
|
|||||||
package logging
|
package logging
|
||||||
|
|
||||||
import (
|
|
||||||
`log`
|
|
||||||
)
|
|
||||||
|
|
||||||
// Setup does nothing at all; it's here for interface compat. 🙃
|
// Setup does nothing at all; it's here for interface compat. 🙃
|
||||||
func (l *NullLogger) Setup() (err error) {
|
func (l *NullLogger) Setup() (err error) {
|
||||||
return
|
return
|
||||||
@ -76,11 +72,3 @@ func (l *NullLogger) Notice(s string, v ...interface{}) (err error) {
|
|||||||
func (l *NullLogger) Warning(s string, v ...interface{}) (err error) {
|
func (l *NullLogger) Warning(s string, v ...interface{}) (err error) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// ToLogger returns a stdlib log.Logger (that doesn't actually write to anything).
|
|
||||||
func (l *NullLogger) ToLogger(prio logPrio) (stdLibLog *log.Logger) {
|
|
||||||
|
|
||||||
stdLibLog = log.New(&nullWriter{}, "", 0)
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
@ -1,12 +0,0 @@
|
|||||||
package logging
|
|
||||||
|
|
||||||
// nulLWriter writes... nothing. To avoid errors, however, in downstream code it pretends it does (n will *always* == len(b)).
|
|
||||||
func (nw *nullWriter) Write(b []byte) (n int, err error) {
|
|
||||||
|
|
||||||
if b == nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
n = len(b)
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
@ -244,11 +244,3 @@ func (l *StdLogger) renderWrite(msg, prio string) {
|
|||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// ToLogger returns a stdlib log.Logger.
|
|
||||||
func (l *StdLogger) ToLogger(prio logPrio) (stdLibLog *log.Logger) {
|
|
||||||
|
|
||||||
stdLibLog = log.New(&logWriter{backend: l, prio: prio}, "", 0)
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
@ -223,11 +223,3 @@ func (l *SystemDLogger) renderWrite(msg string, prio journal.Priority) {
|
|||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// ToLogger returns a stdlib log.Logger.
|
|
||||||
func (l *SystemDLogger) ToLogger(prio logPrio) (stdLibLog *log.Logger) {
|
|
||||||
|
|
||||||
stdLibLog = log.New(&logWriter{backend: l, prio: prio}, "", 0)
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
@ -266,11 +266,3 @@ func (l *SyslogLogger) Warning(s string, v ...interface{}) (err error) {
|
|||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// ToLogger returns a stdlib log.Logger.
|
|
||||||
func (l *SyslogLogger) ToLogger(prio logPrio) (stdLibLog *log.Logger) {
|
|
||||||
|
|
||||||
stdLibLog = log.New(&logWriter{backend: l, prio: prio}, "", 0)
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
@ -3,7 +3,6 @@ package logging
|
|||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
`log`
|
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"syscall"
|
"syscall"
|
||||||
@ -343,11 +342,3 @@ func (l *WinLogger) Warning(s string, v ...interface{}) (err error) {
|
|||||||
return
|
return
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ToLogger returns a stdlib log.Logger.
|
|
||||||
func (l *WinLogger) ToLogger(prio logPrio) (stdLibLog *log.Logger) {
|
|
||||||
|
|
||||||
stdLibLog = log.New(&logWriter{backend: l, prio: prio}, "", 0)
|
|
||||||
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
@ -3,12 +3,8 @@ package logging
|
|||||||
import (
|
import (
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
`r00t2.io/goutils/bitmask`
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type logPrio bitmask.MaskBit
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Logger is one of the various loggers offered by this module.
|
Logger is one of the various loggers offered by this module.
|
||||||
*/
|
*/
|
||||||
@ -27,7 +23,6 @@ type Logger interface {
|
|||||||
GetPrefix() (p string, err error)
|
GetPrefix() (p string, err error)
|
||||||
Setup() (err error)
|
Setup() (err error)
|
||||||
Shutdown() (err error)
|
Shutdown() (err error)
|
||||||
ToLogger(prio logPrio) (stdLibLog *log.Logger)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -110,12 +105,3 @@ type MultiLogger struct {
|
|||||||
*/
|
*/
|
||||||
Loggers map[string]Logger
|
Loggers map[string]Logger
|
||||||
}
|
}
|
||||||
|
|
||||||
// logWriter is used as a log.Logger and is returned by <Logger>.ToLogger.
|
|
||||||
type logWriter struct {
|
|
||||||
backend Logger
|
|
||||||
prio logPrio
|
|
||||||
}
|
|
||||||
|
|
||||||
// nullWriter is used as a shortcut by NullLogger.ToLogger.
|
|
||||||
type nullWriter struct{}
|
|
||||||
|
Loading…
Reference in New Issue
Block a user