PHP log file color

后端 未结 1 789
盖世英雄少女心
盖世英雄少女心 2021-02-04 17:51

I\'m writing a PHP log file class but I want to add color to the line that is written to the file.

The issue I\'m having is the color changes the color of the terminal

1条回答
  •  伪装坚强ぢ
    2021-02-04 18:21

    You should add an end color mark sequence. Eg: sprintf("\033[33m%s\033[0m", $text)

    Here is a list of color codes taken from https://github.com/kevinlebrun/colors.php

    $colorFormats = array(
            // styles
            // italic and blink may not work depending of your terminal
            'bold' => "\033[1m%s\033[0m",
            'dark' => "\033[2m%s\033[0m",
            'italic' => "\033[3m%s\033[0m",
            'underline' => "\033[4m%s\033[0m",
            'blink' => "\033[5m%s\033[0m",
            'reverse' => "\033[7m%s\033[0m",
            'concealed' => "\033[8m%s\033[0m",
            // foreground colors
            'black' => "\033[30m%s\033[0m",
            'red' => "\033[31m%s\033[0m",
            'green' => "\033[32m%s\033[0m",
            'yellow' => "\033[33m%s\033[0m",
            'blue' => "\033[34m%s\033[0m",
            'magenta' => "\033[35m%s\033[0m",
            'cyan' => "\033[36m%s\033[0m",
            'white' => "\033[37m%s\033[0m",
            // background colors
            'bg_black' => "\033[40m%s\033[0m",
            'bg_red' => "\033[41m%s\033[0m",
            'bg_green' => "\033[42m%s\033[0m",
            'bg_yellow' => "\033[43m%s\033[0m",
            'bg_blue' => "\033[44m%s\033[0m",
            'bg_magenta' => "\033[45m%s\033[0m",
            'bg_cyan' => "\033[46m%s\033[0m",
            'bg_white' => "\033[47m%s\033[0m",
        );
    

    Example usage:

    sprintf($colorFormats['green'], $someText)

    0 讨论(0)
提交回复
热议问题