Skip to content

Commit d8d9e2a

Browse files
authored
Added minimal logging (#6)
1 parent 24c96d0 commit d8d9e2a

File tree

1 file changed

+12
-1
lines changed

1 file changed

+12
-1
lines changed

retrying.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
14-
14+
import logging
1515
import random
1616
import sys
1717
import time
@@ -82,6 +82,7 @@ def __init__(
8282
wait_jitter_max=None,
8383
before_attempts=None,
8484
after_attempts=None,
85+
logger=None,
8586
):
8687

8788
self._stop_max_attempt_number = (
@@ -109,6 +110,14 @@ def __init__(
109110
self._wait_jitter_max = 0 if wait_jitter_max is None else wait_jitter_max
110111
self._before_attempts = before_attempts
111112
self._after_attempts = after_attempts
113+
114+
if logger in (True, None):
115+
self._logger = logging.getLogger(__name__)
116+
if logger is None:
117+
self._logger.addHandler(logging.NullHandler())
118+
self._logger.propagate = False
119+
elif logger:
120+
self._logger = logger
112121

113122
# TODO add chaining of stop behaviors
114123
# stop behavior
@@ -255,6 +264,7 @@ def call(self, fn, *args, **kwargs):
255264
if not self.should_reject(attempt):
256265
return attempt.get(self._wrap_exception)
257266

267+
self._logger.warn(attempt)
258268
if self._after_attempts:
259269
self._after_attempts(attempt_number)
260270

@@ -270,6 +280,7 @@ def call(self, fn, *args, **kwargs):
270280
if self._wait_jitter_max:
271281
jitter = random.random() * self._wait_jitter_max
272282
sleep = sleep + max(0, jitter)
283+
self._logger.info(f"Retrying in {sleep / 1000.0:.2f} seconds.")
273284
time.sleep(sleep / 1000.0)
274285

275286
attempt_number += 1

0 commit comments

Comments
 (0)