lumberjack
lumberjack copied to clipboard
Implemented SyncWriter interface
Implemented SyncWriter
interface.
In some scenarios, we need to use the SyncWriter
interface, such as integrating lumberjack
and go.uber.org/zap
.
@elithrar Please check and merge!!
Please don't ping me. I don't have any relationship to this package.
@piyongcai you can use zapcore.AddSync
to wrap lumberjack.Logger
:
// lumberjack.Logger is already safe for concurrent use, so we don't need to
// lock it.
w := zapcore.AddSync(&lumberjack.Logger{
Filename: "/var/log/myapp/foo.log",
MaxSize: 500, // megabytes
MaxBackups: 3,
MaxAge: 28, // days
})
core := zapcore.NewCore(
zapcore.NewJSONEncoder(zap.NewProductionEncoderConfig()),
w,
zap.InfoLevel,
)
logger := zap.New(core)
logger.Info("Hello, world!")
@liuzengh but zapcore.AddSync
returns a fake SyncWriter, right? It doesn't call file.Sync()