Introduction
Configuration
Language Support
AMQP 0-9-1 Overview
More Exchange Types
More Consumer Features
Queue Deep-dive
Other Features
Reliable Message Delivery
High Availability
Monitoring
Management HTTP API
Tutorials
Networking
LavinMQ CLI
Logging
Logging is a crucial part of system observability, just like monitoring. When developers and operators encounter issues or need to assess the system’s state, inspecting logs becomes essential.
Luckily, LavinMQ offers various logging features to facilitate this process. To begin, let’s look at where LavinMQ sends its log data to.
LavinMQ log outputs
LavinMQ supports two log outputs:
- Standard output(Console)
- Log file
Standard output(console)
By default LavinMQ will send its generated logs to the standard output. No configuration needed for this - it happens out of the box.
Log file
LavinMQ can also be configured to pipe its logs to a file. This can be done by
specifying the path to the log file in the lavinmq.ini
file like so:
log_file=/path/to/log/file
In addition to the supported outputs above, logs can also be viewed/retrieved from LavinMQ in a number of ways:
- Managament interface: You can download the last 1000 lines of logs from the management interface under the Logs tab.
- HTTP API: The HTTP API exposes two logs endpoints:
/:your_server_url/api/logs
for retrieving the last 1000 lines of logs/:your_server_url/api/livelog
an SSE endpoint that streams log data to a client over HTTP in real time
LavinMQ log levels
Log levels provide a means to filter and adjust logging. They have a clear hierarchy, with debug as the lowest severity and critical as the highest.
You can control logging verbosity on different levels by setting log levels for categories and outputs. More verbose log levels include more log messages, with debug being the most detailed and none being the least.
The log levels used by LavinMQ are as follows:
Log level | Verbosity | Severity |
---|---|---|
debug | most verbose | lowest severity |
info | ||
warn | ||
error | ||
fatal | least verbose | highest severity |
The default debug level is info
. However, this is configurable in the
lavinmq.ini
file like so:
log_level=warn
Wrap up
Logging is essential for system observability in LavinMQ. It offers easy access to logs from standard output or log files. The flexibility of log levels aids in effective troubleshooting and optimization.
Ready to take the next steps? Here are some things you should keep in mind:
Managed LavinMQ instance on CloudAMQP
LavinMQ has been built with performance and ease of use in mind - we've benchmarked a throughput of about 1,000,000 messages/sec. You can try LavinMQ without any installation hassle by creating a free instance on CloudAMQP. Signing up is a breeze.
Help and feedback
We welcome your feedback and are eager to address any questions you may have about this piece or using LavinMQ. Join our Slack channel to connect with us directly. You can also find LavinMQ on GitHub.