Как стать автором
Обновить

Комментарии 5

Дважды бы плюсанул, честное слово.
Сам хотел перевести не так давно, опередили!
Да, кстати. Для журналирования в ноде настоятельно рекомендуется joylent логгер bunyan — он как раз по умолчанию пишет прямо JSON-ом в stdout, который уже как раз можно пайпить куда надо.

Про одноразовость (disposability) — тут немножко более интересный момент, который в оригинальной статье не очень хорошо объяснен, и может быть не понятен не очень продвинутым разработчикам.
Перевод не очень точен, более верно — «утилизируемость», как есть, это гораздо более точно дает понимание происходящего: процесс действительно может быть перезапущен в любой момент времени и при этом не потеряет никаких данных. В это вкладываются два понятия: атомарность операций (процесс не умирает до завершения или отката операции) и отсутствие состояния — все хранится в БД или очереди сообщений, а процессы просто разворачиваются на имеющихся данных и работают в них. Это все делает приложение практически непотопляемым — максимум полежит немножко и дальше пойдет.
Для ноды в своё время пришлось написать свой небольшой логгер, вот предыстория toster.ru/q/38217, вот сам модуль www.npmjs.com/package/mag

«утилизируемость» — думаю лучший перевод. Мне не понравился «удаляемось», поэтому пришлось использовать «одноразовость».
Хотел было написать чем вам не угодил Winston, но прочитав тред на тостере вопрос отпал. Тем не менее, Jabher, не bunyan'ом единым, мне вот очень нравится winston. Хотя бы тем что у него миллион транспортов. Поэтому лучше отправлять к детальному сравнению, в котором каждый может определить что ему подходит больше.
Винстон плох тем, что смешивает собственно логгинг и вывод (читай, транспорты винстона). Пока ты делаешь приложение на ноде — да, винстон это круто, удобно, чувствуешь себя хипстером. Когда приходишь в более-менее серьезный проект (а я последний год кручусь в той или иной степени в энтерпрайз-левел проектах) — там стек из джавы, сей, руби и нода там появилась порой по очень странным причинам. И крутится все это на двадцати энвайроментах с разной степенью ограничений безопасности. И все логи сыпятся в какой-нибудь elasticsearch или splunk, из них всех надо вытаскивать данные… И заморачиваться с транспортами под каждый энв в условиях такого зоопарка — гемморой. Проще переложить эту работу на админов и следовать соглашению — приложение пишет в STDOUT, а окружение дальше само занимается вопросом логов.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории