Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
a445a51c0d
|
|||
|
a2a849600b
|
@@ -3,18 +3,19 @@ Package logging implements and presents various loggers under a unified interfac
|
|||||||
|
|
||||||
These particular loggers (logging.Logger) available are:
|
These particular loggers (logging.Logger) available are:
|
||||||
|
|
||||||
|
NullLogger
|
||||||
StdLogger
|
StdLogger
|
||||||
FileLogger
|
FileLogger
|
||||||
SystemDLogger (Linux only)
|
SystemDLogger (Linux only)
|
||||||
SyslogLogger (Linux only)
|
SyslogLogger (Linux only)
|
||||||
WinLogger (Windows only)
|
WinLogger (Windows only)
|
||||||
|
|
||||||
There is a sixth type of logging.Logger, MultiLogger, that allows for multiple loggers to be written to with a single call.
|
There is a seventh type of logging.Logger, MultiLogger, that allows for multiple loggers to be written to with a single call.
|
||||||
|
As you may have guessed, NullLogger doesn't actually log anything but is fully "functional" as a logging.Logger.
|
||||||
|
|
||||||
Note that for some Loggers, the prefix may be modified - "literal" loggers (StdLogger and FileLogger) will append a space to the end of the prefix.
|
Note that for some Loggers, the prefix may be modified - "literal" loggers (StdLogger and FileLogger) will append a space to the end of the prefix.
|
||||||
If this is undesired (unlikely), you will need to modify (Logger).Prefix and run (Logger).Logger.SetPrefix(yourPrefixHere) for the respective logger.
|
If this is undesired (unlikely), you will need to modify (Logger).Prefix and run (Logger).Logger.SetPrefix(yourPrefixHere) for the respective logger.
|
||||||
|
|
||||||
|
|
||||||
Every logging.Logger type has the following methods that correspond to certain "levels".
|
Every logging.Logger type has the following methods that correspond to certain "levels".
|
||||||
|
|
||||||
Alert(s string, v ...interface{}) (err error)
|
Alert(s string, v ...interface{}) (err error)
|
||||||
@@ -36,6 +37,7 @@ Note that in the case of a MultiLogger, err (if not nil) will be a (r00t2.io/gou
|
|||||||
logging.Logger types also have the following methods:
|
logging.Logger types also have the following methods:
|
||||||
|
|
||||||
DoDebug(d bool) (err error)
|
DoDebug(d bool) (err error)
|
||||||
|
GetDebug() (d bool)
|
||||||
SetPrefix(p string) (err error)
|
SetPrefix(p string) (err error)
|
||||||
GetPrefix() (p string, err error)
|
GetPrefix() (p string, err error)
|
||||||
Setup() (err error)
|
Setup() (err error)
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
package logging
|
package logging
|
||||||
|
|
||||||
import (
|
import (
|
||||||
`errors`
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
`io/fs`
|
"io/fs"
|
||||||
"log"
|
"log"
|
||||||
"os"
|
"os"
|
||||||
`strings`
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Setup sets up/configures a FileLogger and prepares it for use.
|
// Setup sets up/configures a FileLogger and prepares it for use.
|
||||||
@@ -65,6 +65,14 @@ func (l *FileLogger) DoDebug(d bool) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetDebug returns the debug status of this FileLogger.
|
||||||
|
func (l *FileLogger) GetDebug() (d bool) {
|
||||||
|
|
||||||
|
d = l.EnableDebug
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
SetPrefix sets the prefix for this FileLogger.
|
SetPrefix sets the prefix for this FileLogger.
|
||||||
err will always be nil; it's there for interface-compat.
|
err will always be nil; it's there for interface-compat.
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
package logging
|
package logging
|
||||||
|
|
||||||
import (
|
import (
|
||||||
`errors`
|
"errors"
|
||||||
`fmt`
|
"fmt"
|
||||||
`sync`
|
"sync"
|
||||||
|
|
||||||
`r00t2.io/goutils/multierr`
|
"r00t2.io/goutils/multierr"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Setup sets up/configures a MultiLogger (and all its MultiLogger.Loggers) and prepares it for use.
|
// Setup sets up/configures a MultiLogger (and all its MultiLogger.Loggers) and prepares it for use.
|
||||||
@@ -114,6 +114,14 @@ func (m *MultiLogger) DoDebug(d bool) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetDebug returns the debug status of this MultiLogger.
|
||||||
|
func (m *MultiLogger) GetDebug() (d bool) {
|
||||||
|
|
||||||
|
d = m.EnableDebug
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
SetPrefix sets the prefix for this MultiLogger (and all its MultiLogger.Loggers).
|
SetPrefix sets the prefix for this MultiLogger (and all its MultiLogger.Loggers).
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,14 @@ func (l *NullLogger) DoDebug(d bool) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetDebug returns the debug status of this NullLogger. It will always return true. 🙃
|
||||||
|
func (n *NullLogger) GetDebug() (d bool) {
|
||||||
|
|
||||||
|
d = true
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// SetPrefix does nothing at all; it's here for interface compat. 🙃
|
// SetPrefix does nothing at all; it's here for interface compat. 🙃
|
||||||
func (l *NullLogger) SetPrefix(p string) (err error) {
|
func (l *NullLogger) SetPrefix(p string) (err error) {
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -2,10 +2,10 @@ package logging
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
`io`
|
"io"
|
||||||
`log`
|
"log"
|
||||||
`os`
|
"os"
|
||||||
`strings`
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -80,6 +80,14 @@ func (l *StdLogger) DoDebug(d bool) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetDebug returns the debug status of this StdLogger.
|
||||||
|
func (l *StdLogger) GetDebug() (d bool) {
|
||||||
|
|
||||||
|
d = l.EnableDebug
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
SetPrefix sets the prefix for this StdLogger.
|
SetPrefix sets the prefix for this StdLogger.
|
||||||
err will always be nil; it's there for interface-compat.
|
err will always be nil; it's there for interface-compat.
|
||||||
|
|||||||
@@ -52,6 +52,14 @@ func (l *SystemDLogger) DoDebug(d bool) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetDebug returns the debug status of this SystemDLogger.
|
||||||
|
func (l *SystemDLogger) GetDebug() (d bool) {
|
||||||
|
|
||||||
|
d = l.EnableDebug
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
SetPrefix sets the prefix for this SystemDLogger.
|
SetPrefix sets the prefix for this SystemDLogger.
|
||||||
err will always be nil; it's there for interface-compat.
|
err will always be nil; it's there for interface-compat.
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import (
|
|||||||
"log"
|
"log"
|
||||||
"log/syslog"
|
"log/syslog"
|
||||||
|
|
||||||
`r00t2.io/goutils/multierr`
|
"r00t2.io/goutils/multierr"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Setup sets up/configures a SyslogLogger and prepares it for use.
|
// Setup sets up/configures a SyslogLogger and prepares it for use.
|
||||||
@@ -95,6 +95,14 @@ func (l *SyslogLogger) DoDebug(d bool) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetDebug returns the debug status of this SyslogLogger.
|
||||||
|
func (l *SyslogLogger) GetDebug() (d bool) {
|
||||||
|
|
||||||
|
d = l.EnableDebug
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// SetPrefix sets the prefix for this SyslogLogger.
|
// SetPrefix sets the prefix for this SyslogLogger.
|
||||||
func (l *SyslogLogger) SetPrefix(prefix string) (err error) {
|
func (l *SyslogLogger) SetPrefix(prefix string) (err error) {
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,15 @@
|
|||||||
package logging
|
package logging
|
||||||
|
|
||||||
import (
|
import (
|
||||||
`errors`
|
"errors"
|
||||||
`fmt`
|
"fmt"
|
||||||
`os`
|
"os"
|
||||||
`os/exec`
|
"os/exec"
|
||||||
`syscall`
|
"syscall"
|
||||||
|
|
||||||
`golang.org/x/sys/windows/registry`
|
"golang.org/x/sys/windows/registry"
|
||||||
`golang.org/x/sys/windows/svc/eventlog`
|
"golang.org/x/sys/windows/svc/eventlog"
|
||||||
`r00t2.io/sysutils/paths`
|
"r00t2.io/sysutils/paths"
|
||||||
)
|
)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -150,6 +150,14 @@ func (l *WinLogger) DoDebug(d bool) (err error) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetDebug returns the debug status of this WinLogger.
|
||||||
|
func (l *WinLogger) GetDebug() (d bool) {
|
||||||
|
|
||||||
|
d = l.EnableDebug
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
// SetPrefix sets the prefix for this WinLogger.
|
// SetPrefix sets the prefix for this WinLogger.
|
||||||
func (l *WinLogger) SetPrefix(prefix string) (err error) {
|
func (l *WinLogger) SetPrefix(prefix string) (err error) {
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ type Logger interface {
|
|||||||
Notice(s string, v ...interface{}) (err error)
|
Notice(s string, v ...interface{}) (err error)
|
||||||
Warning(s string, v ...interface{}) (err error)
|
Warning(s string, v ...interface{}) (err error)
|
||||||
DoDebug(d bool) (err error)
|
DoDebug(d bool) (err error)
|
||||||
|
GetDebug() (d bool)
|
||||||
SetPrefix(p string) (err error)
|
SetPrefix(p string) (err error)
|
||||||
GetPrefix() (p string, err error)
|
GetPrefix() (p string, err error)
|
||||||
Setup() (err error)
|
Setup() (err error)
|
||||||
|
|||||||
Reference in New Issue
Block a user