FILE / ScuroNeko/SNekLog

doc.go

Исходный файл и его история в репозитории.
FILE dd3c7286d27688e6b17037e94d522b5ca6cce968
Files
SNekLog/doc.go
T
ScuroNeko e6d15b530f
Golang lint / lint (push) Successful in 1m36s
(new): add threshold-based log level filtering and docs
- add threshold-aware LogLevel constructors
- add Logger.SetThresholdMode and SameThreshold
- preserve legacy SameLevel behavior for compatibility
- extend tests for threshold mode and compatibility
- update README and release notes for v2.2.0
2026-04-28 09:45:40 +03:00

54 lines
2.1 KiB
Go

// Package sneklog provides a small structured logger that can write the same
// record to text and JSON outputs.
//
// A Logger can fan out records to stdout, files, or any external io.Writer.
// Text writers can include timestamps and a compact traceback frame. JSON
// writers always emit a structured traceback slice.
//
// CreateLogger uses the following defaults:
// - prefix: "LOG"
// - level: FATAL, which enables info, warn, error, and fatal records
// - pretty JSON: disabled
// - text formatter: DefaultTextFormatter
// - JSON formatter: DefaultJsonFormatter
//
// Call Level(DEBUG) to enable all records, including debug messages.
// AddReplacer can be used to mask or normalize message text before records are
// passed to writers. Call SetFormatter on a writer to customize timestamps,
// traceback fields, colors, and message layout.
//
// The package also provides helper constructors for common severities such as
// NewInfoLogLevel and NewErrorLogLevel, plus predefined HTTP method-specific
// levels such as HTTPGetLevel and HTTPPostLevel. Use LogLevelForMethod to map
// an HTTP method to one of those predefined levels.
//
// Basic usage:
//
// logger := sneklog.CreateLogger().
// Prefix("API").
// Level(sneklog.DEBUG).
// AddReplacer("secret-token", "<redacted>")
//
// text := logger.CreateTextStdoutWriter()
// jsonFile, err := logger.CreateJsonFileWriter("logs/app.json")
// if err != nil {
// panic(err)
// }
//
// logger.AddWriters(text, jsonFile)
// logger.Infoln("service started", "secret-token")
//
// if err := logger.Close(); err != nil {
// panic(err)
// }
//
// Writers created with CreateTextFileWriter or CreateJsonFileWriter are owned by
// the logger and are closed by Logger.Close. Writers created from existing
// io.Writer values through CreateTextWriter or CreateJsonWriter remain owned by
// the caller and are not closed by the logger.
//
// LogLevel values can be compared with SameLevel when only the legacy severity
// index matters, with SameThreshold when only threshold filtering matters, or
// with Equal when the full level configuration must match.
package sneklog