-
Notifications
You must be signed in to change notification settings - Fork 359
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Structured Logging #7
Comments
Consider the following. trait Monitor {
def gosub[F[_]: Monad: Capture: Catchable, A](fa: F[A])(target: Any): F[A]
def call[F[_]: Monad: Capture: Catchable, A](fa: F[A])(method: String, args: Array[Any]): F[A]
} and then primitive combinator case class WithMonitor[A](fa: WoozleIO[A], m: Monitor) extends WoozleOp[A] and syntax prog.withMonitor(m) This will require a second interpreter that handles monitoring, or a default no-op monitor, or an optional one. Fiddly. |
@tpolecat I'm surprised you need a I suppose you don't want to capture effect using |
Right, that's the only reason |
LogHandler should support this already |
Add exception-proof structured logging that can produce usable traces like this. Need to have sliding windows or something to prevent unbounded trace growth. This will require messing with the
Kleisli
interpreters or adding additional ones.The text was updated successfully, but these errors were encountered: