Ivan
А чем теперь логи собираются? ELK?
Alexander 🐕
ну вот я тоже тогда же
Alexander 🐕
В 2012-м
Ivan
давыохуели
Vladimir
Я всегда их в файл писал, а потом они сами появлялись
Dan
грейлог не нужен
Anton
разные лог левелы в разные индексы - их и ротировать
Vladimir
Я думаю там феи и магия
Anton
нет?
Ivan
Тогда учите меня правильно работать с логами
Dan
elk?
Ivan
elk?
неД
Ivan
Не зашло
Dan
зря
Ivan
чет мне грейлог показался удобнее
Dan
из спланка, elk и graylog - elk самый адекватный
Anton
примерно тут: http://docs.graylog.org/en/2.4/pages/streams.html#what-are-streams
Anton
ну и для напоминания - graylog данные хранит в elasticsearch все (или многое), что можно делать с es, можно делать и в graylog
Vladimir
@mo1seev главное про логи - если ты пишешь приложение, научи его писать структурированные логи
Vladimir
чтобы избавиться от logstash или кто там парсит человекочитаемые
Vladimir
а про хранение я тебе ничего не скажу, никогда не интересовался этим
Ivan
Я хочу весь дебаг выводить, но хранить его в течении условного часа
Ivan
и задать ему loglevel 1
Ivan
А все нужное делать уровнем выше и хранить дольше
Ivan
Дабы все это деплоилось само и удобненько в поиске потом находилось
Ivan
Я в правильном направлении думаю?
Ivan
Или вы сейчас всю мою идилию разнесете своими бест практикс?
Anonymous
А где нода ищет модули для такой конструкции var readlines = require('n-readlines'); ?
Viktor
n-readlines
Viktor
в node_modules по идее)
Viktor
Это как импорт
Anonymous
Ну да, я понимаю. Вот Питон ищет в системном каталоге и прямо под ногами те модули, которые импортишь.
Anonymous
Хотелось бы понимать где ищет нода.
Alexander 🐯
А где нода ищет модули для такой конструкции var readlines = require('n-readlines'); ?
Сначала ищет, где резолвит вебпак, потом нод модулс проекта, потом глобальный
Anonymous
Про вебпак можно подробнее и про проект?
Alexander 🐯
В папке с проектом есть node_modules?
Alexander 🐯
Про вебпак можно подробнее и про проект?
Я не знаю что у вас, но скорее всего фронт собирается вебпаком. У ноды есть глобальное хранилище (по дефолту там только нпм). Спуллил проект, установил зависимости и во время сборки вебпак будет искать где расположены импортны. Начнет хардлинков, если есть в конфигурации (резолвит), далее в папке project/node_modules, далее ../node_modules и тд, а потом уже в глобальном спейсе. Как-то так
Dmitry
@mo1seev главное про логи - если ты пишешь приложение, научи его писать структурированные логи
Кстати, с этим подходом можно переборщить. когда мы пишем json, и туда вкрадывается непереваривыемые данные
Dmitry
Я хочу весь дебаг выводить, но хранить его в течении условного часа
можно в разные индексы пихать и делать retention оотдельный
Anonymous
Поставь его
Дык он стоит. Вопрос в том, почему он не находится.
Alexander 🐯
А где нода ищет модули для такой конструкции var readlines = require('n-readlines'); ?
Допиши в путь node_modules. Ради интереса. Относительно файла. И там точно есть этот модуль?
Anonymous
Допиши в путь node_modules. Ради интереса. Относительно файла. И там точно есть этот модуль?
Да, у меня гульп запускается из каталога с модулями node node_modules/.bin/gulp test -u —test ИмяТеста
Alexander 🐯
Утром гляну
Dmitry
Например?
Я как то подбирал json. Народ был счастлив. Но потом стали пихать вообще все что не попадя. В частности body всего запроса. Короче потом пошли косяки с подполями с невалилными символами типа точек, смена типов данных (типа “result”: true, “result”: { “a”: b} итд. Пришлось ограничить поля для десериализации. Невалидные они по мнению ES
Vladimir
Хорошо работает описать логи в протобуфе
Vladimir
И строить структуру
Vladimir
А потом уже серилизовать
Dmitry
Это вопрос ещё в сторону типизации логов
Но тогда сохранение должно идти в разные поля все равно.
Dmitry
Т.к. Смена типа в меппинге как раз то что не предусматривает эластик
Vladimir
В любом языке
Vladimir
Толи бул, Толи строка, Толи флоат
Vladimir
Зашибись
Vladimir
Но тогда сохранение должно идти в разные поля все равно.
Я поэтому и предлагаю описать поля с типами и заставить серелизатор всегда приводить к нужному
Dmitry
За mixed тип в полях json надо бить
А как предусмотреть данные из пост запроса?
Dmitry
Мое решение не парсить все подряд
Dmitry
Ну. Допустим мы дампим весь объект в лог в нормальный json. Там и результат и заголовки и ещё много чего, включая post body
Dmitry
Имеется в виду api приложение, к примеру
Dmitry
Так вот. Как юзер api я могу послать любые данные и они залогируются
Dmitry
Ну вот да. Но в этом и скользкий момент, оно часть основного лога. Относительно недавно наткнулся.
Denis 災 nobody
закиньте в пхп чатик..
Tadeusz
Стрекозел объявился)
Denis 災 nobody
А
Denis 災 nobody
Я читаю, когда есть время..
aborche
отцы а ни у кого нету посвежее скриптов ansible для генерации через ansible кластера pgpool-II ? а вдруг ? в сети что-то грусть какая-то 3-5 летней давности
Anonymous
А самому?