New Upstream Snapshot - golang-github-rifflock-lfshook
Ready changes
Summary
Merged new upstream version: 2.4 (was: 2.2).
Resulting package
Built on 2022-11-10T05:22 (took 10m14s)
The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:
apt install -t fresh-snapshots golang-github-rifflock-lfshook-dev
Lintian Result
Diff
diff --git a/README.md b/README.md
index 21675c6..ece313e 100644
--- a/README.md
+++ b/README.md
@@ -23,7 +23,7 @@ func NewLogger() *logrus.Logger {
logrus.ErrorLevel: "/var/log/error.log",
}
-
+ Log = logrus.New()
Log.Hooks.Add(lfshook.NewHook(
pathMap,
&logrus.JSONFormatter{},
@@ -39,13 +39,13 @@ If no formatter is provided via `lfshook.NewHook`, a default text formatter will
### Log rotation
In order to enable automatic log rotation it's possible to provide an io.Writer instead of the path string of a log file.
-In combination with pakages like [go-file-rotatelogs](https://github.com/lestrrat/go-file-rotatelogs) log rotation can easily be achieved.
+In combination with packages like [file-rotatelogs](https://github.com/lestrrat-go/file-rotatelogs) log rotation can easily be achieved.
```go
package main
import (
- "github.com/lestrrat/go-file-rotatelogs"
+ rotatelogs "github.com/lestrrat-go/file-rotatelogs"
"github.com/rifflock/lfshook"
"github.com/sirupsen/logrus"
)
@@ -58,7 +58,7 @@ func NewLogger() *logrus.Logger {
}
path := "/var/log/go.log"
- writer := rotatelogs.NewRotateLogs(
+ writer := rotatelogs.New(
path+".%Y%m%d%H%M",
rotatelogs.WithLinkName(path),
rotatelogs.WithMaxAge(time.Duration(86400)*time.Second),
diff --git a/debian/changelog b/debian/changelog
index 67f6ca0..92c97ed 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+golang-github-rifflock-lfshook (2.4-1) UNRELEASED; urgency=low
+
+ * New upstream release.
+
+ -- Debian Janitor <janitor@jelmer.uk> Thu, 10 Nov 2022 05:16:40 -0000
+
golang-github-rifflock-lfshook (2.2-1) unstable; urgency=medium
[ Alexandre Viau ]
diff --git a/lfshook.go b/lfshook.go
index 50e4c03..1e8d22a 100644
--- a/lfshook.go
+++ b/lfshook.go
@@ -76,6 +76,8 @@ func NewHook(output interface{}, formatter logrus.Formatter) *LfsHook {
// SetFormatter sets the format that will be used by hook.
// If using text formatter, this method will disable color output to make the log file more readable.
func (hook *LfsHook) SetFormatter(formatter logrus.Formatter) {
+ hook.lock.Lock()
+ defer hook.lock.Unlock()
if formatter == nil {
formatter = defaultFormatter
} else {
@@ -91,12 +93,16 @@ func (hook *LfsHook) SetFormatter(formatter logrus.Formatter) {
// SetDefaultPath sets default path for levels that don't have any defined output path.
func (hook *LfsHook) SetDefaultPath(defaultPath string) {
+ hook.lock.Lock()
+ defer hook.lock.Unlock()
hook.defaultPath = defaultPath
hook.hasDefaultPath = true
}
// SetDefaultWriter sets default writer for levels that don't have any defined writer.
func (hook *LfsHook) SetDefaultWriter(defaultWriter io.Writer) {
+ hook.lock.Lock()
+ defer hook.lock.Unlock()
hook.defaultWriter = defaultWriter
hook.hasDefaultWriter = true
}
@@ -104,6 +110,8 @@ func (hook *LfsHook) SetDefaultWriter(defaultWriter io.Writer) {
// Fire writes the log file to defined path or using the defined writer.
// User who run this function needs write permissions to the file or directory if the file does not yet exist.
func (hook *LfsHook) Fire(entry *logrus.Entry) error {
+ hook.lock.Lock()
+ defer hook.lock.Unlock()
if hook.writers != nil || hook.hasDefaultWriter {
return hook.ioWrite(entry)
} else if hook.paths != nil || hook.hasDefaultPath {
@@ -122,9 +130,6 @@ func (hook *LfsHook) ioWrite(entry *logrus.Entry) error {
ok bool
)
- hook.lock.Lock()
- defer hook.lock.Unlock()
-
if writer, ok = hook.writers[entry.Level]; !ok {
if hook.hasDefaultWriter {
writer = hook.defaultWriter
@@ -154,9 +159,6 @@ func (hook *LfsHook) fileWrite(entry *logrus.Entry) error {
ok bool
)
- hook.lock.Lock()
- defer hook.lock.Unlock()
-
if path, ok = hook.paths[entry.Level]; !ok {
if hook.hasDefaultPath {
path = hook.defaultPath
Debdiff
File lists identical (after any substitutions)
No differences were encountered in the control files