spec/json_formatter_spec.rb in lumber-1.0.1 vs spec/json_formatter_spec.rb in lumber-1.0.2

- old
+ new

@@ -25,11 +25,11 @@ outputter = Log4r::Outputter['stdout'] outputter.formatter.should_not be_nil outputter.formatter.should be_a_kind_of Lumber::JsonFormatter end - it "can receive configuration" do + it "can receive key_mapping configuration" do yml = <<-EOF log4r_config: pre_config: root: level: 'DEBUG' @@ -52,10 +52,38 @@ outputter.formatter.should_not be_nil outputter.formatter.should be_a_kind_of Lumber::JsonFormatter outputter.formatter.instance_variable_get(:@key_mapping).should eq({'level' => ['severity'], 'backtrace' => ['exception', 'bt']}) end + it "can receive fields configuration" do + yml = <<-'EOF' + log4r_config: + pre_config: + root: + level: 'DEBUG' + loggers: + - name: "mylogger" + + outputters: + - type: StdoutOutputter + name: stdout + formatter: + type: JsonFormatter + fields: + version: 1 + dynamic: "#{1+1}" + EOF + yml.should include('#{1+1}') + cfg = Log4r::YamlConfigurator + cfg['hostname'] = 'foo' + cfg.load_yaml_string(yml) + outputter = Log4r::Outputter['stdout'] + outputter.formatter.should_not be_nil + outputter.formatter.should be_a_kind_of Lumber::JsonFormatter + outputter.formatter.instance_variable_get(:@fields).should eq({'version' => 1, 'dynamic' => '2'}) + end + end context "#assign_mapped_key" do it "handles no mapping" do @@ -125,9 +153,19 @@ @logger.info("howdy") json = JSON.parse(@sio.string) json['level'].should be_nil json['severity'].should == 'info' + end + + it "logs as json with fields" do + @formatter = Lumber::JsonFormatter.new('fields' => {'version' => 1}) + @outputter.formatter = @formatter + + @logger.info("howdy") + json = JSON.parse(@sio.string) + json['message'].should == 'howdy' + json['version'].should == 1 end it "logs exception as json" do ex = StandardError.new("mybad") raise ex rescue nil