Documentation
¶
Index ¶
- func JalaaliFormatter(ts time.Time, layout string) string
- func StdFormatter(ts time.Time, layout string) string
- type Level
- 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) 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) SetBufferSize(size uint) *LoggerBuilder
- func (b *LoggerBuilder) SetEnv(dev bool) *LoggerBuilder
- func (b *LoggerBuilder) SetSilent(silent bool) *LoggerBuilder
- func (b *LoggerBuilder) SetSimple(simple bool) *LoggerBuilder
- func (b *LoggerBuilder) StdFormatter() *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)
LogOptions defines a function type for modifying a Log instance.
func WithMessage ¶
func WithMessage(msg string) LogOptions
WithMessage adds a message to a log entry.
type Logger ¶
type Logger interface { // Debug logs a debug-level message (development only). Debug(options ...LogOptions) // Info logs an info-level message. Info(options ...LogOptions) // Warn logs a warning-level message. Warn(options ...LogOptions) // Error logs an error-level message. Error(options ...LogOptions) // Panic logs a panic-level message. Panic(options ...LogOptions) // Sync flushes any buffered log entries. // Call this before exiting to ensure all logs are written. Sync() }
Logger 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 used to configure and create a Logger instance.
func NewLogger ¶
func NewLogger() *LoggerBuilder
NewLogger initializes a LoggerBuilder with default settings.
func (*LoggerBuilder) CustomFormatter ¶
func (b *LoggerBuilder) CustomFormatter(formatter TimeFormatter) *LoggerBuilder
CustomFormatter sets a custom time formatter for the logger. Ignores nil input.
func (*LoggerBuilder) CustomLayout ¶
func (b *LoggerBuilder) CustomLayout(layout string) *LoggerBuilder
CustomLayout sets a custom layout for log file names. Ignores empty input.
func (*LoggerBuilder) Daily ¶
func (b *LoggerBuilder) Daily() *LoggerBuilder
Daily sets the log file layout to daily.
func (*LoggerBuilder) Extension ¶
func (b *LoggerBuilder) Extension(ext string) *LoggerBuilder
Extension sets the extension for log file names. Ignores empty input.
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. Ignores empty input.
func (*LoggerBuilder) Prefix ¶
func (b *LoggerBuilder) Prefix(prefix string) *LoggerBuilder
Prefix sets the prefix for log file names. Ignores empty input.
func (*LoggerBuilder) SetBufferSize ¶
func (b *LoggerBuilder) SetBufferSize(size uint) *LoggerBuilder
SetBufferSize configures the buffer size for the logger's channel.
func (*LoggerBuilder) SetEnv ¶ added in v0.0.3
func (b *LoggerBuilder) SetEnv(dev bool) *LoggerBuilder
SetEnv set development or production mode
func (*LoggerBuilder) SetSilent ¶ added in v0.0.3
func (b *LoggerBuilder) SetSilent(silent bool) *LoggerBuilder
SetSilent set silent mode for logger (no print to console).
func (*LoggerBuilder) SetSimple ¶ added in v0.0.3
func (b *LoggerBuilder) SetSimple(simple bool) *LoggerBuilder
SetSimple set simple formatting for the logger.
func (*LoggerBuilder) StdFormatter ¶
func (b *LoggerBuilder) StdFormatter() *LoggerBuilder
StdFormatter sets the logger to use the standard time formatter.