Skip to content

Commit 4e8146b

Browse files
authored
fix log bevavior (#96)
1 parent a819dea commit 4e8146b

1 file changed

Lines changed: 25 additions & 5 deletions

File tree

cp2kdata/log.py

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,36 @@
11
import logging
22
import os
33

4-
level_name = os.environ.get('CP2KDATA_LOG_LEVEL', 'INFO')
4+
_LOGGER_NAME = "cp2kdata"
5+
6+
level_name = os.environ.get("CP2KDATA_LOG_LEVEL", "INFO")
57
level = logging._nameToLevel.get(level_name, logging.INFO)
68

79
# format to include timestamp and module
8-
if level_name == 'DEBUG':
9-
logging.basicConfig(format='CP2KDATA| %(asctime)s - %(levelname)-8s %(name)-40s: %(message)s', level=level)
10+
if level_name == "DEBUG":
11+
_formatter = logging.Formatter(
12+
"CP2KDATA| %(asctime)s - %(levelname)-8s %(name)-40s: %(message)s"
13+
)
1014
else:
11-
logging.basicConfig(format='CP2KDATA| %(message)s', level=level)
15+
_formatter = logging.Formatter("CP2KDATA| %(message)s")
16+
17+
_logger = logging.getLogger(_LOGGER_NAME)
18+
_logger.setLevel(level)
19+
_logger.propagate = True
20+
21+
# Only attach a handler when the root logger has no handlers.
22+
# This keeps standalone behavior without changing global logging config.
23+
if not logging.getLogger().handlers and not _logger.handlers:
24+
_handler = logging.StreamHandler()
25+
_handler.setLevel(level)
26+
_handler.setFormatter(_formatter)
27+
_logger.addHandler(_handler)
28+
1229
# suppress transitions logging
1330
# logging.getLogger('transitions.core').setLevel(logging.WARNING)
1431

32+
1533
def get_logger(name=None):
16-
return logging.getLogger(name)
34+
if name:
35+
return logging.getLogger(f"{_LOGGER_NAME}.{name}")
36+
return _logger

0 commit comments

Comments
 (0)