All Projects → logicblocks → Cartus

logicblocks / Cartus

Licence: mit
A structured logging abstraction with multiple backends.

Programming Languages

clojure
4091 projects

Projects that are alternatives of or similar to Cartus

Ios Sdk
AppSpector is a debugging service for mobile apps
Stars: ✭ 56 (+166.67%)
Mutual labels:  logging, logger, logs
Structured Log
A JavaScript implementation of Serilog's hybrid text/structured logging
Stars: ✭ 133 (+533.33%)
Mutual labels:  logging, logger, structured-logging
Serverless Es Logs
A Serverless plugin to transport logs to ElasticSearch
Stars: ✭ 51 (+142.86%)
Mutual labels:  logging, logger, logs
Izumi
Productivity-oriented collection of lightweight fancy stuff for Scala toolchain
Stars: ✭ 423 (+1914.29%)
Mutual labels:  logging, logger, structured-logging
Rz Go
Ripzap - Fast and 0 allocs leveled JSON logger for Go ⚡️. Dependency free.
Stars: ✭ 256 (+1119.05%)
Mutual labels:  logging, logs, structured-logging
Jl
jl — JSON Logs, a development tool for working with structured JSON logging.
Stars: ✭ 194 (+823.81%)
Mutual labels:  logging, logs, structured-logging
React Native Logs
Performance-aware simple logger for React-Native with namespaces, custom levels and custom transports (colored console, file writing, etc.)
Stars: ✭ 84 (+300%)
Mutual labels:  logging, logger, logs
Logbook
An extensible Java library for HTTP request and response logging
Stars: ✭ 822 (+3814.29%)
Mutual labels:  logging, logger, logs
Golog
A high-performant Logging Foundation for Go Applications. X3 faster than the rest leveled loggers.
Stars: ✭ 208 (+890.48%)
Mutual labels:  logging, logger, logs
Timber Elixir
🌲 Great Elixir logging made easy
Stars: ✭ 226 (+976.19%)
Mutual labels:  logging, logger, structured-logging
Pygogo
A Python logging library with superpowers
Stars: ✭ 265 (+1161.9%)
Mutual labels:  logging, logger, structured-logging
Gollum
An n:m message multiplexer written in Go
Stars: ✭ 883 (+4104.76%)
Mutual labels:  logging, logger, logs
Concurrency Logger
Log HTTP requests/responses separately, visualize their concurrency and report logs/errors in context of a request.
Stars: ✭ 400 (+1804.76%)
Mutual labels:  logging, logger
Onelog
Dead simple, super fast, zero allocation and modular logger for Golang
Stars: ✭ 389 (+1752.38%)
Mutual labels:  logging, logger
Quill
Asynchronous Low Latency C++ Logging Library
Stars: ✭ 422 (+1909.52%)
Mutual labels:  logging, logger
Monolog
Requirements
Stars: ✭ 19,361 (+92095.24%)
Mutual labels:  logger, logging
Zerolog
Zero Allocation JSON Logger
Stars: ✭ 5,642 (+26766.67%)
Mutual labels:  logging, structured-logging
Nlog
NLog - Advanced and Structured Logging for Various .NET Platforms
Stars: ✭ 5,296 (+25119.05%)
Mutual labels:  logging, structured-logging
Cabin
🌲 Cabin is the best JavaScript and Node.js logging service and logging npm package
Stars: ✭ 622 (+2861.9%)
Mutual labels:  logging, logs
Hyperlog Android
Utility logger library for storing logs into database and push them to remote server for debugging
Stars: ✭ 647 (+2980.95%)
Mutual labels:  logger, logs

cartus

Clojars Project Clojars Downloads GitHub Contributors

A structured logging abstraction for logging data rich events with support for multiple backends, currently including:

  • a test logger for collecting logs in memory and asserting against them; and
  • a cambium logger for logging out via SLF4J and logback.
  • a null logger that ignores all logged events, useful as a default implementation or to turn off logging completely.

Heavily inspired by JUXT's blog post on logging.

Installation

Add the following to your project.clj file:

[io.logicblocks/cartus.core "0.1.14"]

Depending on which backends you plan to use, add one or more of the following to your project.clj file:

[io.logicblocks/cartus.null "0.1.14"]
[io.logicblocks/cartus.test "0.1.14"]
[io.logicblocks/cartus.cambium "0.1.14"]

The cambium backend requires further configuration. See the Getting Started guide for more details.

Documentation

Usage

(require '[cartus.core :as log])
(require '[cartus.cambium])

(cartus.cambium/initialise)

(def logger (cartus.cambium/logger))

(log/info logger ::usage.demonstrated
  {:feature-coverage "3%" :customer-satisfaction :low})
(let [logger (log/with-context logger
               {:see "getting started guide" :for "more information"})]
  (log/debug logger ::usage.redirecting {:to "API docs"})
  (log/error logger ::usage.irritating
    {:joke "running thin"}
    {:exception (ex-info "Not funny!" {:stick-to "day job"})}))

License

Copyright © 2020 LogicBlocks Maintainers

Distributed under the terms of the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].