Здесь есть две концепции, в Winston 3.
A format просто выполняет некоторые преобразования объекта, который вы регистрируете.
A transport - это "канал", который определяет способ взять ваш объект журнала и отправить его куда-нибудь.
В мире Уинстон-2 эти два понятия часто объединялись; например, модуль winston-logstash
был транспортным, но также неявно отформатированным объектами способом, приемлемым для Logstash. В Winston 2 или 3 нет ничего, что ограничивало бы возможности с точки зрения транспорта или форматов, поэтому Winston 3 не является «отсутствующей поддержкой» для Logstash.
Однако Winston 3 внес некоторые изменения в транспортный API (а также, как уже упоминалось, в отдельные форматы - хотя транспорт может по-прежнему выполнять форматирование). Вот почему вы видите предупреждения о том, что winston-logstash
является устаревшим транспортом: авторы winston-logstash
не обновили свой модуль для использования новых интерфейсов в стиле Winston 3. В проекте Winston есть thread с некоторой полезной информацией для авторов транспорта по обновлению их транспортов.
Таким образом, вы можете написать авторам сообщение об ошибке, чтобы обновить их транспорт, обновить / обернуть его самостоятельно (см. Связанный поток) или - я думаю, что предупреждение legacy
- это просто предупреждение, поэтому оно все равно должно работать с Winston 3.
На самом деле, я думаю, что уже открыт PR , чтобы сделать winston-logstash
3.x совместимым, хотя сопровождающий репозитария, кажется, призрачный; Я полагаю, вы могли бы попробовать использовать PR-ветку / форк. Вы также можете попробовать winston-logstash-transport , который, кажется, достигает тех же целей, но, похоже, предназначен для 3.x. Не стесняйтесь комментировать, что работает лучше всего.