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
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)