1313# limitations under the License.
1414
1515import logging
16+ import pytest
1617
1718from newrelic .api .background_task import background_task
1819from newrelic .api .time_trace import current_trace
@@ -35,8 +36,6 @@ def set_trace_ids():
3536def exercise_logging (logger ):
3637 set_trace_ids ()
3738
38- # logger.debug("A")
39- # logger.info("B")
4039 logger .warning ("C" )
4140 logger .error ("D" )
4241 logger .critical ("E" )
@@ -92,3 +91,46 @@ def test():
9291 assert len (logger .caplog .records ) == 1
9392
9493 test ()
94+
95+
96+ _test_patcher_application_captured_event = {"message" : "C-PATCH" , "level" : "WARNING" }
97+ _test_patcher_application_captured_event .update (_common_attributes_trace_linking )
98+
99+ @reset_core_stats_engine ()
100+ def test_patcher_application_captured (logger ):
101+ def patch (record ):
102+ record ["message" ] += "-PATCH"
103+ return record
104+
105+ @validate_log_events ([_test_patcher_application_captured_event ])
106+ @validate_log_event_count (1 )
107+ @background_task ()
108+ def test ():
109+ set_trace_ids ()
110+ patch_logger = logger .patch (patch )
111+ patch_logger .warning ("C" )
112+
113+ test ()
114+
115+ _test_logger_catch_event = {"level" : "ERROR" } # Message varies wildly, can't be included in test
116+ _test_logger_catch_event .update (_common_attributes_trace_linking )
117+
118+ @reset_core_stats_engine ()
119+ def test_logger_catch (logger ):
120+ @validate_log_events ([_test_logger_catch_event ])
121+ @validate_log_event_count (1 )
122+ @background_task ()
123+ def test ():
124+ set_trace_ids ()
125+
126+ @logger .catch (reraise = True )
127+ def throw ():
128+ raise ValueError ("Test" )
129+
130+ try :
131+ with pytest .raises (ValueError ):
132+ throw ()
133+ except ValueError :
134+ pass
135+
136+ test ()
0 commit comments