gelf_logger alternatives and similar packages
Based on the "Logging" category.
Alternatively, view gelf_logger alternatives based on common mentions on social networks and blogs.
-
timber
Structured logging platform; turns raw text logs into rich structured events. -
logster
Easily parsable single line, plain text and JSON logger for Plug and Phoenix applications -
logger_logstash_backend
Logstash backend for the Elixir Logger -
bunyan
The all-plugins-included package of the Bunyan distributed and pluggable logging system. -
metrix
Elixir library to log custom application metrics, in a well-structured, human and machine readable format, for use by downstream log processing systems (Librato, Reimann, etc...) -
lager_logger
A lager backend that forwards all log messages to Elixir's Logger -
slack_logger_backend
An Elixir logger backend for posting errors to Slack. -
mstore
MStore is a experimental metric store build in erlang, the primary functions are open, new, get and put. -
youtrack_logger_backend
Adding youtrack as a logger backend to your elixir application. -
quiet_logger
A simple plug to suppress health check logging (e.g.: when using Kubernetes).
Static code analysis for 29 languages.
Do you think we are missing an alternative of gelf_logger or a related project?
README
GelfLogger 
A logger backend that will generate Graylog Extended Log Format messages. The current version only supports UDP messages.
Configuration
In the config.exs, add gelf_logger as a backend like this:
config :logger,
backends: [:console, {Logger.Backends.Gelf, :gelf_logger}]
In addition, you'll need to pass in some configuration items to the backend itself:
config :logger, :gelf_logger,
host: "127.0.0.1",
port: 12201,
format: "$message",
application: "myapp",
compression: :gzip, # Defaults to :gzip, also accepts :zlib or :raw
metadata: [:request_id, :function, :module, :file, :line],
hostname: "hostname-override",
format: {Module, :function} # or format: "[$level] $message"
tags: [
list: "of",
extra: "tags"
]
In addition to the backend configuration, you might want to check the
Logger configuration for other
options that might be important for your particular environment. In
particular, modifying the :utc_log
setting might be necessary
depending on your server configuration.
This backend supports metadata: :all
.
Usage
Just use Logger as normal.
Improvements
- [x] Tests
- [ ] TCP Support
- [x] Options for compression (none, zlib)
- [x] Send timestamp instead of relying on the Graylog server to set it
- [x] Find a better way of pulling the hostname
And probably many more. This is only out here because it might be useful to someone in its current state. Pull requests are always welcome.
Notes
Credit where credit is due, this would not exist without protofy/erl_graylog_sender.
Looking for maintainers if anyone would like to help!