Use sys._getframe(2), instead of logging.currentframe(). It's slightly faster.
PiperOrigin-RevId: 183866302
diff --git a/absl/logging/__init__.py b/absl/logging/__init__.py
index f311464..29a308d 100644
--- a/absl/logging/__init__.py
+++ b/absl/logging/__init__.py
@@ -849,7 +849,9 @@
(filename, lineno, methodname[, sinfo]) of the calling method.
"""
f_to_skip = ABSLLogger._frames_to_skip
- frame = logging.currentframe()
+ # Use sys._getframe(2) instead of logging.currentframe(), it's slightly
+ # faster because there is one less frame to traverse.
+ frame = sys._getframe(2) # pylint: disable=protected-access
while frame:
code = frame.f_code
diff --git a/absl/logging/tests/logging_test.py b/absl/logging/tests/logging_test.py
index 519d419..47903bf 100644
--- a/absl/logging/tests/logging_test.py
+++ b/absl/logging/tests/logging_test.py
@@ -375,8 +375,8 @@
mock_frame_1.f_back = mock_frame_2
mock_frame_0.f_back = mock_frame_1
- mock.patch.object(std_logging, 'currentframe').start()
- std_logging.currentframe.return_value = mock_frame_0
+ mock.patch.object(sys, '_getframe').start()
+ sys._getframe.return_value = mock_frame_0
def setUp(self):
self.message = 'Hello Nurse'