- add custom LogLevel constructors and richer color configuration - support ANSI, 256-color, RGB, and text attributes on LogLevel - introduce clearer preferred APIs such as NewLogger and SetName - preserve backward compatibility with deprecated wrappers for v2.0.1 APIs - restore legacy ColorStringBuilder signatures as compatibility wrappers - fix newline separator handling in Println-style output - add tests for color precedence, deprecated aliases, and LogLevel attributes - update GoDoc and bilingual README documentation
This commit is contained in:
+22
-4
@@ -32,9 +32,9 @@ import (
|
||||
)
|
||||
|
||||
func main() {
|
||||
logger := sneklog.CreateLogger().
|
||||
Prefix("API").
|
||||
Level(sneklog.DEBUG).
|
||||
logger := sneklog.NewLogger().
|
||||
SetName("API").
|
||||
SetLevel(sneklog.DEBUG).
|
||||
AddReplacer("SOME_SECRET", "<redacted>")
|
||||
|
||||
text := logger.CreateTextStdoutWriter()
|
||||
@@ -59,7 +59,7 @@ func main() {
|
||||
|
||||
## Значения по умолчанию
|
||||
|
||||
`CreateLogger()` создает логгер со следующими настройками:
|
||||
`NewLogger()` создает логгер со следующими настройками:
|
||||
|
||||
- `Prefix("LOG")`
|
||||
- `Level(sneklog.FATAL)`
|
||||
@@ -67,6 +67,8 @@ func main() {
|
||||
- текстовый formatter: `sneklog.DefaultTextFormatter`
|
||||
- JSON formatter: `sneklog.DefaultJsonFormatter`
|
||||
|
||||
`CreateLogger()` по-прежнему доступен для обратной совместимости.
|
||||
|
||||
Важно: в текущей модели уровней `Level(sneklog.FATAL)` пропускает `INFO`, `WARN`, `ERROR` и `FATAL`, но не `DEBUG`. Чтобы включить все сообщения, используйте `Level(sneklog.DEBUG)`.
|
||||
|
||||
## Writer'ы и владение
|
||||
@@ -117,6 +119,22 @@ JSON writer записывает объект со следующими поля
|
||||
|
||||
Если включен `JsonPretty(true)`, JSON выводится с отступами.
|
||||
|
||||
## Кастомные уровни и цвета
|
||||
|
||||
Можно создавать собственные уровни и назначать им ANSI, 256-color или RGB-цвета, а также текстовые атрибуты вроде `Bold` и `Italic`.
|
||||
|
||||
```go
|
||||
httpDelete := sneklog.NewLogLevel(0, "delete")
|
||||
httpDelete.SetBackgroundRGB(128, 0, 0)
|
||||
httpDelete.AddAttribute(sneklog.Italic).AddAttribute(sneklog.Bold)
|
||||
|
||||
httpCache := sneklog.NewLogLevel(0, "cache")
|
||||
httpCache.SetForeground256Color(214)
|
||||
```
|
||||
|
||||
Так как setter'ы `LogLevel` изменяют уровень на месте, их нужно вызывать на переменной, а не на временном результате `NewLogLevel(...)`.
|
||||
Короткие формы вроде `SetFgColor` и `SetBgColor` сохранены для обратной совместимости.
|
||||
|
||||
## Замена сообщений
|
||||
|
||||
`AddReplacer(old, new)` заменяет найденный текст в каждом сообщении до того,
|
||||
|
||||
Reference in New Issue
Block a user