Nurik
Ребят подскажите, утилиту для того чтобы выводил красиво в консоль запросы, причём важно чтобы можно было свой логгер туда передать, чтобы писал и в консоль и в bunyan. Ну и чтобы можно было запросы axios тоже логировать, в одном формате.
Nurik
Есть такой, или писать свой ?
Nurik
@nurik6
Не знаю, я наверное плохо гуглил, но я смог нагуглить только koa-logger, который только на вывод работает и morgan.
👨🏼‍💻
bunyan
👨🏼‍💻
это так, навскидку
Sergey
morgan чем не подошел?
👨🏼‍💻
morgan чем не подошел?
так все логгеры норм. не вижу ни + ни - какого либо
Таймураз
так все логгеры норм. не вижу ни + ни - какого либо
Все логгеры медленные, окромя pino Но его готовить нужно
Nurik
morgan чем не подошел?
Сейчас смотрю как его с bunyan связать.
👨🏼‍💻
Все логгеры медленные, окромя pino Но его готовить нужно
все логгеры делают console.log, че там медленного?
👨🏼‍💻
сomorsiс
console.log - блокирующий
сomorsiс
поэтому логгеры не используют его
Nurik
А morgan может запросы axios тоже выкидывать в консоль ? Или нужно свой адаптер писать ?
Таймураз
поясни
Логгеры приводят логи к определенному формату, которые потом можно скормить в эластик или еще куда, чтобы метрики собирать Также они могут отвечать за ротацию файлов и автоматический сбор информации
Таймураз
Но почти все под капотом используют JSON.{parse/stringify} Пино же юзает конкатенацию строк, что быстрее Сам модуль в среднем, быстрее раз в 6
Таймураз
могут. но вопрос же стоит только в том, что б в консоль выводить красиво запросы.
Если хочешь выводить в консоль- выводи в консоль. Логгеры не нужны для этого
👨🏼‍💻
Если хочешь выводить в консоль- выводи в консоль. Логгеры не нужны для этого
так это не мне. для своих целей я обычно беру винстон и баньян. норм всё работает.
Таймураз
так это не мне. для своих целей я обычно беру винстон и баньян. норм всё работает.
Я не читаю мысли Ты спросил, зачем нужны логгеры, я ответил
👨🏼‍💻
а кому
@nurik6 спрашивал
👨🏼‍💻
Я не читаю мысли Ты спросил, зачем нужны логгеры, я ответил
Тут явно недопонимание.Я говорил в контексте "выводить в консоль запросы". Что касается логгеров я знаю кое-что об этом
Nurik
Nurik
Короче нашел способ лучше чем morgan. (много геморроя) Берем koф-logger и переписываем его так, что он принимал логгер и флаг, для того чтобы axios тоже обрабатывать.
Sergey
сочувствую
Михаил Макарычев
Всем привет. Не могу через mongoose данные получить. Есть функция: async function getAllAuthUsers(db) { return await db.users.find({is_auth: true}); }; Вызываю её в коде: app.post('/foo', async (req, res) => { const data = await getAllAuthUsers(db); console.log('good'); }) И не происходит ничего. В консоль не выводится ни сообщения об ошибке, ни 'good'. Пробовал оборачивать в try/catch, вызывать через then(), делать через callback - ничего. В чём может быть ошибка? При условии, что модули правильно подключены
сomorsiс
запрос к /foo точно происходит?
Михаил Макарычев
запрос к /foo точно происходит?
Да. В логах выводится req.body
Михаил Макарычев
Cenator 🐈
Поэтому я делаю await
Попробуй function getAllAuthUsers(db) { return db.users.find({is_auth: true}); };
сomorsiс
а монга запущена?
Михаил Макарычев
Artem
что возвращает db.users.find?
Михаил Макарычев
Михаил Макарычев
что возвращает db.users.find?
Если не передан callback, то promise
Artem
ты уверен?
Artem
что в db?
Михаил Макарычев
ты уверен?
Хм... Уже не очень. Гуглю
Михаил Макарычев
что в db?
Объект с коллекциями module.exports = { users: mongoose.model('User', users), events: mongoose.model('Event', events) }
Artem
если коллбек использовать, что в аргументах будет?
Михаил Макарычев
если коллбек использовать, что в аргументах будет?
Ну я заменил на такой код: db.users.find({is_auth: true}, (err, users)=> { console.log(' закончил запрос к БД'); }) И всё равно ничего. Ошибка тоже не ловится
Artem
монга как запущена? проверь в ее логах был ли коннект
l3xxxy
Пиу, кто юзает express validator ? Как с инициализировать его с customVakidators , чот выкурить не могу
Есть же либа отдельная в нпм, по моему так и называется валид жиэс, там можельки описываешь а потом чекаешь даные в соответствии с моделями
Михаил Макарычев
монга как запущена? проверь в ее логах был ли коннект
Возможно, поэтому у нас перестали работать некоторые части системы...
Михаил Макарычев
l3xxxy
Или flutures
l3xxxy
Там надо поменять стандартные промисы на блуберд или флутюрс
Artem
зачем?
l3xxxy
Нет. А надо?
Надо если ты хочешь авайт синтаксис юзать
Mykola 🤷🏼‍♀️
лол
сomorsiс
что
Artem
у человека коллбек не вызывается
Mykola 🤷🏼‍♀️
сейчас полетит...
l3xxxy
Нене, если юзаешь без блуберд, тебе надо вместо авайт писать .then
Cenator 🐈
l3xxxy
а если у него новая нода?
Ну раз колбек не вызывается, очевидно, старая
l3xxxy
что за глупости?
Ну ты писал на монгусе на старой ноде без замены его стандартных промисов ??
Mikhail
А причем тут старая нода?
Mikhail
Нативные промайсы:
l3xxxy
А причем тут старая нода?
Щас освобожусь объясню
Михаил Макарычев
Нативные промайсы:
Раз уж всё равно показали код, зачем ставить return в колбеках? Не первый раз такое вижу
сomorsiс
для веток с ошибками хорошее решение, чтобы не писать кучу else
Михаил Макарычев
Щас освобожусь объясню
Восьмая нода, если что
Михаил Макарычев
так зачем return?
Я и спрашиваю, зачем
Artem
и я
Artem
тоже интересно
Михаил Макарычев
тоже интересно
Есть вариант, что так человек как бы показывает, что дальше функция не выполняется
Mikhail
Раз уж всё равно показали код, зачем ставить return в колбеках? Не первый раз такое вижу
Как ранее сказали, это используется для веток с ошибками: где, например, if (err) return false. Так же, при беглом просмотре кода сразу видно, где цепочка останавливается и что-то возвращается. Ретурны ставить вовсе не обязательно, в JS, если нет ретурна, автоматически возвращается undefined
Valeriu
У кого-то есть опыт работы с FeathersJS?
Valeriu
добрый вечер