| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132 |
- From 4926fad38dec3cdc769af3873bc38a3409e327f8 Mon Sep 17 00:00:00 2001
- From: Martin <1808402272@qq.com>
- Date: Tue, 19 Oct 2021 16:00:00 +0800
- Subject: [PATCH 03/13] =?UTF-8?q?=E5=AE=8C=E5=96=84error=E6=97=A5=E5=BF=97?=
- =?UTF-8?q?=E5=86=85=E5=AE=B9?=
- MIME-Version: 1.0
- Content-Type: text/plain; charset=UTF-8
- Content-Transfer-Encoding: 8bit
- ---
- .env | 2 +-
- config/log.php | 4 +++-
- cores/ExceptionHandle.php | 30 +++++++++++++++++++++++++++---
- 3 files changed, 31 insertions(+), 5 deletions(-)
- diff --git a/.env b/.env
- index 55cf6c2..2042af2 100644
- --- a/.env
- +++ b/.env
- @@ -1 +1 @@
- -APP_DEBUG = true
- [APP]
- DEFAULT_TIMEZONE = Asia/Shanghai
- [DATABASE]
- TYPE = mysql
- HOSTNAME = 127.0.0.1
- DATABASE = yoshop2.0-feel
- USERNAME = root
- PASSWORD = root
- HOSTPORT = 3306
- CHARSET = utf8
- DEBUG = false
- [LANG]
- default_lang = zh-cn
- \ No newline at end of file
- +APP_DEBUG = false
- [APP]
- DEFAULT_TIMEZONE = Asia/Shanghai
- [DATABASE]
- TYPE = mysql
- HOSTNAME = 127.0.0.1
- DATABASE = yoshop2.0-feel
- USERNAME = root
- PASSWORD = root
- HOSTPORT = 3306
- CHARSET = utf8
- DEBUG = false
- [LANG]
- default_lang = zh-cn
- \ No newline at end of file
- diff --git a/config/log.php b/config/log.php
- index f8c8d9d..b4d9a4b 100644
- --- a/config/log.php
- +++ b/config/log.php
- @@ -34,8 +34,10 @@ return [
- 'processor' => null,
- // 关闭通道日志写入
- 'close' => false,
- + // 日志时间格式
- + 'time_format' => 'Y-m-d H:i:s',
- // 日志输出格式化
- - 'format' => '[%s][%s] %s',
- + 'format' => '[%s] [%s] %s',
- // 是否实时写入
- 'realtime_write' => false,
- ],
- diff --git a/cores/ExceptionHandle.php b/cores/ExceptionHandle.php
- index 2d25b1f..434f3dd 100644
- --- a/cores/ExceptionHandle.php
- +++ b/cores/ExceptionHandle.php
- @@ -13,7 +13,9 @@ namespace cores;
- use Throwable;
- use think\Response;
- use think\facade\Log;
- +use think\facade\Request;
- use think\exception\Handle;
- +use think\db\exception\PDOException;
- use app\common\exception\BaseException;
-
- /**
- @@ -105,17 +107,39 @@ class ExceptionHandle extends Handle
- */
- private function recordErrorLog(Throwable $e)
- {
- - // 生成日志内容
- + // 错误信息
- $data = [
- 'file' => $e->getFile(),
- 'line' => $e->getLine(),
- 'message' => $this->getMessage($e),
- 'status' => $this->getCode($e),
- ];
- - $log = "[{$data['status']}]{$data['message']} [{$data['file']}:{$data['line']}]";
- + // 日志内容
- + $log = '';
- + $log .= $this->getVisitor();
- + $log .= "\r\n" . "[ message ] [{$data['status']}] {$data['message']}";
- + $log .= "\r\n" . "[ file ] {$data['file']}:{$data['line']}";
- + // $log .= "\r\n" . "[ time ] " . format_time(time());
- + $log .= "\r\n" . '[ header ] ' . print_r(Request::header(), true);
- + $log .= "" . '[ param ] ' . print_r(Request::param(), true);
- + // 如果是数据库报错, 则记录sql语句
- + if ($e instanceof PDOException) {
- + $log .= "[ Error SQL ] " . $e->getData()['Database Status']['Error SQL'];
- + $log .= "\r\n";
- + }
- $log .= "\r\n" . $e->getTraceAsString();
- -
- + $log .= "\r\n" . '--------------------------------------------------------------------------------------------';
- // 写入日志文件
- Log::record($log, 'error');
- }
- +
- + /**
- + * 获取请求路径信息
- + * @return string
- + */
- + private function getVisitor()
- + {
- + $data = [Request::ip(), Request::method(), Request::url(true)];
- + return implode(' ', $data);
- + }
- }
- --
- 2.28.0.windows.1
|