Repository: ambari Updated Branches: refs/heads/branch-2.5 bc37bf748 -> 9218fbc2e
AMBARI-20504. Ambari-agent log rotation is broken (echekanskiy) Project: http://git-wip-us.apache.org/repos/asf/ambari/repo Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/9218fbc2 Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/9218fbc2 Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/9218fbc2 Branch: refs/heads/branch-2.5 Commit: 9218fbc2ee2180ed9f6d287913710d75130af215 Parents: bc37bf7 Author: Eugene Chekanskiy <[email protected]> Authored: Mon Mar 20 20:18:07 2017 +0200 Committer: Eugene Chekanskiy <[email protected]> Committed: Mon Mar 20 20:18:07 2017 +0200 ---------------------------------------------------------------------- ambari-agent/src/main/python/ambari_agent/main.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ambari/blob/9218fbc2/ambari-agent/src/main/python/ambari_agent/main.py ---------------------------------------------------------------------- diff --git a/ambari-agent/src/main/python/ambari_agent/main.py b/ambari-agent/src/main/python/ambari_agent/main.py index 604b234..272cc06 100644 --- a/ambari-agent/src/main/python/ambari_agent/main.py +++ b/ambari-agent/src/main/python/ambari_agent/main.py @@ -106,6 +106,7 @@ import HeartbeatHandlers from HeartbeatHandlers import bind_signal_handlers from ambari_commons.constants import AMBARI_SUDO_BINARY from resource_management.core.logger import Logger + logger = logging.getLogger() alerts_logger = logging.getLogger('ambari_alerts') @@ -124,10 +125,17 @@ IS_LINUX = platform.system() == "Linux" SYSLOG_FORMAT_STRING = ' ambari_agent - %(filename)s - [%(process)d] - %(name)s - %(levelname)s - %(message)s' SYSLOG_FORMATTER = logging.Formatter(SYSLOG_FORMAT_STRING) +_file_logging_handlers ={} + def setup_logging(logger, filename, logging_level): formatter = logging.Formatter(formatstr) - rotateLog = logging.handlers.RotatingFileHandler(filename, "a", 10000000, 25) - rotateLog.setFormatter(formatter) + + if filename in _file_logging_handlers: + rotateLog = _file_logging_handlers[filename] + else: + rotateLog = logging.handlers.RotatingFileHandler(filename, "a", 10000000, 25) + rotateLog.setFormatter(formatter) + _file_logging_handlers[filename] = rotateLog logger.addHandler(rotateLog) logging.basicConfig(format=formatstr, level=logging_level, filename=filename)
