Denis
опалай какой-то сложный и генерит нечитаемые запросы
Leonid 🦇
@qnikst чо у вас в твиаге с постгресом?
кана
опалай это где профунктор продукт туда, профунктор продукт сюда, весь код в профункторах и где там вообще скл?
Alexander
а что где?
Alexander
опалай не юзаем вроде
Alexander
вообще разброд и шатание
Leonid 🦇
Что про Волкова в проде скажешь?
Denis
не юзал, хз
Leonid 🦇
еще selda какая-то
Denis
сельдь
Leonid 🦇
хм. ладно. взять что-ли тупо postgresql-simple?
Denis
postgresql-query тогда уж
Leonid 🦇
и еще squal какой-то
Denis
брат жив, мейнтейнер в этом чате есть
Denis
(есличо)
Leonid 🦇
мне в нём что-то не понравилось тогда
Denis
там надо знать куда не смотреть, чтобы так не казалось
Зигохистоморфный
о) https://hackage.haskell.org/package/streaming-postgresql-simple стриминг
Denis
по-моему это не на том уровне стриминг, где хотелось бы
Leonid 🦇
ах да, monadlogger меня взбесил
Denis
почему, кстати?
Denis
monadblogger
Denis
незанятое имя для блога
Leonid 🦇
мне кажется не к месту он в кверях
Denis
потому что не хочешь запросы логировать или с точки зрения интерфейса?
Leonid 🦇
да
Denis
что да?
Denis
выбери одно 🙂
Leonid 🦇
не хочу и вообще monadlogger это дурь. Логгировать надо структурно!
Leonid 🦇
как катип
Denis
а мы кстати на него переползли
Denis
@s9gf4ult c postgresql-query чего-то делали на эту тему?
Leonid 🦇
и вообще MonadBAseControl в наше время не модно
Aleksey
а о чем тут тлдр?
Aleksey
а, понял
Denis
Да вот говорят что postgresql-query логирует не так структурно как в katip. Интересуюсь чего-то с этим делали при переползании или нет недавно.
Aleksey
ну короче MonadLogger - это просто интерфейс, ты можешь его как угодно реализовать, мы вот вполне стркуткрно через катип логируем из кода, использующего MonadLogger
Aleksey
Просто даешь нужный инстанс MonadLogger твоей монаде и все
Denis
ну это да
Denis
я так понимаю сейчас в pgq просто катиповый логгер засовывается
Aleksey
к тому же, а как предполагается просунуть "структурность" внутрь pgq?
Leonid 🦇
Лишь бы мне лишней работы подбросить! :(
Aleksey
а было бы лучше, если бы использовался захардкоженный единственный метод структурного логирования?
Aleksey
или усложненный интерфейс для pgQuery ?
Aleksey
MonadLogger - очень простой интерфейс, который должен реализовать пользователь, если хочет что-то особенное.
Leonid 🦇
я вообще не знаю зачем вы там логгируете, косячные запросы и постгрес сам логгирует
Aleksey
для отладки
Denis
для отладки в основном
Aleksey
очень трудно сопоставлять логи базы и логи приложения и угадывать где какой запрос происходил
Leonid 🦇
видать я со своим edsl и не знавал чо там отлаживать
Denis
ну вообще я даже не помню когда в последний раз я этим занимался
Aleksey
когда приложение сложнее хелуворда - есть что отлаживать
Aleksey
я гарантирую это
Leonid 🦇
Гарантирую что обходится без лога запросов на стороне приложения
Denis
если не надо логировать - можно ему дать нелогирующий логгер
Aleksey
runNoLoggingT
Denis
а что ты в логе постгреса то смотреть будешь? Запрос корректный, а код делает что-то не то.
Leonid 🦇
Leonid 🦇
Aleksey
ну вот тебе не нужно логирование, ты просто берешь и runNoLoggingT и pgq не логирует, а мне вот нужно логирование, и что мне делать если pgq его не делает?
Denis
меня вообще бесит, когда библиотека что-то принтит
Denis
я её не просил и мне скорее всего не надо принтить туда, куда она это делает
Aleksey
Leonid 🦇
так не в библиотеке же принтить
Leonid 🦇
Ой, а то вы не принтами дебажите?
Leonid 🦇
Может еще gdb и DWARF пользуетесь?
Aleksey
нет, логами с северити Debug
Leonid 🦇
Ну вот!
Aleksey
Aleksey
в основном в логи отладочную инфу валим
Aleksey
потому что в логах записи изза буферизации не ломаются например
Leonid 🦇
Aleksey
и вообще в логах это удобно, потому что тебе надо знать, что происходило при обработки запроса 123412341234, от начала до конца
Denis
с tracy можно спец-трейсы делать, чтобы отдельно можно врубать всякие DEBUG_FOO=TRUE и DEBUG_BAR=TRUE
Aleksey
и это не всегда на твоей машине проиходит, иногда бывает что баг на проде
Leonid 🦇
ОПЕНТРЕЙСИНГ