Skip to content

Commit 977d89d

Browse files
committed
Update default logging format.
1 parent 497e01c commit 977d89d

File tree

1 file changed

+22
-7
lines changed

1 file changed

+22
-7
lines changed

ppafm/logging_utils.py

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,21 @@
1616
_perf_log_enabled = False
1717

1818

19+
class _DefaultFormatter(logging.Formatter):
20+
21+
def __init__(self):
22+
super().__init__()
23+
self.info_formatter = logging.Formatter("%(message)s")
24+
self.other_formatter = logging.Formatter("%(levelname)s: %(message)s")
25+
26+
def format(self, record):
27+
if record.levelno == logging.INFO:
28+
formatter = self.info_formatter
29+
else:
30+
formatter = self.other_formatter
31+
return formatter.format(record)
32+
33+
1934
def configure_logging(
2035
level: Optional[Union[int, str]] = None,
2136
format: Optional[str] = None,
@@ -31,7 +46,7 @@ def configure_logging(
3146
format: Format to use for logging messages. See https://docs.python.org/3/library/logging.html#logrecord-attributes.
3247
If None, the format is determined from the PPAFM_LOG_FORMAT environment variable or
3348
defaults to "[%(asctime)s - %(name)s - %(levelname)s] %(message)s" if logging level is DEBUG,
34-
or '%(message)s' otherwise.
49+
or otherwise '%(message)s' for INFO and `%(levelname): %(message)s` for more severe levels.
3550
log_path: Path where log will be written. If None, the path is determined from the the PPAFM_LOG_PATH
3651
environment variable, or defaults to stdout.
3752
log_performance: Whether to enable performance logging. If None, is True if the PPAFM_LOG_PERFORMANCE
@@ -88,15 +103,15 @@ def configure_logging(
88103
format = os.environ["PPAFM_LOG_FORMAT"]
89104
except KeyError:
90105
if _root_logger.level == logging.DEBUG:
91-
format = "[%(asctime)s - %(name)s - %(levelname)s] %(message)s"
106+
_log_format = "[%(asctime)s - %(name)s - %(levelname)s] %(message)s"
107+
formatter = logging.Formatter(fmt=_log_format)
92108
else:
93-
format = "%(message)s"
94-
_log_format = format
95-
_log_handler.setFormatter(logging.Formatter(fmt=_log_format))
109+
_log_format = "%(message)s"
110+
formatter = _DefaultFormatter()
111+
_log_handler.setFormatter(formatter)
96112

97113

98-
# This sets the logging level immediately from environment variable or defaults to INFO.
99-
# Also sets the message format.
114+
# This sets the logging level and other options immediately from environment variables.
100115
configure_logging()
101116

102117

0 commit comments

Comments
 (0)