Documentation
¶
Overview ¶
Package gologger provides a simple logging implementation with multiple appenders and formatters. It supports console, file, and HTTP logging with customizable formats.
Package gologger provides a simple logging implementation with multiple appenders and formatters. It supports console, file, and HTTP logging with customizable formats.
Index ¶
- Constants
- func Configure(config LoggersConfig)
- func ReconfigLoggers(config LoggersConfig)
- func RegistAppender(typeName string, appenderCreatCb func(LogAppenderConfig) *LoggerAppender)
- type ConsoleAppender
- type FileAppender
- type LogAppenderConfig
- type LogConfig
- type LogEvent
- type LogFormatter
- type Logger
- type LoggerAppender
- type LoggersConfig
Constants ¶
const ( ErrorTemplate = "\033[1;31m%s\033[0m" WarnTemplate = "\033[1;33m%s\033[0m" InfoTemplate = "\033[1;32m%s\033[0m" DebugTemplate = "\033[1;34m%s\033[0m" TraceTemplate = "\033[1;35m%s\033[0m" )
const ( NoLog = iota Error Warn Info Debug Trace )
Variables ¶
This section is empty.
Functions ¶
func Configure ¶
func Configure(config LoggersConfig)
func ReconfigLoggers ¶ added in v1.0.7
func ReconfigLoggers(config LoggersConfig)
func RegistAppender ¶
func RegistAppender(typeName string, appenderCreatCb func(LogAppenderConfig) *LoggerAppender)
Types ¶
type ConsoleAppender ¶
type ConsoleAppender struct {
// contains filtered or unexported fields
}
ConsoleAppender implements the LoggerAppender interface for console output. It uses color-coded templates for different log levels. Example:
appender := &ConsoleAppender{ formatter: NewSimpleFormatter(), } appender.Append(event) appender.Close()
func (*ConsoleAppender) Append ¶
func (c *ConsoleAppender) Append(logEvent LogEvent)
func (*ConsoleAppender) GetName ¶
func (c *ConsoleAppender) GetName() string
type FileAppender ¶
type FileAppender struct { // 新增滚动相关字段 EnableRolling bool MaxSize int64 // 文件最大大小(字节) MaxAge int64 // 文件最大时间(秒) // contains filtered or unexported fields }
FileAppender implements the LoggerAppender interface for file output. It supports log rotation based on file size and age. Example:
appender := &FileAppender{ formatter: NewSimpleFormatter(), filePath: "app.log", EnableRolling: true, MaxSize: 1024 * 1024 * 10, // 10MB } appender.Append(event) appender.Close()
func (*FileAppender) Append ¶
func (f *FileAppender) Append(logEvent LogEvent)
func (*FileAppender) GetName ¶
func (f *FileAppender) GetName() string
type LogAppenderConfig ¶
type LogFormatter ¶ added in v1.0.6
LogFormatter is a function type that formats a LogEvent into a string. Example:
formatter := func(event LogEvent) string { return fmt.Sprintf("[%s] %s: %v", event.Ts.Format("2006-01-02"), event.Level, event.Data) }
func SelectFormatter ¶ added in v1.0.6
func SelectFormatter(formatter string) LogFormatter
type Logger ¶
type Logger struct {
// contains filtered or unexported fields
}
Logger represents a logger instance for a specific category. It maintains the log level and appenders for that category. Example:
logger := GetLogger("mycategory") logger.Info("This is an info message") logger.Error("This is an error message")
type LoggerAppender ¶
type LoggersConfig ¶
type LoggersConfig struct { Appenders map[string]LogAppenderConfig `json:"appenders"` Categories map[string]LogConfig `json:"categories"` }