init: 1.0.0
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
package logger
|
||||
|
||||
// A LogConf is a logging config.
|
||||
type LogConf struct {
|
||||
// ServiceName represents the service name.
|
||||
ServiceName string `yaml:"ServiceName" default:"PPanel"`
|
||||
// Mode represents the logging mode, default is `console`.
|
||||
// console: log to console.
|
||||
// file: log to file.
|
||||
// volume: used in k8s, prepend the hostname to the log file name.
|
||||
Mode string `yaml:"Mode" default:"file"`
|
||||
// Encoding represents the encoding type, default is `json`.
|
||||
// json: json encoding.
|
||||
// plain: plain text encoding, typically used in development.
|
||||
Encoding string `yaml:"Encoding" default:"json"`
|
||||
// TimeFormat represents the time format, default is `2006-01-02T15:04:05.000Z07:00`.
|
||||
TimeFormat string `yaml:"TimeFormat" default:"2006-01-02 15:04:05.000"`
|
||||
// Path represents the log file path, default is `logs`.
|
||||
Path string `yaml:"Path" default:"logs"`
|
||||
// Level represents the log level, default is `info`.
|
||||
Level string `yaml:"Level" default:"info"`
|
||||
// MaxContentLength represents the max content bytes, default is no limit.
|
||||
MaxContentLength uint32 `yaml:"MaxContentLength" default:"0"`
|
||||
// Compress represents whether to compress the log file, default is `false`.
|
||||
Compress bool `yaml:"Compress" default:"false"`
|
||||
// Stat represents whether to log statistics, default is `true`.
|
||||
Stat bool `yaml:"Stat" default:"true"`
|
||||
// KeepDays represents how many days the log files will be kept. Default to keep all files.
|
||||
// Only take effect when Mode is `file` or `volume`, both work when Rotation is `daily` or `size`.
|
||||
KeepDays int `yaml:"KeepDays" default:"0"`
|
||||
// StackCooldownMillis represents the cooldown time for stack logging, default is 100ms.
|
||||
StackCooldownMillis int `yaml:"StackCooldownMillis" default:"100"`
|
||||
// MaxBackups represents how many backup log files will be kept. 0 means all files will be kept forever.
|
||||
// Only take effect when RotationRuleType is `size`.
|
||||
// Even though `MaxBackups` sets 0, log files will still be removed
|
||||
// if the `KeepDays` limitation is reached.
|
||||
MaxBackups int `yaml:"MaxBackups" default:"0"`
|
||||
// MaxSize represents how much space the writing log file takes up. 0 means no limit. The unit is `MB`.
|
||||
// Only take effect when RotationRuleType is `size`
|
||||
MaxSize int `yaml:"MaxSize" default:"0"`
|
||||
// Rotation represents the type of log rotation rule. Default is `daily`.
|
||||
// daily: daily rotation.
|
||||
// size: size limited rotation.
|
||||
Rotation string `yaml:"Rotation" default:"daily"`
|
||||
// FileTimeFormat represents the time format for file name, default is `2006-01-02T15:04:05.000Z07:00`.
|
||||
FileTimeFormat string `yaml:"FileTimeFormat" default:"2006-01-02T15:04:05.000Z07:00"`
|
||||
}
|
||||
Reference in New Issue
Block a user