@@ -616,6 +616,55 @@ def custom_default(obj):
616
616
return
617
617
618
618
619
+ @pytest .mark .parametrize ("class_" , ALL_FORMATTERS )
620
+ def test_exc_info_as_array (env : LoggingEnvironment , class_ : type [BaseJsonFormatter ]):
621
+ env .set_formatter (class_ (exc_info_as_array = True ))
622
+
623
+ try :
624
+ raise Exception ("Error" )
625
+ except BaseException :
626
+ env .logger .exception ("Error occurs" )
627
+ log_json = env .load_json ()
628
+
629
+ assert type (log_json ["exc_info" ]) is list
630
+ return
631
+
632
+
633
+ @pytest .mark .parametrize ("class_" , ALL_FORMATTERS )
634
+ def test_exc_info_as_array_no_exc_info (env : LoggingEnvironment , class_ : type [BaseJsonFormatter ]):
635
+ env .set_formatter (class_ (exc_info_as_array = True ))
636
+
637
+ env .logger .info ("hello" )
638
+ log_json = env .load_json ()
639
+
640
+ assert log_json .get ("exc_info" ) is None
641
+ return
642
+
643
+
644
+ @pytest .mark .parametrize ("class_" , ALL_FORMATTERS )
645
+ def test_stack_info_as_array (env : LoggingEnvironment , class_ : type [BaseJsonFormatter ]):
646
+ env .set_formatter (class_ (stack_info_as_array = True ))
647
+
648
+ env .logger .info ("hello" , stack_info = True )
649
+ log_json = env .load_json ()
650
+
651
+ assert type (log_json ["stack_info" ]) is list
652
+ return
653
+
654
+
655
+ @pytest .mark .parametrize ("class_" , ALL_FORMATTERS )
656
+ def test_stack_info_as_array_no_stack_info (
657
+ env : LoggingEnvironment , class_ : type [BaseJsonFormatter ]
658
+ ):
659
+ env .set_formatter (class_ (stack_info_as_array = True ))
660
+
661
+ env .logger .info ("hello" , stack_info = False )
662
+ log_json = env .load_json ()
663
+
664
+ assert log_json .get ("stack_info" ) is None
665
+ return
666
+
667
+
619
668
## JsonFormatter Specific
620
669
## -----------------------------------------------------------------------------
621
670
def test_json_ensure_ascii_true (env : LoggingEnvironment ):
0 commit comments