예제 #1
0
function console($message, $EOL = true, $log = true, $level = 1)
{
    if (!defined("DEBUG") or DEBUG >= $level) {
        $message .= $EOL === true ? PHP_EOL : "";
        $time = (ENABLE_ANSI === true ? FORMAT_AQUA . date("H:i:s") . FORMAT_RESET : date("H:i:s")) . " ";
        $replaced = TextFormat::clean(preg_replace('/\\x1b\\[[0-9;]*m/', "", $time . $message));
        if ($log === true and (!defined("LOG") or LOG === true)) {
            logg(date("Y-m-d") . " " . $replaced, "console", false, $level);
        }
        if (ENABLE_ANSI === true) {
            $add = "";
            if (preg_match("/\\[([a-zA-Z0-9]*)\\]/", $message, $matches) > 0) {
                switch ($matches[1]) {
                    case "ERROR":
                    case "SEVERE":
                        $add .= FORMAT_RED;
                        break;
                    case "INTERNAL":
                    case "DEBUG":
                        $add .= FORMAT_GRAY;
                        break;
                    case "WARNING":
                        $add .= FORMAT_YELLOW;
                        break;
                    case "NOTICE":
                        $add .= FORMAT_AQUA;
                        break;
                    default:
                        $add = "";
                        break;
                }
            }
            $message = TextFormat::toANSI($time . $add . $message . FORMAT_RESET);
        } else {
            $message = $replaced;
        }
        echo $message;
    }
}