laravel 日志如何只记录message 不记录Trace ?

日志里偶尔出现数据库连接超时错误,报错日志代码追踪中出现了数据库账号密码,因为我时常把日志放到网页看网站情况,这样就不安全了,如何不记录追踪信息呢?

welcome come back
附言 1  ·  3年前

抱歉没有说明版本。laravel5.7如下配置:
在app/Handler.php的

protected $dontReport = [
        \Illuminate\Database\QueryException::class,
];
public function report(Exception $exception)
{
        if ($exception instanceof QueryException) {
            // \Log::error($exception->getPrevious()->getMessage()); //@1
            \Log::error($exception->getMessage());//@2
        }
        parent::report($exception);
}

日志中分别是

@1
SQLSTATE[HY000] [2002] Connection timed out
@2
SQLSTATE[HY000] [2002] Connection timed out (SQL: select * from `fields` limit 1)
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 3

不推荐这么做,trace可以方便的查看业务的调用栈,常规的错误在message 里面能看到,一些vendor里面的报错,你必须要通过trace 来快速的找到错误。

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!