DEV Community

Henrik Feldt
Henrik Feldt

Posted on

Logary Rutta intro

Logary is coming up for its v5 release, so I figured now would be a good time to post my first blog entry at

The last weeks I've been doing a lot of work on Rutta, Logary's log router, in order to make it easier to work with and more reliable. Logary is the core library and Rutta is a normal program/service that you can run in a docker container, and send logs to.

The lifecycle of the library is this:

  • Create a new Logary instance and configure it with where you want to send logs (Targets)
  • Get a Logger from the instance and log Messages to it

The lifecycle of Rutta is this:

  • Choose its mode:

    • Router for ingesting data and sending it to a target
    • Shipper for sending to a Rutta Router or a Rutta Proxy
    • Proxy to bridge subnets and forward logs
  • If router, you can now choose what it listens to and where to it sends:

    • Provide a number of "listeners", consisting of:
      • A transport (TCP, UDP, HTTP)
      • A binding (e.g. [::]:8080)
      • A codec (JSON, plain, binary, log4jxml, etc)
    • Provide a provide a number of "targets", in URI format, to send to, e.g.:
      • stackdriver://./?projectId=my-gcp-project
      • console://./

That's it; you can try it yourself with docker run --rm -it haaf/rutta:5.0.0-rc.2.211cd352 — or use its Helm chart

Happy logging!

Discussion (0)