Size: a a a

Scala User Group

2020 May 25

λ

λoλdog in Scala User Group
мне кажется, что для стукрутированных логов всеж лучше json юзать
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Осталось только дать функцию, которая будет в стрингбуффер забрасывать
источник

AS

Aλeχander Semenov in Scala User Group
да, наверное JSON разумнее, а то пробел или запятая в значении появится, и уже ерунда
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Ну у нас был тоже плоский логгер для спланка
источник

AS

Aλeχander Semenov in Scala User Group
implicit val userLoggable = new DictLoggable[User] {
 override def fields[I, V, R, S](a: User, i: I)(implicit r: LogRenderer[I, V, R, S]): R = {
   r.addString("name", a.name, i) |+| r.addString("surname", a.surname, i)
 }

 override def logShow(a: User): String = s"name = ${a.name}, surname = ${a.surname}"
}


А есть более удобный апи для этого? Ну допустим у меня все поля case class-а имеют Loggable, и я хочу их просто скомпозить.
источник

λ

λoλdog in Scala User Group
@derive loggable удобнее)
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Aλeχander Semenov
implicit val userLoggable = new DictLoggable[User] {
 override def fields[I, V, R, S](a: User, i: I)(implicit r: LogRenderer[I, V, R, S]): R = {
   r.addString("name", a.name, i) |+| r.addString("surname", a.surname, i)
 }

 override def logShow(a: User): String = s"name = ${a.name}, surname = ${a.surname}"
}


А есть более удобный апи для этого? Ну допустим у меня все поля case class-а имеют Loggable, и я хочу их просто скомпозить.
Loggable.show[User] + Loggable[String].contramap(_.name).named("user")  + Loggable[String].contramap(_.surname).named("surname")
источник

𝛈µ

𝛈 µ in Scala User Group
Oleg ℕizhnik
Loggable.show[User] + Loggable[String].contramap(_.name).named("user")  + Loggable[String].contramap(_.surname).named("surname")
а мог бы и макросом имена доставать, фу
источник

Oℕ

Oleg ℕizhnik in Scala User Group
𝛈 µ
а мог бы и макросом имена доставать, фу
я достаю
источник

Oℕ

Oleg ℕizhnik in Scala User Group
он не хочет
источник

Oℕ

Oleg ℕizhnik in Scala User Group
и аннотацию предложил
источник

Oℕ

Oleg ℕizhnik in Scala User Group
и вызов
источник

𝛈µ

𝛈 µ in Scala User Group
Странные люди хотят непонятного
источник

𝛈µ

𝛈 µ in Scala User Group
Как обычно
источник

𝛈µ

𝛈 µ in Scala User Group
Ясно
источник

Oℕ

Oleg ℕizhnik in Scala User Group
источник

AS

Aλeχander Semenov in Scala User Group
ну derive все филды же заиспользует? Поди там аанотации надо ходить расставлять в моделях, чтобы не логировать прям все
источник

Oℕ

Oleg ℕizhnik in Scala User Group
Aλeχander Semenov
ну derive все филды же заиспользует? Поди там аанотации надо ходить расставлять в моделях, чтобы не логировать прям все
да
источник

Oℕ

Oleg ℕizhnik in Scala User Group
всё верно
источник

Oℕ

Oleg ℕizhnik in Scala User Group
источник