def handle_log_line(log: V1Log): log_dict = log.to_dict() log_line = "" if log.timestamp and show_timestamp: date_value = local_datetime(log_dict.get("timestamp")) log_line = Printer.add_color(date_value, "white") + " | " def get_container_info(): if container_info in job_to_color: color = job_to_color[container_info] else: color = colors[0] colors.rotate(-1) job_to_color[container_info] = color return Printer.add_color(container_info, color) + " | " if not all_containers and log.container != MAIN_JOB_CONTAINER: return log_line if all_info: container_info = "" if log.node: log_line += Printer.add_color(log_dict.get("node"), "white") + " | " if log.pod: log_line += Printer.add_color(log_dict.get("pod"), "white") + " | " if log.container: container_info = log_dict.get("container") log_line += get_container_info() log_line += log_dict.get("value") Printer.log(log_line, nl=True)
def get_container_info(): if container_info in job_to_color: color = job_to_color[container_info] else: color = colors[0] colors.rotate(-1) job_to_color[container_info] = color return Printer.add_color(container_info, color) + " | "
def handle_timestamp(log_line): log_search = TIMESTAMP_REGEX.search(log_line) if not log_search: return log_line if not show_timestamp: return re.sub(TIMESTAMP_REGEX, "", log_line) timestamp_info = log_search.group() return re.sub(TIMESTAMP_REGEX, Printer.add_color(timestamp_info, "white"), log_line)
def get_job_info(log_line, job_regex): log_search = job_regex.search(log_line) if not log_search: return log_line, False job_info = log_search.group() if job_info in job_to_color: color = job_to_color[job_info] else: color = colors[0] colors.rotate(-1) job_to_color[job_info] = color return re.sub(job_regex, Printer.add_color(job_info, color), log_line), True