@@ -5826,7 +5826,7 @@ def cleanup():
58265826
58275827 self .addCleanup (cleanup )
58285828 self .addCleanup (logging .shutdown )
5829- self .adapter = logging .LoggerAdapter (logger = self .logger , extra = None )
5829+ self .adapter = logging .LoggerAdapter (logger = self .logger )
58305830
58315831 def test_exception (self ):
58325832 msg = 'testing exception: %r'
@@ -5997,6 +5997,18 @@ def test_extra_merged(self):
59975997 self .assertEqual (record .foo , '1' )
59985998 self .assertEqual (record .bar , '2' )
59995999
6000+ self .adapter .critical ('no extra' ) # should not fail
6001+ self .assertEqual (len (self .recording .records ), 2 )
6002+ record = self .recording .records [- 1 ]
6003+ self .assertEqual (record .foo , '1' )
6004+ self .assertNotHasAttr (record , 'bar' )
6005+
6006+ self .adapter .critical ('none extra' , extra = None ) # should not fail
6007+ self .assertEqual (len (self .recording .records ), 3 )
6008+ record = self .recording .records [- 1 ]
6009+ self .assertEqual (record .foo , '1' )
6010+ self .assertNotHasAttr (record , 'bar' )
6011+
60006012 def test_extra_merged_log_call_has_precedence (self ):
60016013 self .adapter = logging .LoggerAdapter (logger = self .logger ,
60026014 extra = {'foo' : '1' },
@@ -6008,6 +6020,25 @@ def test_extra_merged_log_call_has_precedence(self):
60086020 self .assertHasAttr (record , 'foo' )
60096021 self .assertEqual (record .foo , '2' )
60106022
6023+ def test_extra_merged_without_extra (self ):
6024+ self .adapter = logging .LoggerAdapter (logger = self .logger ,
6025+ merge_extra = True )
6026+
6027+ self .adapter .critical ('foo should be here' , extra = {'foo' : '1' })
6028+ self .assertEqual (len (self .recording .records ), 1 )
6029+ record = self .recording .records [- 1 ]
6030+ self .assertEqual (record .foo , '1' )
6031+
6032+ self .adapter .critical ('no extra' ) # should not fail
6033+ self .assertEqual (len (self .recording .records ), 2 )
6034+ record = self .recording .records [- 1 ]
6035+ self .assertNotHasAttr (record , 'foo' )
6036+
6037+ self .adapter .critical ('none extra' , extra = None ) # should not fail
6038+ self .assertEqual (len (self .recording .records ), 3 )
6039+ record = self .recording .records [- 1 ]
6040+ self .assertNotHasAttr (record , 'foo' )
6041+
60116042
60126043class PrefixAdapter (logging .LoggerAdapter ):
60136044 prefix = 'Adapter'
0 commit comments