Logging from Ruby
For Ruby applications, in addition to raw HTTP ingestion, the semlogr gem and its Seq sink can be used to send structured log events efficiently to Seq.
In addition to the excellent support provided by
semlogr
, Seq can accept events from Ruby applications via UDP in the GELF format. This must be explicitly enabled using the instructions in Using GELF. See your preferred logging library's documentation for details of how to configure GELF logging.
Overview
Semlogr and its Seq sink can be installed from RubyGems:
gem install semlogr
gem install semlogr-sinks-seq
The logger configuration supports write_to :seq
:
require 'semlogr'
require 'semlogr/sinks/seq'
Semlogr.logger = Semlogr.create_logger do |c|
c.log_at :info
c.write_to :seq, server_url: 'http://localhost:5341', api_key: 'xxxxxxxx'
end
The server_url
should be the base URL of your Seq installation. An optional api_key
is accepted.
Log events are written using message templates with named parameters:
Semlogr.info('Hello, {name}!', name: 'World')
Semlogr.error('API could not be contacted', error: err)
Events are sent to Seq asynchronously in batches.
More usage samples can be found in the Semlogr repository.
OpenTelemetry Ruby SDK
The OpenTelemetry Ruby SDK can send logs and traces to Seq. See Ingestion with OpenTelemetry and Tracing from OpenTelemetry for more information.
Updated 10 months ago