lavarel依托Monolog库对系统进行日志处理
配置:
(1).是否显示错误信息:config/app.php文件debug选项,决定是否向用户显示错误信息
默认情况下设置在.env中的APP_DEBUG环境变量中。开发环境为true 生产环境false
(2).日志存储:config/app.php文件log选项。
日志模式有:single:
daily:每日一个日志文件,设置保存天数限制:在APP配置文件中添加’log_max_files’ => 30
syslog:
errorlog:
(3).日志等级:lavarel默认写入所有日志等级,在生产环境中,通过app.php中的log_level选项添加纪录的最低日志等级。eg: ‘log_level’ => env(‘APP_LOG_LEVEL’ , ‘errror’),
等级(从低到高):debug , info , notice , warning , error , critical , alert , emergency;
异常处理:所有的异常都是由App\Exceptions\Handler类处理。这个类有两个方法:
(1).report
1.用于记录异常或将其发送到外部服务:Bugsnag或Sentry。
2.默认下只是将异常传递给纪录异常的基类。
3.异常 handler 的 $dontReport 属性包含不会记录的异常类型数组。
(2).render:render 方法负责将异常转换成 HTTP 响应发送给浏览器。
HTTP异常:一些异常描述了服务器的HTTP错误代码。eg:错误404,未授权错误401。
可以手动生成异常:abort(404);
可以提供相应文本:abort(403, ‘Unauthorized action.’);
可以自定义错误页面,创建resources/views/errors/404.blade.php ,此文件将会渲染所有的404错误。这个目录下的视图文件与他们对应的HTTP状态码匹配。
手动纪录日志:
use Illuminate\Support\Facades\Log
Log::info(’Show me your hand’.$hand);
另外可lavarel可使用3种方法纪录:
Log::emergency();
Log::alert();
Log::critical();
Log::error();
Log::warning();
Log::notice();
Log::info();
Log::debug();