From 26c0fac85e644e569123f5cf9f5ba1e9ea58ed3f Mon Sep 17 00:00:00 2001 From: thinkphp Date: Tue, 16 Aug 2016 12:37:12 +0800 Subject: [PATCH] =?UTF-8?q?File=E7=B1=BB=E5=9E=8B=E6=97=A5=E5=BF=97?= =?UTF-8?q?=E9=A9=B1=E5=8A=A8=E6=94=AF=E6=8C=81=E8=AE=BE=E7=BD=AE=E5=8D=95?= =?UTF-8?q?=E7=8B=AC=E6=96=87=E4=BB=B6=E8=AE=B0=E5=BD=95=E4=B8=8D=E5=90=8C?= =?UTF-8?q?=E7=9A=84=E6=97=A5=E5=BF=97=E7=BA=A7=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- library/think/log/driver/File.php | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/library/think/log/driver/File.php b/library/think/log/driver/File.php index be6e1d0f..11b265a2 100644 --- a/library/think/log/driver/File.php +++ b/library/think/log/driver/File.php @@ -20,6 +20,7 @@ class File 'time_format' => ' c ', 'file_size' => 2097152, 'path' => LOG_PATH, + 'apart_level' => [], ]; // 实例化并传入参数 @@ -63,20 +64,27 @@ class File $memory_str = ' [内存消耗:' . $memory_use . 'kb]'; $file_load = ' [文件加载:' . count(get_included_files()) . ']'; - $info = '[ log ] ' . $current_uri . $time_str . $memory_str . $file_load . "\r\n"; - foreach ($log as $type => $val) { - foreach ($val as $msg) { - if (!is_string($msg)) { - $msg = var_export($msg, true); - } - $info .= '[ ' . $type . ' ] ' . $msg . "\r\n"; - } - } - + $info = '[ log ] ' . $current_uri . $time_str . $memory_str . $file_load . "\r\n"; $server = isset($_SERVER['SERVER_ADDR']) ? $_SERVER['SERVER_ADDR'] : '0.0.0.0'; $remote = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '0.0.0.0'; $method = isset($_SERVER['REQUEST_METHOD']) ? $_SERVER['REQUEST_METHOD'] : 'CLI'; $uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ''; + foreach ($log as $type => $val) { + $level = ''; + foreach ($val as $msg) { + if (!is_string($msg)) { + $msg = var_export($msg, true); + } + $level .= '[ ' . $type . ' ] ' . $msg . "\r\n"; + } + if (in_array($type, $this->config['apart_level'])) { + // 独立记录的日志级别 + $filename = $path . DS . $type . '.log'; + error_log("[{$now}] {$server} {$remote} {$method} {$uri}\r\n{$level}\r\n", 3, $filename); + } else { + $info .= $level; + } + } return error_log("[{$now}] {$server} {$remote} {$method} {$uri}\r\n{$info}\r\n", 3, $destination); }