@@ -463,6 +463,10 @@ def _add_log_to_buffer(self, level, msg, filename, line, function, **kwargs):
463
463
464
464
return True
465
465
466
+ def flush_buffer (self ):
467
+ ## INITIAL IMPLEMENTATION
468
+ self ._logger .debug ("Buffer was flushed" )
469
+
466
470
def debug (
467
471
self ,
468
472
msg : object ,
@@ -504,7 +508,7 @@ def info(
504
508
extra = extra or {}
505
509
extra = {** extra , ** kwargs }
506
510
507
- # Buffer is not active, flushing
511
+ # Buffer is not active and we need to flush
508
512
if not self ._logger_buffer :
509
513
return self ._logger .info (
510
514
msg ,
@@ -515,6 +519,7 @@ def info(
515
519
extra = extra ,
516
520
)
517
521
522
+ # Buffer log level is higher than this log level and we need to flush
518
523
if _resolve_buffer_log_level (self ._logger_buffer .minimum_log_level , "INFO" ):
519
524
return self ._logger .info (
520
525
msg ,
@@ -542,7 +547,7 @@ def warning(
542
547
extra = extra or {}
543
548
extra = {** extra , ** kwargs }
544
549
545
- # Buffer is not active, flushing
550
+ # Buffer is not active and we need to flush
546
551
if not self ._logger_buffer :
547
552
return self ._logger .warning (
548
553
msg ,
@@ -553,6 +558,7 @@ def warning(
553
558
extra = extra ,
554
559
)
555
560
561
+ # Buffer log level is higher than this log level and we need to flush
556
562
if _resolve_buffer_log_level (self ._logger_buffer .minimum_log_level , "WARNING" ):
557
563
return self ._logger .warning (
558
564
msg ,
@@ -580,6 +586,12 @@ def error(
580
586
extra = extra or {}
581
587
extra = {** extra , ** kwargs }
582
588
589
+ # Buffer is active and an error happened
590
+ # LoggerBufferConfig flush_on_error is True
591
+ # So, we need to flush the buffer
592
+ if self ._logger_buffer and self ._logger_buffer .flush_on_error :
593
+ self .flush_buffer ()
594
+
583
595
return self ._logger .error (
584
596
msg ,
585
597
* args ,
@@ -602,6 +614,12 @@ def critical(
602
614
extra = extra or {}
603
615
extra = {** extra , ** kwargs }
604
616
617
+ # Buffer is active and an error happened
618
+ # LoggerBufferConfig flush_on_error is True
619
+ # So, we need to flush the buffer
620
+ if self ._logger_buffer and self ._logger_buffer .flush_on_error :
621
+ self .flush_buffer ()
622
+
605
623
return self ._logger .critical (
606
624
msg ,
607
625
* args ,
@@ -624,6 +642,12 @@ def exception(
624
642
extra = extra or {}
625
643
extra = {** extra , ** kwargs }
626
644
645
+ # Buffer is active and an error happened
646
+ # LoggerBufferConfig flush_on_error is True
647
+ # So, we need to flush the buffer
648
+ if self ._logger_buffer and self ._logger_buffer .flush_on_error :
649
+ self .flush_buffer ()
650
+
627
651
return self ._logger .exception (
628
652
msg ,
629
653
* args ,
0 commit comments