近期在用laravel开发项目,越用感觉越方便,虽说官网说明文档内容有点少,但是实用的还是有的。
今天应要求把请求的错误记录进日志里面,一开始我是直接在start/global.php 下加入Log::error($exception),然后改了下请求的返回参数,错误如期出现,然而并没有看见错误的记录写进日志里面,日志文件也是在global文件里面配置的。
后来才想起我已经在app/errors.php配置了500与404的处理,并且返回了错误页面,所以不能执行到global下的日志操作,于是在error.php下也进行记录错误日志的操作。然后还有建议一下config/app.php下的'debug'在上线产品中设置为false,因为如果在error.php处理错误前就出现错误了还是会返回大家熟悉的stack trace,这对用户来说是极不好的事。
下面看下laravel的文档:
Laravel日志工具构建在强大的Monolog库之上,并提供了一层简单的抽象层。默认情况下,Laravel为应用创建一个单独的日志文件,此文件的路径是app/storage/laravel.log
。你可以通过如下方法输出log:
Log::info('This is some useful information.');
Log::warning('Something could be going wrong.');
Log::error('Something is really going wrong.');
大家可以巧用记录各种信息。
当然直接的Log::error($exception)记录下来的东西看起来不太好看,大家可以用各种自己喜欢的方式拿自己需要的信息记录起来,如:
$err = ['message'=>$exception->getMessage(),
'line'=>$exception->getLine()];
Log::error($err);
这样子,应该就比较容易看。
最后再推荐下扩展包,laravel-ide-helper,用ide开发的挺有用的,好像sublime也有,https://laracasts.com/series/how-to-be-awesome-in-phpstorm/episodes/15是介绍用途和安装方法的,可以用composer来装,好像phpstorm里的plugin也可以搜索出来安装。