from .constants import QUIET_LOG_LEVEL, LOG_DIR
+class _ExcludeErrorsFilter(logging.Filter):
+ def filter(self, record: logging.LogRecord) -> bool:
+ """Only lets through log messages with log level below WARNING ."""
+ return record.levelno < logging.WARNING
+
+
+_common_formatters = {
+ 'cephadm': {
+ 'format': '%(asctime)s %(thread)x %(levelname)s %(message)s'
+ },
+}
+
+
+_log_file_handler = {
+ 'level': 'DEBUG',
+ 'class': 'logging.handlers.WatchedFileHandler',
+ 'formatter': 'cephadm',
+ 'filename': '%s/cephadm.log' % LOG_DIR,
+}
+
+
# During normal cephadm operations (cephadm ls, gather-facts, etc ) we use:
# stdout: for JSON output only
# stderr: for error, debug, info, etc
_logging_config = {
'version': 1,
'disable_existing_loggers': True,
- 'formatters': {
- 'cephadm': {
- 'format': '%(asctime)s %(thread)x %(levelname)s %(message)s'
- },
- },
+ 'formatters': _common_formatters,
'handlers': {
'console': {
'level': 'INFO',
'class': 'logging.StreamHandler',
},
- 'log_file': {
- 'level': 'DEBUG',
- 'class': 'logging.handlers.WatchedFileHandler',
- 'formatter': 'cephadm',
- 'filename': '%s/cephadm.log' % LOG_DIR,
- }
+ 'log_file': _log_file_handler,
},
'loggers': {
'': {
}
-class _ExcludeErrorsFilter(logging.Filter):
- def filter(self, record: logging.LogRecord) -> bool:
- """Only lets through log messages with log level below WARNING ."""
- return record.levelno < logging.WARNING
-
-
# When cephadm is used as standard binary (bootstrap, rm-cluster, etc) we use:
# stdout: for debug and info
# stderr: for errors and warnings
}
},
'disable_existing_loggers': True,
- 'formatters': {
- 'cephadm': {
- 'format': '%(asctime)s %(thread)x %(levelname)s %(message)s'
- },
- },
+ 'formatters': _common_formatters,
'handlers': {
'console_stdout': {
'level': 'INFO',
'class': 'logging.StreamHandler',
'stream': sys.stderr
},
- 'log_file': {
- 'level': 'DEBUG',
- 'class': 'logging.handlers.WatchedFileHandler',
- 'formatter': 'cephadm',
- 'filename': '%s/cephadm.log' % LOG_DIR,
- }
+ 'log_file': _log_file_handler,
},
'loggers': {
'': {