Laravel 集成了 Monolog 日志函数库,Monolog 支持和提供多种强大的日志处理功能。

1、设置,日志模式

(1)Laravel 提供可立即使用的 single、daily、syslog 和 errorlog 日志模式。

例如,如果你想要每天保存一个日志文件,而不是单个文件,则可以在 config/app.php 配置文件内设置 log 变量:'log' => 'daily'

'log' => env('APP_LOG', 'single'), // 可用配置有:"single", "daily", "syslog", "errorlog"
single —— 将日志记录到单个文件中。该日志处理器对应Monolog的StreamHandler。
daily —— 以日期为单位将日志进行归档,每天创建一个新的日志文件记录日志。该日志处理器 对应Monolog的RotatingFileHandler。
syslog —— 将日志记录到syslog中。该日志处理器 对应Monolog的SyslogHandler。
errorlog —— 将日志记录到PHP的error_log中。该日志处理器 对应Monolog的ErrorLogHandler。

(2)当使用「日志模式」时,默认情况下会保存 5 天的日志,你可通过 app.php 配置文件里的配置项 log_max_files来定制日志保存天数:

'log_max_files' => 30

(3)如果你想要完全控制 Monolog,则使用应用程序的 configureMonologUsing 方法。此方法应该在bootstrap/app.php 文件返回 $app 变量之前被调用:

$app->configureMonologUsing(function($monolog) {
$monolog->pushHandler(...);
});

return $app;

(4)默认情况下,Laravel 对所有的错误级别进行记录,你可以通过定制 app.php 的 log_level 设置项来限制错误记录级别。Laravel 会记录大于或者等于你设置的 log_level 的值,例如:设置 log_level 为 error 级别的话,Laravel 会记录 error, critical, alert, 和 emergency 级别的错误。

'log_level' => env('APP_LOG_LEVEL', 'debug'),

(5)日志存储位置:'storage/logs/laravel.log

2、我们在项目中,使用 "log Facades" 来记录日志

use Log;

Log::debug(); // 记录日志

如:
use Log;
Log::debug('ivy', ['name'=>'ivy', 'age'=>30]);
Log::info('ivy', ['name'=>'ivy', 'age'=>30]); 在 'storage/logs/laravel.log' 中记录:
[2019-06-17 16:54:28] local.DEBUG: ivy {"name":"ivy","age":30}
[2019-06-17 16:54:28] local.INFO:ivy {"name":"ivy","age":30} 修改 'config/app.php' 中的 "log" 配置为 'daily',会生成: 'storage/logs/laravel-2019-06-17.log'

laravel的monolog使用的更多相关文章

  1. Laravel 报500错误

    Laravel报500错误 发生情境: 使用Composer安装Laravel5.1版本到本地wamp环境,可以成功访问框架首页,然后上传到服务器上,报500错误. 解决: (1)在首页public/ ...

  2. vagrant的学习 之 Laravel

    vagrant的学习 之 Laravel 本文根据慕课网的视频教程练习,感谢慕课网! 慕课视频学习地址:https://www.imooc.com/video/14218. 慕课的参考文档地址:htt ...

  3. laravel5-目录结构分析

    laravel5-目录结构分析 (2016-01-21 11:24:03) 转载▼     一.环境配置: $ lsb_release -a No LSB modules are available. ...

  4. centos系统下安装使用composer教程

    Composer 是 PHP 的一个依赖管理工具.它允许你申明项目所依赖的代码库,它会在你的项目中为你安装他们.Composer 不是一个包管理器.是的,它涉及 "packages" ...

  5. lumen

    HTTP路由 基本路由 路由参数 必填参数 可选参数 正则表达式约束 命名路由 路由组 中间件 命令空间 路由前缀 基本路由 你可以在 route/web.php 文件中定义应用程序的全部路由.最基本 ...

  6. PHPGGC学习----理论

    本文首发于先知:https://xz.aliyun.com/t/5450 PHPGGC 是一款能够自动生成主流框架的序列化测试payload的工具,类似 Java 中的 ysoserial, 当前支持 ...

  7. Laravel中的日志与上传

    PHP中的框架众多,我自己就接触了好几个.大学那会啥也不懂啥也不会,拿了一个ThinkPHP学了.也许有好多人吐槽TP,但是个人感觉不能说哪个框架好,哪个框架不好,再不好的框架你能把源码读上一遍,框架 ...

  8. [laravel] Laravel - composer install

    #composer installLoading composer repositories with package informationUpdating dependencies (includ ...

  9. laravel中的错误与日志

    日志 laravel中的日志是基于monolog而封装的.laravel在它上面做了几个事情: 把monolog中的addInfo等函数简化成为了info这样的函数 增加了useFiles和useDa ...

随机推荐

  1. 1143, 3997: Dilworth定理的简单应用

    偏序集上的最小链覆盖等于最长反链 于是两道题 1143: [CTSC2008]祭祀river 求偏序集上的最长反链 转换成偏序集上的最小链覆盖 求个闭包,转换成最小路径覆盖,二分图匹配一发 #incl ...

  2. 1003: [ZJOI2006]物流运输

    就我一开始写状压的吗? 调不过 后来发现(直接搜索)直接最短路就行了-- \(f[i]\)表示前\(i\)天最少需要多少 \(f[i] = min(f[j] + dis(j + 1, i))\) 然后 ...

  3. JavaWeb_(SSH论坛)_七、辅助模块

    基于SSH框架的小型论坛项目 一.项目入门 传送门 二.框架整合 传送门 三.用户模块 传送门 四.页面显示 传送门 五.帖子模块 传送门 六.点赞模块 传送门 七.辅助模块 传送门 为避免代码冗余, ...

  4. Unity3D_(游戏)2D坦克大战 像素版

    2D坦克大战    像素版 游戏规则: 玩家通过上.下.左.右移动坦克,空格键发射子弹 敌人AI出身时朝向己方大本营(未防止游戏快速结束,心脏上方三个单位障碍物设为刚体) 当玩家被击杀次数>=3 ...

  5. BeanCopier对象复制学习

    BeanCopier是Cglib包中的一个类,用于对象的复制. 注意:目标对象必须先实例化  而且对象必须要有setter方法 初始化例子:   BeanCopier copier = BeanCop ...

  6. bootstrap editable有默认值

    function listEditor(data,productCode) { $('#tab1').bootstrapTable('load', data); $('#tab1').bootstra ...

  7. @Configuration与@Bean

    1,@Configuration与@Bean   @Configuration: 告诉Spring这是一个配置类,配置类==配置文件. @Configuration==beans.xml @Bean: ...

  8. 获取select的option值

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  9. ctf活动结果

    签到题:flag{0ca175b9c0f726831d895e269332461} 解题过程:使用winhex打开图片,查询到ANSI ASCII 得到结果 1.SimCTF{hello simple ...

  10. idea 更新后和新的直接安装前,都需要配置 idea64.exe.vmoptions 后再使用

    配置合适的参数提升性能,默认的性能不高