Sha256: 1cd5778ad87434701ddf465d19b0c7195c8fb4e2517c1097e10feaf8760e45c6
Contents?: true
Size: 1.36 KB
Versions: 2
Compression:
Stored size: 1.36 KB
Contents
require 'logstash-logger' describe LogStashLogger::MultiLogger do include_context 'device' # Create a MultiLogger writing to both STDOUT and a StringIO subject { multi_logger } it { is_expected.to be_a LogStashLogger::MultiLogger } it "has multiple loggers" do expect(subject.loggers.count).to eq(2) end it "has one logger per output" do expect(subject.loggers[0].device).to be_a LogStashLogger::Device::Stdout expect(subject.loggers[1].device).to be_a LogStashLogger::Device::IO end it "allows a different formatter for each logger" do expect(subject.loggers[0].formatter).to be_a ::Logger::Formatter expect(subject.loggers[1].formatter).to be_a LogStashLogger::Formatter::JsonLines end it "logs to all loggers" do subject.loggers.each do |logger| expect(logger).to receive(:info).with("test") end multi_logger.info("test") end context "tagged logging" do it "forwards tags to each logger's formatter" do subject.loggers.each do |logger| expect(logger.formatter).to receive(:tagged).with("foo") end subject.tagged("foo") do |logger| logger.debug("bar") end end it "clears tags on each logger's formatter when flushing" do subject.loggers.each do |logger| expect(logger.formatter).to receive(:clear_tags!) end subject.flush end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
logstash-logger-0.14.0 | spec/multi_logger_spec.rb |
logstash-logger-0.13.0 | spec/multi_logger_spec.rb |