Rotate
This package implements the gen.LoggerBehavior interface and provides the capability to log messages to a file, with support for log file rotation at a specified interval.
Available options
PeriodSpecifies the rotation period (minimum value:time.Minute)TimeFormatSets the format for the timestamp in log messages. You can choose any existing format (see time package) or define your own. By default, timestamps are in nanosecondsIncludeBehaviorincludes the process behavior in the logIncludeNameincludes the registered process nameShortLevelNameenables shortnames for the log levelsPathdirectory for the log files, default:./logPrefixdefines the log files name prefix (<Path>/<Prefix>.YYYYMMDDHHMi.log[.gz])CompressEnables gzip compression for log filesDepthSpecifies the number of log files in rotation
Example
package main
import (
"time"
"ergo.services/ergo"
"ergo.services/ergo/gen"
"ergo.services/logger/rotate"
)
func main() {
var options gen.NodeOptions
ropt := rotate.Options{Period: time.Minute, Compress: false}
rlog, err := rotate.CreateLogger(ropt)
if err != nil {
panic(err)
}
logger := gen.Logger{
Name: "rotate",
Logger: rlog,
}
options.Log.Loggers = append(options.Log.Loggers, logger)
node, err := ergo.StartNode("demo@localhost", options)
if err != nil {
panic(err)
}
node.Wait()
}Last updated
Was this helpful?