Build Status |
---|
Julia client for the Grafana Loki log aggregation system.
If you are not familiar with the logging system in Julia I strongly recommend reading the
documentation for the Logging
stdlib, and the
documentation for the LoggingExtras
package.
LokiLogger
provides a logging sink, i.e. an end of the logging chain, that pushes the log
events to a Loki server. The only required argument is the Loki logger server URL. It is
possible to configure the logger stream labels (see
Loki documentation about labels), and the formatting of the log messages.
Refer to the docstring for LokiLogger.Logger
for more details.
LokiLogger
composes nicely with other loggers, in particular
with the various loggers from LoggingExtras
as seen in the examples below.
Basic logger with Loki server on localhost
:
using LokiLogger
logger = LokiLogger.Logger("http://localhost:3100")
Logger with custom labels and JSON formatting:
using LokiLogger
logger = LokiLogger.Logger(LokiLogger.json, "http://localhost:3100";
labels=Dict("datacenter" => "eu-north", "app" => "my-app"))
Composing with LoggingExtras
:
using LokiLogger, LoggingExtras
# Create a logger that passes messages to a Loki server running on localhost
logger = TeeLogger(
global_logger(),
LokiLogger.Logger("http://localhost:3100"),
)
Install the package using the package manager (]
to enter pkg>
mode):
(v1) pkg> add LokiLogger