in ccmlib/node.py [0:0]
def __update_logback_loglevel(self, conf_file):
# Setting the right log level - 2.2.2 introduced new debug log
if self.get_cassandra_version() >= '2.2.2' and self.__global_log_level:
if self.__global_log_level in ['DEBUG', 'TRACE']:
root_log_level = self.__global_log_level
cassandra_log_level = self.__global_log_level
elif self.__global_log_level == 'INFO':
root_log_level = self.__global_log_level
cassandra_log_level = 'DEBUG'
elif self.__global_log_level in ['WARN', 'ERROR']:
root_log_level = 'INFO'
cassandra_log_level = 'DEBUG'
system_log_filter_pattern = '<level>.*</level>'
common.replace_in_file(conf_file, system_log_filter_pattern, ' <level>' + self.__global_log_level + '</level>')
elif self.__global_log_level == 'OFF':
root_log_level = self.__global_log_level
cassandra_log_level = self.__global_log_level
cassandra_append_pattern = '<logger name="org.apache.cassandra" level=".*"/>'
common.replace_in_file(conf_file, cassandra_append_pattern, ' <logger name="org.apache.cassandra" level="' + cassandra_log_level + '"/>')
else:
root_log_level = self.__global_log_level
# Replace the global log level and org.apache.cassandra log level
if self.__global_log_level is not None:
root_append_pattern = '<root level=".*">'
common.replace_in_file(conf_file, root_append_pattern, '<root level="' + root_log_level + '">')
# Class specific log levels
for class_name in self.__classes_log_level:
logger_pattern = '\t<logger name="'
full_logger_pattern = logger_pattern + class_name + '" level=".*"/>'
common.replace_or_add_into_file_tail(conf_file, full_logger_pattern, logger_pattern + class_name + '" level="' + self.__classes_log_level[class_name] + '"/>')