{"repo":"JuliaLogging/LoggingExtras.jl","free":true,"listed":false,"github":"https://github.com/JuliaLogging/LoggingExtras.jl","clone":"git clone https://github.com/JuliaLogging/LoggingExtras.jl.git","description":"Composable Loggers for the Julia Logging StdLib","language":"Julia","stars":155,"topics":["julia","logging"],"license":null,"category":"analytics","readme_excerpt":"LoggingExtras Discussion: Compositional Loggers LoggingExtras allows routing logged information to different places when constructing complicated \"log plumbing\" systems. Built upon the concept of simple parts composed together, subtyping AbstractLogger provides a powerful and flexible definition for your logging system without a need to define any custom loggers. When we talk about composability, the composition of any set of Loggers is itself a Logger, and LoggingExtras is a composable logging system. Loggers break down into four types: - Sinks : Sinks are the endpoint of a log message journey. They write it to file or display it on the console or set off a red flashing light in the laboratory. A Sink should never decide what to accept, only what to do with it. - Filters : Filters wrap around other loggers and decide whether or not to pass on a message. When that decision occurs, they can be further broken down (See ActiveFilteredLogger vs EarlyFilteredLogger ). - Transformers : Transformers modify the content of log messages before passing them on, including metadata, such as severity level. Unlike Filters, they can't block a log message, but they could drop its level down to say Debug so that usually no one would see it. - Tee : There is only one possible TeeLogger, and it is central to log routing. It acts as a hub that receives one log message and then sends copies to all its child loggers. Like in the diagram above, it can be composed with Filters to control what goes w","default_branch":null,"files":null,"tree":[],"storefront":"/r/JuliaLogging","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/JuliaLogging/LoggingExtras.jl/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}