diff --git a/loguru/_defaults.py b/loguru/_defaults.py index 327e3802..9414496e 100644 --- a/loguru/_defaults.py +++ b/loguru/_defaults.py @@ -45,6 +45,7 @@ def env(key, type_, default=None): LOGURU_ENQUEUE = env("LOGURU_ENQUEUE", bool, False) LOGURU_CONTEXT = env("LOGURU_CONTEXT", str, None) LOGURU_CATCH = env("LOGURU_CATCH", bool, True) +LOGURU_LENGTH = env("LOGURU_LENGTH", int, 128) LOGURU_TRACE_NO = env("LOGURU_TRACE_NO", int, 5) LOGURU_TRACE_COLOR = env("LOGURU_TRACE_COLOR", str, "") diff --git a/loguru/_logger.py b/loguru/_logger.py index b76f1af5..5801510f 100644 --- a/loguru/_logger.py +++ b/loguru/_logger.py @@ -249,6 +249,7 @@ def add( enqueue=_defaults.LOGURU_ENQUEUE, context=_defaults.LOGURU_CONTEXT, catch=_defaults.LOGURU_CATCH, + length=_defaults.LOGURU_LENGTH, **kwargs ): r"""Add a handler sending log messages to a sink adequately configured. @@ -290,6 +291,10 @@ def add( Whether errors occurring while sink handles logs messages should be automatically caught. If ``True``, an exception message is displayed on |sys.stderr| but the exception is not propagated to the caller, preventing your app to crash. + length : |int|, optional + This controls the maximum line length of every line in the exception backtrace, + mapping directly to the better_exceptions library's MAX_LENGTH value. + Set to None for no limit. **kwargs Additional parameters that are only valid to configure a coroutine or file sink (see below). @@ -984,6 +989,7 @@ def add( backtrace=backtrace, hidden_frames_filename=self.catch.__code__.co_filename, prefix=exception_prefix, + max_length=length, ) handler = Handler(