1
0
mirror of https://github.com/meineerde/rackstash.git synced 2025-12-19 15:01:12 +00:00

Don't cleanup ANSI chars and newlines in messages anymore

These characters might be there deliberately. If they should be cleaned
up, it can easily be done later with a filter.
This commit is contained in:
Holger Just 2017-07-20 13:45:51 +02:00
parent ba3e0676e5
commit 2c8d6ac009
2 changed files with 1 additions and 20 deletions

View File

@ -57,8 +57,6 @@ module Rackstash
def cleanup(msg) def cleanup(msg)
msg = msg.inspect unless msg.is_a?(String) msg = msg.inspect unless msg.is_a?(String)
msg = utf8_encode(msg) msg = utf8_encode(msg)
# remove useless ANSI color codes
msg.gsub!(/\e\[[0-9;]*m/, EMPTY_STRING)
msg.freeze msg.freeze
end end
@ -66,8 +64,7 @@ module Rackstash
str.to_s.encode( str.to_s.encode(
Encoding::UTF_8, Encoding::UTF_8,
invalid: :replace, invalid: :replace,
undef: :replace, undef: :replace
universal_newline: true
) )
end end

View File

@ -13,22 +13,6 @@ require 'rackstash/message'
describe Rackstash::Message do describe Rackstash::Message do
describe '#initialize' do describe '#initialize' do
it 'cleans the message' do
messages = [
["First\r\nSecond", "First\nSecond"],
["First\r\nSecond\n\r", "First\nSecond\n\n"],
["Foo\r\n\rBar", "Foo\n\nBar"],
["\r \tWord\n\nPhrase\n", "\n \tWord\n\nPhrase\n"],
["\e[31mRED TEXT\e[0m", 'RED TEXT']
]
messages.each do |msg, clean|
message = described_class.new(msg)
expect(message.message).to eql clean
expect(message.message).to be_frozen
end
end
it 'encodes the message as UTF-8' do it 'encodes the message as UTF-8' do
utf8_str = 'Dönerstraße' utf8_str = 'Dönerstraße'
latin_str = utf8_str.encode(Encoding::ISO8859_9) latin_str = utf8_str.encode(Encoding::ISO8859_9)