Как настроить формат журнала при использовании zap? - PullRequest
0 голосов
/ 11 сентября 2018

В настоящее время формат журнала нашего проекта выглядит следующим образом:

www.abcdef.com`3`1s

Я хочу использовать Go, чтобы переписать проект и импортировать zap в качестве инструмента журнала.Формат журнала zap выглядит следующим образом:

{"url": "www.abcdef.com", "attempt": 3, "backoff": "1s"}

Я использую его в Google, но не могу найти способ изменить формат zap на вышеупомянутый, поэтому хочу обратиться за советом к этому.

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Зап позволяет настроить кодировщики . В связанной статье автор устанавливает поле EncodeLevel из EncoderConfig для пользовательской функции. Таким образом, вы можете изменить кодировку уровня ведения журнала, отметки времени, продолжительности, имени вызывающего абонента и регистратора.

Вы также можете использовать zap.RegisterEncoder , чтобы добавить свой кодировщик, а затем установить поле Encoding в config на имя вашего кодировщика.

Имейте в виду, что кодер используется при каждом вызове методов ведения журнала, поэтому он должен иметь хорошую производительность.

0 голосов
/ 13 сентября 2018

набор EncoderConfig

cfg := zapcore.EncoderConfig{ TimeKey: "", LevelKey: "", NameKey: "", CallerKey: "", MessageKey: "M", StacktraceKey: "" }

...