laravel中的错误与日志(可以自定义日志目录和log文件名)_wulove52的博客-CSDN博客


本站和网页 https://blog.csdn.net/wulove52/article/details/71172955 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

laravel中的错误与日志(可以自定义日志目录和log文件名)_wulove52的博客-CSDN博客
laravel中的错误与日志(可以自定义日志目录和log文件名)
wulove52
于 2017-05-04 17:49:35 发布
18582
收藏
分类专栏:
php
laravel
php
同时被 2 个专栏收录
50 篇文章
0 订阅
订阅专栏
laravel
10 篇文章
0 订阅
订阅专栏
laravel中的错误与日志
2014-12-19 10:09 by 轩脉刃, 21252 阅读, 1 评论, 收藏, 编辑
日志
laravel中的日志是基于monolog而封装的。laravel在它上面做了几个事情:
把monolog中的addInfo等函数简化成为了info这样的函数增加了useFiles和useDailyFiles两个参数,使得做日志管理和切割变的容易了如果要调用monolog的方法需要调用callMonolog函数
好了,看下下面几个需求怎么实现:
将不同的日志信息存放到不同的日志中去
这个需求很普遍的,比如调用订单的日志,需要记录到order.log,获取店铺信息的记录需要记录到shop.log中去。可以这么做:
<?php
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Illuminate\Log\Writer;
class BLogger
// 所有的LOG都要求在这里注册
const LOG_ERROR = 'error';
private static $loggers = array();
// 获取一个实例
public static function getLogger($type = self::LOG_ERROR, $day = 30)
if (empty(self::$loggers[$type])) {
self::$loggers[$type] = new Writer(new Logger($type));
self::$loggers[$type]->useDailyFiles(storage_path().'/logs/'. $type .'.log', $day);
$log = self::$loggers[$type];
return $log;
这样不同的日志数据会被存储到不同的日志文件中去。还能记录日志数据信息。
laravel的错误日志堆栈太长了,怎么办?
使用上面的BLogger类,在start/global.php记录下必要的错误信息
// 错误日志信息
App::error(function(Exception $exception, $code)
Log::error($exception);
$err = [
'message' => $exception->getMessage(),
'file' => $exception->getFile(),
'line' => $exception->getLine(),
'code' => $exception->getCode(),
'url' => Request::url(),
'input' => Input::all(),
];
BLogger::getLogger(BLogger::LOG_ERROR)->error($err);
});
laravel默认的日志没有使用分割
所以应该默认把laravel的默认日志记录改成有分割的。
同样在start/global.php中
Log::useDailyFiles(storage_path().'/logs/laravel.log', 30);
如何记录一个请求的sql日志
这个应该再细化问,你是不是要实时记录?
如果不要实时记录,那么laravel有个DB::getQueryLog可以获取一个app请求获取出来的sql请求:
## 在filters.php中
App::after(function($request, $response)
// 数据库查询进行日志
$queries = DB::getQueryLog();
if (Config::get('query.log', false)) {
BLogger::getLogger('query')->info($queries);
如果你是需要实时记录的(也就是你在任何地方die出来的时候,之前的页面的sql请求也有记录)的话,你就需要监听illuminate.query事件了
// 数据库实时请求的日志
if (Config::get('database.log', false))
Event::listen('illuminate.query', function($query, $bindings, $time, $name)
$data = compact('query','bindings', 'time', 'name');
BLogger::getLogger(BLogger::LOG_QUERY_REAL_TIME)->info($data);
});
错误
laravel的所有错误会全部过global的App::error再出来
所以比如你设计的是接口,希望即使有error出现也返回json数据,则可以这么做:
// 错误日志信息
App::error(function(Exception $exception, $code)
// 如果没有路径就直接跳转到登录页面
if ($exception instanceof NotFoundHttpException) {
return Redirect::route('login');
Log::error($exception);
$err = [
'message' => $exception->getMessage(),
'file' => $exception->getFile(),
'line' => $exception->getLine(),
'code' => $exception->getCode(),
'url' => Request::url(),
'input' => Input::all(),
];
BLogger::getLogger(BLogger::LOG_ERROR)->error($err);
$response = [
'status' => 0,
'error' => "服务器内部错误",
];
return Response::json($response);
});
如果你还希望将404错误也hold住:
App::missing(function($exception)
$response = [
'status' => 0,
'error' => "请求路径错误",
];
return Response::json($response);
});
wulove52
关注
关注
点赞
收藏
评论
laravel中的错误与日志(可以自定义日志目录和log文件名)
laravel中的错误与日志2014-12-19 10:09 by 轩脉刃, 21252 阅读, 1 评论, 收藏, 编辑日志laravel中的日志是基于monolog而封装的。laravel在它上面做了几个事情:把monolog中的addInfo等函数简化成为了info这样的函数增加了useFiles和useDailyFiles两个参数,使得做日志管理和切割变的容
复制链接
扫一扫
专栏目录
Laravel开发-laravel-db-log
08-28
Laravel开发-laravel-db-log 记录Laravel的数据库查询。
Laravel5.5以下版本中如何自定义日志行为详解
10-18
主要给大家介绍了关于Laravel5.5以下版本中如何自定义日志行为的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
参与评论
您还未登录,请先
登录
后发表或查看评论
【宋红康 MySQL数据库 】【高级篇】【20】其他数据库日志
Keep Reading Keep Writing Keep Thinking
09-21
349
其他数据库日志:通用查询日志 general query log 错误日志 error log 二进制日志 bin log 中继日志 relay log
Laravel 5.5 异常处理 & 错误日志
彳亍
09-24
6146
简介
Laravel 默认已经为我们配置好了错误和异常处理,我们在 App\Exceptions\Handler 类中触发异常并将响应返回给用户。
此外,Laravel 还集成了 Monolog 日志库以便提供各种功能强大的日志处理器,默认情况下,Laravel 已经为我们配置了一些处理器,我们可以选择单个日志文件,也可以选择记录错误信息到系统日志。
配置
调试模式
配置文件 confi...
laravel8 定时任务并写入日志
最新发布
dacong_ya的博客
11-20
76
2、进入生成的文件编写定时任务要执行的操作(这里以记录日志展示)3、进入Kernel.php文件调用生成的文件。命令执行(一直执行,手动停止)更多时间配置可以去官方手册看。1、创建command文件。两个命令不同(执行一次)
laravel中的错误与日志
weixin_34186128的博客
12-19
351
日志
laravel中的日志是基于monolog而封装的。laravel在它上面做了几个事情:
把monolog中的addInfo等函数简化成为了info这样的函数
增加了useFiles和useDailyFiles两个参数,使得做日志管理和切割变的容易了
如果要调用monolog的方法需要调用callMonolog函数
好了,看下下面几个需求怎么实现:
将不同的日志信息存放到不同的日志中去
...
laravel 5.6日志理解及日志格式定义
lxw1844912514的博客
04-23
1725
Laravel/Lumen的日志简单系统介绍:
Laravel/Lumen的日志默认是基于Monolog进行了一层封装,如果要求不高,用起来还是十分容易的,本文基于laravel5.6/Lumen5.6版本进行解说。5.6版对日志系统做了升级,将日志的配置单独放以了config/logging.php 配置文件中,所以现在实用多了。
基本配置(解决日志路径文件名和保存周期等)
开始使用Lar...
Laravel 自定义日志文件名称和位置
weixin_41936499的博客
08-27
684
Laravel 自定义日志文件名称和位置
因为laravel5.5日志文件固定在storage/logs/中,不能自定义日志路径,想要实现路径可配置需要自定义配置
添加日志处理类
<?php
namespace App\Extensions;
use Illuminate\Log\Writer;
use Illuminate\Contracts\Foundation\Application;
/**
* 自定义日志,用来方便配置日志文件
*/
class ConfigureL
Log信息获取调用类和调用方法名的实现原理
buaawhl的专栏
07-26
135
恰好看到关于log的讨论。想起以前调查的一个问题。整理出来,希望对大家能有所帮助。
Sun JDK 源代码下载 http://wwws.sun.com/software/communitysource/
先注册并登录到“Sun Community Source Licensing”,然后下载J2SE(几十兆)或者J2EE(几百兆)。
Log能够把代码运行时间,类名,方法名,还有信息,...
php laravel日志报错,Laravel 的错误和日志记录
weixin_32004053的博客
04-04
1038
Laravel 的错误和日志记录简介Laravel 默认自带错误和异常处理机制。应用程序触发的所有异常都被 App\Exceptions\Handler 类记录下来,然后渲染给用户。 我们将在后续文档中深入介绍此类。Laravel 使用 Monolog 库为各种强大的日志处理程序提供支持。Laravel 配置了多种日志处理程序,方便你在单个日志文件、多个日志文件或将错误信息写入系统日志之间进行选择...
php laravel日志报错,laravel中的错误与日志用法详解
weixin_42627853的博客
04-04
322
本文实例讲述了laravel中的错误与日志用法。分享给大家供大家参考,具体如下:日志laravel中的日志是基于monolog而封装的。laravel在它上面做了几个事情:① 把monolog中的addInfo等函数简化成为了info这样的函数② 增加了useFiles和useDailyFiles两个参数,使得做日志管理和切割变的容易了③ 如果要调用monolog的方法需要调用callMonolo...
Laravel 集成的 Monolog 库对日志进行配置和记录(自定义目录文件)
woqianduo的博客
11-12
4746
概述
日志是不可或缺的模块,Laravel自然也对日志提供了完善的支持。目前Laravel集成了强大的Monolog库进行日志记录。下面我们就来大致看一下Laravel中如何对日志进行配置以及日志的简单使用。
1、日志处理器配置
首先我们来看日志处理器的配置。Laravel目前支持四种日志处理器:
single —— 将日志记录到单个文件中。该日志处理器对应Monolog的StreamHandl...
laravel自定义log文件
haibo_j的博客
10-17
848
在项目开发中经常会遇到单独打印log日志的地方,现在记录下自己常用的方法:
// 采用的是monolog包,将需要用到的类use进来
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
class Test
public function func1 ()
$log = new Logger(...
【Laravel系列7.1】日志
硬核项目经理
05-26
2546
日志对于一个框架系统来说,日志和异常处理可以说是非常重要的一个功能组件。我们的项目不管大还是小,对于错误异常都应该是零容忍的状态。异常处理机制可以帮助我们及时发现问题,并且将问题记录到日志中。而日志可以帮助我们掌握系统的运行情况,查找问题原因。总之,日志和异常处理是在系统的运维状态中非常重要的两个功能。日志记录Laravel 中的日志功能的使用非常简单,我们前面讲过的门面...
laravel 5.5自定义log文件名及目录
热门推荐
u012279647的博客
06-26
4万+
在控制器任意地方添加
$monolog = \Log::getMonolog();
$monolog->popHandler();
\Log::useFiles(storage_path('logs/job/error.log'));
\Log::info('测试');
laravel 自定义日志目录
曾沂宏的博客
05-04
2188
laravel自带的Log::info日志功能有限,只能单个文件记录或者按照日期记录。
实际开发过程中,经常需要按功能来记录日志。为了方便,使用Logger自定义封装一些日志功能。
<?php
/**
* laravel的日志类不够用,根据项目日志习惯二次封装Monolog日志类
*/
namespace App\Utils;
use Monolog\Logger;
use M...
Laravel自定义日志写入详解
qq_37167546的博客
04-27
2999
日志文件是每个项目中的必需品,极大的方便了我们记录和解决问题,但是在使用的过程中也会遇到一些麻烦,比如写日志的地方特别多,日志很乱,其实这些问题框架中都有对应的解决办法
首先我们需要知道几个文件
/config/logging.php 这个文件是laravel 日志的配置文件,我们主要看 channels这个数组中的内容,内容太多,我保留了其中部分内容
'channels' => [
...
laravel翻看php日志,关于Laravel的日志用法
weixin_26767391的博客
04-09
289
这篇文章主要介绍了Laravel日志用法,结合实例形式较为详细的分析了Laravel日志的功能、定义、使用方法与相关注意事项,需要的朋友可以参考下本文实例讲述了Laravel日志用法。分享给大家供大家参考,具体如下:这里使用的Laravel版本仍是5.2日志是非常重要的。本地开发可以开启调试模式,但是上线的项目查看日志是非常简洁有效的调试手段。Laravel集成了Monolog日志库以便提供多种功...
laravel mysql log_Laravel日志用法详解
weixin_30520605的博客
02-01
221
本文实例讲述了Laravel日志用法。分享给大家供大家参考,具体如下:这里使用的Laravel版本仍是5.2日志是非常重要的。本地开发可以开启调试模式,但是上线的项目查看日志是非常简洁有效的调试手段。Laravel集成了Monolog日志库以便提供多种功能强大的日志处理器。Laravel支持日志方法single, daily, syslog 和 errorlog。例如,如果你想要日志文件按日生成而...
Laravel自定义error log
u013071763的博客
12-28
264
1.config\logging.php
2. ‘errorlog_test’ => [
‘driver’ => ‘daily’,
‘path’ => storage_path(‘logs/errorlog_test.log’),
‘level’ => ‘debug’,
‘days’ => 14,
],
3.调用方式
Log::channel(‘errorlog_test’)->info(‘test’);
...
Laravel文件系统,自定义日志文件、管理文件--Star.hou
明日又天涯
09-18
915
使用local驱动的时候,注意所有文件操作相对于定义在配置文件中的root目录,默认情况下,该值设置为storage/app目录,因此,下面的方法将会存储文件到storage/app/file.txt:
Storage::disk('local')->put('file.txt', 'Contents');
如果要修改storage/app/file.txt路径未非项目路径,需要修改驱动配...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:大白
设计师:CSDN官方博客
返回首页
wulove52
CSDN认证博客专家
CSDN认证企业博客
码龄15年
暂无认证
73
原创
14万+
周排名
187万+
总排名
35万+
访问
等级
4074
积分
63
粉丝
71
获赞
18
评论
215
收藏
私信
关注
热门文章
慎用composer update
29096
git删除远程分支和tag相关命令
20898
laravel中的错误与日志(可以自定义日志目录和log文件名)
18582
linux中支持断点续传的命类似SCP的命令rsync
15025
smarty模板引擎--php高级最详细教程
14169
分类专栏
php
50篇
git
7篇
mysql
6篇
javascript
14篇
Linux basic
11篇
Python
c/c++
Shell
Redis
Mongodb
1篇
Go
Node.js
4篇
web服务环境搭建与配置
13篇
Nginx
2篇
laravel
10篇
swoole
算法
2篇
佳作/思考
4篇
其他文章
1篇
工具使用和配置
git命令
2篇
常用命令
1篇
html+css
6篇
linux
9篇
自学linux
2篇
linux简介
1篇
xampp
1篇
mysql密码重置
windows
composer
3篇
npm
5篇
前端脚手架
1篇
读书
1篇
yii框架
1篇
DEDECMS二次开发
7篇
webpack
1篇
webstorm
最新评论
关于启动vagrant up 蓝屏的一个问题的思考
金九亿joey:
我也遇到了这个情况,记一下这个知识点
javascript 作用域、变量提升练习题
难瘦丶:
最后一题没有2
linux中支持断点续传的命类似SCP的命令rsync
Tisfy:
我毫不犹豫的把楼主的这个帖子收藏了
Nginx负载均衡与高可用的实现
小zg:
慎用composer update
He195501:
真的坑爹 使用了composerupdate直接把我的底包更新玩毒子了
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
javascript this指向总结
javascript 作用域、变量提升练习题
javascript 栈内存、堆内存、作用域、变量(变量提升ES5)全面了解之间的关系(1)
2019年17篇
2018年14篇
2017年45篇
2016年50篇
目录
目录
分类专栏
php
50篇
git
7篇
mysql
6篇
javascript
14篇
Linux basic
11篇
Python
c/c++
Shell
Redis
Mongodb
1篇
Go
Node.js
4篇
web服务环境搭建与配置
13篇
Nginx
2篇
laravel
10篇
swoole
算法
2篇
佳作/思考
4篇
其他文章
1篇
工具使用和配置
git命令
2篇
常用命令
1篇
html+css
6篇
linux
9篇
自学linux
2篇
linux简介
1篇
xampp
1篇
mysql密码重置
windows
composer
3篇
npm
5篇
前端脚手架
1篇
读书
1篇
yii框架
1篇
DEDECMS二次开发
7篇
webpack
1篇
webstorm
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值