Логирование

91 views
Skip to first unread message

forwo...@gmail.com

unread,
Dec 2, 2017, 5:17:25 PM12/2/17
to Golang Russian
Разбираюсь сейчас с темой логгирования и встал вопрос как сделать вывод об ошибке и в консоль и в файл. На сколько я понял из примера https://gist.github.com/yongzhy/9045121 нужно самому делать тип реализующий io.Writer который будет уметь писать в 2 места сразу.
Я правильно понял или есть более простое решение? В питоне просто это решается стандартными средствами, простой настройкой.

Daniel Podolsky

unread,
Dec 2, 2017, 5:59:35 PM12/2/17
to gola...@googlegroups.com
давайте сначала поймем - зачем это вам?

2017-12-03 1:17 GMT+03:00 <forwo...@gmail.com>:
Разбираюсь сейчас с темой логгирования и встал вопрос как сделать вывод об ошибке и в консоль и в файл. На сколько я понял из примера https://gist.github.com/yongzhy/9045121 нужно самому делать тип реализующий io.Writer который будет уметь писать в 2 места сразу.
Я правильно понял или есть более простое решение? В питоне просто это решается стандартными средствами, простой настройкой.

--
Вы получили это сообщение, поскольку подписаны на группу "Golang Russian".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес golang-ru+unsubscribe@googlegroups.com.
Чтобы настроить другие параметры, перейдите по ссылке https://groups.google.com/d/optout.

forwo...@gmail.com

unread,
Dec 4, 2017, 11:50:28 AM12/4/17
to Golang Russian
Чтобы можно было отслеживать ошибки и при фоновом запуске приложения и при отладке.
Вообще это стандартный кейс, который реализуется стандартной библиотекой многих языков (как пример java, python). По этому я не понимаю столь скептической реакции на данный вопрос.

Alex Lurye

unread,
Dec 4, 2017, 1:20:27 PM12/4/17
to gola...@googlegroups.com
Современный подход к разработке приложений (https://12factor.net/logs) подразумевает, что функциональность между компонентами системы должна чётко разделяться. Приложение пишет в stdout/stderr, а дальше уже это задача инфраструктуры сохранять логи в файлы, базы данных, собирать их, хранить, агрегировать, показывать и т.д.

On Mon, Dec 4, 2017 at 8:50 AM <forwo...@gmail.com> wrote:
Чтобы можно было отслеживать ошибки и при фоновом запуске приложения и при отладке.
Вообще это стандартный кейс, который реализуется стандартной библиотекой многих языков (как пример java, python). По этому я не понимаю столь скептической реакции на данный вопрос.

--
Вы получили это сообщение, поскольку подписаны на группу "Golang Russian".
Чтобы отменить подписку на эту группу и больше не получать от нее сообщения, отправьте письмо на электронный адрес golang-ru+...@googlegroups.com.

Vladimir Skipor

unread,
Dec 7, 2017, 8:47:50 AM12/7/17
to Golang Russian
Плюсик к тому, чтобы писать логи только в какой-то стрим. 

Но если сильно хочется, есть io.MultiWriter, который как раз превращает несколько io.Writer в один.

В любом случае, рекомендую использовать нормальный логгер (zap, например), а не стандартный.


Gerasim

unread,
Dec 7, 2017, 9:14:19 AM12/7/17
to Golang Russian
гляньте https://github.com/regorov/logwriter

суббота, 2 декабря 2017 г., 23:17:25 UTC+1 пользователь forwo...@gmail.com написал:
Reply all
Reply to author
Forward
0 new messages