Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
 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) + " | "
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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