LCOV - code coverage report
Current view: top level - core - logger.c (source / functions) Coverage Total Hit
Test: lcov.out Lines: 5.0 % 40 2
Test Date: 2025-02-26 17:59:59 Functions: 50.0 % 2 1

            Line data    Source code
       1              : /* SPDX-License-Identifier: GPL-2.0-only */
       2              : /*
       3              :  * Copyright (c) 2023 Meta Platforms, Inc. and affiliates.
       4              :  */
       5              : 
       6              : #include "core/logger.h"
       7              : 
       8              : #include <stdbool.h>
       9              : #include <stdio.h>
      10              : #include <unistd.h>
      11              : 
      12              : /// If true, log messages will be printed in colors.
      13              : static bool _bf_can_print_color = false;
      14              : 
      15            0 : void bf_logger_setup(void)
      16              : {
      17            0 :     _bf_can_print_color = isatty(fileno(stdout)) && isatty(fileno(stderr));
      18            0 : }
      19              : 
      20           44 : const char *bf_logger_get_color(enum bf_color color, enum bf_style style)
      21              : {
      22           44 :     if (!_bf_can_print_color) {
      23              :         return "";
      24              :     }
      25              : 
      26            0 :     switch (color) {
      27            0 :     case BF_COLOR_DEFAULT:
      28            0 :         return (style == BF_STYLE_BOLD) ? "\033[1;39m" : "\033[0;39m";
      29            0 :     case BF_COLOR_BLACK:
      30            0 :         return (style == BF_STYLE_BOLD) ? "\033[1;30m" : "\033[0;30m";
      31            0 :     case BF_COLOR_RED:
      32            0 :         return (style == BF_STYLE_BOLD) ? "\033[1;31m" : "\033[0;31m";
      33            0 :     case BF_COLOR_GREEN:
      34            0 :         return (style == BF_STYLE_BOLD) ? "\033[1;32m" : "\033[0;32m";
      35            0 :     case BF_COLOR_YELLOW:
      36            0 :         return (style == BF_STYLE_BOLD) ? "\033[1;33m" : "\033[0;33m";
      37            0 :     case BF_COLOR_BLUE:
      38            0 :         return (style == BF_STYLE_BOLD) ? "\033[1;34m" : "\033[0;34m";
      39            0 :     case BF_COLOR_MAGENTA:
      40            0 :         return (style == BF_STYLE_BOLD) ? "\033[1;35m" : "\033[0;35m";
      41            0 :     case BF_COLOR_CYAN:
      42            0 :         return (style == BF_STYLE_BOLD) ? "\033[1;36m" : "\033[0;36m";
      43            0 :     case BF_COLOR_LIGHT_GRAY:
      44            0 :         return (style == BF_STYLE_BOLD) ? "\033[1;37m" : "\033[0;37m";
      45            0 :     case BF_COLOR_DARK_GRAY:
      46            0 :         return (style == BF_STYLE_BOLD) ? "\033[1;90m" : "\033[0;90m";
      47            0 :     case BF_COLOR_LIGHT_RED:
      48            0 :         return (style == BF_STYLE_BOLD) ? "\033[1;91m" : "\033[0;91m";
      49            0 :     case BF_COLOR_LIGHT_GREEN:
      50            0 :         return (style == BF_STYLE_BOLD) ? "\033[1;92m" : "\033[0;92m";
      51            0 :     case BF_COLOR_LIGHT_YELLOW:
      52            0 :         return (style == BF_STYLE_BOLD) ? "\033[1;93m" : "\033[0;93m";
      53            0 :     case BF_COLOR_LIGHT_BLUE:
      54            0 :         return (style == BF_STYLE_BOLD) ? "\033[1;94m" : "\033[0;94m";
      55            0 :     case BF_COLOR_LIGHT_MAGENTA:
      56            0 :         return (style == BF_STYLE_BOLD) ? "\033[1;95m" : "\033[0;95m";
      57            0 :     case BF_COLOR_LIGHT_CYAN:
      58            0 :         return (style == BF_STYLE_BOLD) ? "\033[1;96m" : "\033[0;96m";
      59            0 :     case BF_COLOR_WHITE:
      60            0 :         return (style == BF_STYLE_BOLD) ? "\033[1;97m" : "\033[0;97m";
      61              :     default:
      62              :         return "\033[0m";
      63              :     }
      64              : }
        

Generated by: LCOV version 2.0-1