Documentation
¶
Index ¶
- func JalaaliFormatter(ts time.Time, layout string) string
- func StdFormatter(ts time.Time, layout string) string
- type Level
- type Log
- type LogOptions
- type Logger
- type LoggerBuilder
- func (b *LoggerBuilder) CustomFormatter(formatter TimeFormatter) *LoggerBuilder
- func (b *LoggerBuilder) CustomLayout(layout string) *LoggerBuilder
- func (b *LoggerBuilder) Daily() *LoggerBuilder
- func (b *LoggerBuilder) Development() *LoggerBuilder
- func (b *LoggerBuilder) Extension(ext string) *LoggerBuilder
- func (b *LoggerBuilder) JalaaliFormatter() *LoggerBuilder
- func (b *LoggerBuilder) Logger() (Logger, error)
- func (b *LoggerBuilder) Monthly() *LoggerBuilder
- func (b *LoggerBuilder) Path(root string) *LoggerBuilder
- func (b *LoggerBuilder) Prefix(prefix string) *LoggerBuilder
- func (b *LoggerBuilder) Production() *LoggerBuilder
- func (b *LoggerBuilder) SetBufferSize(size uint) *LoggerBuilder
- func (b *LoggerBuilder) Silent() *LoggerBuilder
- func (b *LoggerBuilder) Simple() *LoggerBuilder
- func (b *LoggerBuilder) StdFormatter() *LoggerBuilder
- func (b *LoggerBuilder) Structured() *LoggerBuilder
- type TimeFormatter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func JalaaliFormatter ¶
JalaaliFormatter jalaali time formatter instance.
Types ¶
type LogOptions ¶
type LogOptions func(*Log)
type Logger ¶
type Logger interface {
// Debug creates a new debug level log entry.
// This method is intended to be used in development environments only.
Debug(options ...LogOptions)
// Info creates a new info level log entry.
Info(options ...LogOptions)
// Warn creates a new warn level log entry.
Warn(options ...LogOptions)
// Error creates a new error level log entry.
Error(options ...LogOptions)
// Panic creates a new panic level log entry.
Panic(options ...LogOptions)
// Sync flushes any buffered log entries.
// It should be called before the application exits to ensure all logs are written.
Sync()
}
Logger is an interface that defines methods for logging at various levels. It supports different modes for production and development environments.
type LoggerBuilder ¶
type LoggerBuilder struct {
// contains filtered or unexported fields
}
LoggerBuilder is a builder for configuring and creating a Logger instance.
func NewLogger ¶
func NewLogger() *LoggerBuilder
NewLogger creates a new LoggerBuilder with default settings.
func (*LoggerBuilder) CustomFormatter ¶
func (b *LoggerBuilder) CustomFormatter(formatter TimeFormatter) *LoggerBuilder
CustomFormatter sets a custom time formatter for the logger. Empty input will be ignored.
func (*LoggerBuilder) CustomLayout ¶
func (b *LoggerBuilder) CustomLayout(layout string) *LoggerBuilder
CustomLayout sets a custom layout for log file names. Empty input will be ignored.
func (*LoggerBuilder) Daily ¶
func (b *LoggerBuilder) Daily() *LoggerBuilder
Daily sets the log file layout to daily.
func (*LoggerBuilder) Development ¶
func (b *LoggerBuilder) Development() *LoggerBuilder
Development sets the logger to development mode.
func (*LoggerBuilder) Extension ¶
func (b *LoggerBuilder) Extension(ext string) *LoggerBuilder
Extension sets the extension for log file names. Empty input will be ignored.
func (*LoggerBuilder) JalaaliFormatter ¶
func (b *LoggerBuilder) JalaaliFormatter() *LoggerBuilder
JalaaliFormatter sets the logger to use the Jalaali time formatter.
func (*LoggerBuilder) Logger ¶
func (b *LoggerBuilder) Logger() (Logger, error)
Logger creates and returns a Logger instance based on the builder's configuration.
func (*LoggerBuilder) Monthly ¶
func (b *LoggerBuilder) Monthly() *LoggerBuilder
Monthly sets the log file layout to monthly.
func (*LoggerBuilder) Path ¶
func (b *LoggerBuilder) Path(root string) *LoggerBuilder
Path sets the root directory for log files. Empty input will be ignored.
func (*LoggerBuilder) Prefix ¶
func (b *LoggerBuilder) Prefix(prefix string) *LoggerBuilder
Prefix sets the prefix for log file names. Empty input will be ignored.
func (*LoggerBuilder) Production ¶
func (b *LoggerBuilder) Production() *LoggerBuilder
Production sets the logger to production mode.
func (*LoggerBuilder) SetBufferSize ¶
func (b *LoggerBuilder) SetBufferSize(size uint) *LoggerBuilder
SetBufferSize sets the buffer size for the logger's queue.
func (*LoggerBuilder) Silent ¶
func (b *LoggerBuilder) Silent() *LoggerBuilder
Silent sets the logger to be silent.
func (*LoggerBuilder) Simple ¶
func (b *LoggerBuilder) Simple() *LoggerBuilder
Simple sets the logger to use a simple format.
func (*LoggerBuilder) StdFormatter ¶
func (b *LoggerBuilder) StdFormatter() *LoggerBuilder
StdFormatter sets the logger to use the standard time formatter.
func (*LoggerBuilder) Structured ¶
func (b *LoggerBuilder) Structured() *LoggerBuilder
Structured sets the logger to use a structured format.