mirror of
https://github.com/meineerde/rackstash.git
synced 2026-01-31 17:27:13 +00:00
Do not prefix an empty messages with tags
If an event's message is completely empty (usually because there was nothing logged at all), it isn't very useful to output this bare marked up message at all. We thus ignore it and pass it along unchanged in the Message encoder. Note that we still add tags for messages consisting of other whitespace like e.g. a newline added from a formatted empty message added to a Logger.
This commit is contained in:
parent
bded98fb6e
commit
ca685bb13b
@ -45,8 +45,10 @@ module Rackstash
|
||||
normalize_message(event)
|
||||
message = event[FIELD_MESSAGE]
|
||||
|
||||
tags = @tagged_fields.map { |key| format_tag event[key] }.compact.join
|
||||
message = message.gsub(/^/) { tags } unless tags.empty?
|
||||
unless message.empty?
|
||||
tags = @tagged_fields.map { |key| format_tag event[key] }.compact.join
|
||||
message = message.gsub(/^/) { tags } unless tags.empty?
|
||||
end
|
||||
|
||||
message
|
||||
end
|
||||
|
||||
@ -43,6 +43,17 @@ describe Rackstash::Encoders::Message do
|
||||
event = { 'message' => ["line1\n", "line2\n"] }
|
||||
expect(encoder.encode(event)).to eql "line1\nline2\n"
|
||||
end
|
||||
|
||||
it 'does not prefix fields on an empty message' do
|
||||
event = { 'message' => [], 'tags' => ['foo', 'bar'] }
|
||||
expect(encoder.encode(event)).to eql ''
|
||||
end
|
||||
|
||||
it 'prefixes fields with a single newline' do
|
||||
event = { 'message' => ["\n"], 'tags' => ['foo', 'bar'] }
|
||||
expect(encoder.encode(event)).to eql "[foo,bar] \n"
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user