Alex ZeroDub
подскажите, можно глобально через env vars задать уровень логов для winston ? не прописывая ничего в коде. что-то ничего такого найти не могу.
Vint
подскажите, можно глобально через env vars задать уровень логов для winston ? не прописывая ничего в коде. что-то ничего такого найти не могу.
WINSTON_LOG_LEVEL=info node app.js При инициализации транспорта в winston: level: process.env.WINSTON_LOG_LEVEL || '_дефолтный_'
Alex ZeroDub
это понятно. я думал winston сам читает какую то env переменную
Alex ZeroDub
код менять не хотелось
Alex ZeroDub
видимо придется
Vint
Ну да, код иногда приходится писать, тяжела жизнь разраба.
Aleksei
npm нас испортил. теперь написать одну строку кода это уже вынужденная мера)
Alex ZeroDub
если проект в продакшн на 10 серверах и вот прямо сейчас надо изменить log level не меняя код, а просто подсунуть переменную окружения. и если это не делает winston из коробки это проблема, да
Vladimir
Да какая разница, если все равно перезапускать надо
Alex ZeroDub
проект достался по наследству :) что есть то есть. парни там про 12factor вообще не слышали
Alex ZeroDub
Да какая разница, если все равно перезапускать надо
перезапустить одно, а пересобрать образ другое
Alex ZeroDub
в случае изменения кода
Vladimir
Ну тогда это первая проблема, которую нужно решать
Alex ZeroDub
уже понятно) но вот почему бы winston не читать ту же WINSTON_LOG_LEVEL. возможно повод для пул реквеста
Vladimir
Не должны библиотеки таких веще делать
Vladimir
Так же можно и спросить, почему экспрессу порт нельзя через env передать
Vladimir
Или любой библиотеке что угодно
Vint
Да какая разница, если все равно перезапускать надо
Если об этом заранее думать, то не придётся. Шлём команду на pid процесса, меняем уровень.
Alex ZeroDub
Не должны библиотеки таких веще делать
ну в общем да. тут я согласен
Vladimir
@Vint проще просто добиться того, что можно быстро деплоить и не париться
Alex ZeroDub
ох не всегда) а если там веб-сокеты и стики сессии ? а мы этот контейнер в даун)
Alex ZeroDub
в общем перепиливать там все надо
Vladimir
Надо делать так, чтобы можно было что угодно быстро перезапустить
Vladimir
Если этого нет - то все плохо
Vint
Это более сложный процесс для разработки. Но крайне важный, да. Сегодня log-level, завтра ещё куча всего. Обновления и перезапуски на каждом углу.
Vladimir
Тем более, всегда есть вероятность что любой процесс упадет в любой момент
Alex ZeroDub
ну вот и будет проект что достался по наследству править
Vladimir
Так что важные данные в памяти держать категорически нельзя
Vint
Осталось закказчику обосновать трудозатраты)
Alex ZeroDub
Так что важные данные в памяти держать категорически нельзя
кроме сокетов там нет ничего в памяти. весь стейт в редисе
Vint
Так что важные данные в памяти держать категорически нельзя
Можно. Инстанс-кеш вполне-себе вещь, но при условии, что он самобытен и сам наполняется при релоадах.
Vladimir
Ну и отлично - тогда при перезапуске все в порядке будет
Vladimir
@vintorn ключевое слово - важные
Alex ZeroDub
коннекшн порвуться. но клиент переподключится быстро. но все равно будет заметно
Vladimir
Не должно
Alex ZeroDub
тут такой тонкий проект как бы
Vladimir
Ну то есть, нужно минимизировать, конечно
Vladimir
Потому что перезапускать периодически так и так нужно, ничего не поделаешь
Vint
@vintorn ключевое слово - важные
Ну да) Но тут каждый сам решает. Важными могут быть не только данные, которые требуют persistence, а просто "общие" для нескольких инстансов/серверов. Поэтому иногда и memcached хватает вместо редиса, например.
Alex ZeroDub
честно давно не видел memcached в проде. везде redis и вот сейчас тарантул
Alex ZeroDub
даже вот varnish недавно видел )
Vladimir
хах
Vladimir
Мемкэша гораздо больше чем тарантула
Vint
У меня есть. Но сложилось исторически, на redis надо время выкроить. Относительно задачи смысла никакого вообще, ничего не поменяется.
Vladimir
Просто тарантул пытаются продвигать зачем-то
Aleksei
Просто тарантул пытаются продвигать зачем-то
просто он быстрый. хотя удобством особым не наделен, имхо.
Vladimir
Он очень странный
Vladimir
Может он и хорош мэйлу, но для простых смертных есть более понятные продукты
Vint
Да ладно, может когда и взлетит. Сколько nginx по кулуарам шлялся, а потом выстрелил. А вот mailru'шый zerowait не смог.
Vint
как по мне кадди в разы круче чем nginx
Не слышал, не знаю) Nginx'а пока везде хватает.
Vint
Нашёл. Почитал changelog. Путём nginx'a прут. Детские критические болячки всплывают, пока ещё не было мажорного релиза, и т.д. В общем, имеет право на жизнь, как и любое just another поделие.
Vint
https://caddyserver.com/
См. моё следующее сообщение)
Aleksei
ну мы на проде его юзаем уже месяца 4, пока полет нормальный)
Vladimir
А зачем?
Aleksei
nginx задолбало конфигурить под каждый проект. там конфигурация проще
Vint
nginx задолбало конфигурить под каждый проект. там конфигурация проще
Может и проще, но так много конфигурить надо? А если надо, может инклюды с переменными пользовать как шаблоны? Хоть Сысоев и отговаривает от этого постоянно)
Андрей
Генератор конфига сделать и дело в шляпе )
Андрей
А что нода больше не умеет в вебсервер?
Aleksei
Генератор конфига сделать и дело в шляпе )
или использовать кадди, и настраивать за 10 минут.
hamper 𓅝
А что нода больше не умеет в вебсервер?
нода умеет, но только не несколько серверов на одном порту
Андрей
pm2 же есть
Андрей
Или это не то?
Aleksei
А что нода больше не умеет в вебсервер?
у нас там не только нода, да и ноду все равно стоит проксировать, чтобы масштабировать это все. ну и статика еще и ты ды.
Андрей
Я гдето слышал что Пм2 для масштабирования юзают
hamper 𓅝
pm2 же есть
он может одно приложение в кластерном режиме поднять но не расшарить порт между несколькими
Андрей
А
Андрей
Сорян что влез
Aleksei
а у нас там еще go, пыха и другого всякого добра навалом
Андрей
Кади на года писано
Aleksei
на го, да
Vint
Я гдето слышал что Пм2 для масштабирования юзают
Забудь) pm2 умеет конечно, но прикрывать его nginx или подобным надо обязательно.
Андрей
Слушайте ну выглядит прикольно. А Сысоев не обидится?
Vint
А чего ему обижаться, когда уже nginx начал монетизироваться?
Андрей
Нада ишьюс запилить в репу жинкса. Чтоб он тоже в лёгкие конфиги кади-стайл умел