这篇文章主要介绍了Laravel日志用法,结合实例形式较为详细的分析了Laravel日志的功能、定义、使用方法与相关注意事项,需要的朋友可以参考下

本文实例讲述了Laravel日志用法。分享给大家供大家参考,具体如下:

这里使用的Laravel版本仍是5.2

日志是非常重要的。本地开发可以开启调试模式,但是上线的项目查看日志是非常简洁有效的调试手段。Laravel集成了Monolog日志库以便提供多种功能强大的日志处理器。

Laravel支持日志方法single, daily, syslog 和 errorlog。例如,如果你想要日志文件按日生成而不是生成单个文件,应该在配置文件config/app.php中设置log值如下:

'log' => 'daily'

系统默认配置为single

#config/app.php:111

'log' => env('APP_LOG', 'single'),

下面我们看下Laravel是如何配置日志的。

#vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php:36

protected $bootstrappers = [

'Illuminate\Foundation\Bootstrap\DetectEnvironment',

'Illuminate\Foundation\Bootstrap\LoadConfiguration',

'Illuminate\Foundation\Bootstrap\ConfigureLogging',

'Illuminate\Foundation\Bootstrap\HandleExceptions',

'Illuminate\Foundation\Bootstrap\RegisterFacades',

'Illuminate\Foundation\Bootstrap\RegisterProviders',

'Illuminate\Foundation\Bootstrap\BootProviders',

];

namespace Illuminate\Foundation\Bootstrap;

use Illuminate\Log\Writer;

use Monolog\Logger as Monolog;

use Illuminate\Contracts\Foundation\Application;

class ConfigureLogging

{

/**

* Bootstrap the given application.

*

* @param \Illuminate\Contracts\Foundation\Application $app

* @return void

*/

public function bootstrap(Application $app)

{

$log = $this->registerLogger($app);

// If a custom Monolog configurator has been registered for the application

// we will call that, passing Monolog along. Otherwise, we will grab the

// the configurations for the log system and use it for configuration.

if ($app->hasMonologConfigurator()) {

call_user_func(

$app->getMonologConfigurator(), $log->getMonolog()

);

} else {

$this->configureHandlers($app, $log);

}

}

如果自定义Monolog配置,走if条件,默认走else

protected function configureHandlers(Application $app, Writer $log)

{

$method = 'configure'.ucfirst($app['config']['app.log']).'Handler';

$this->{$method}($app, $log);

}

/**

* Configure the Monolog handlers for the application.

*

* @param \Illuminate\Contracts\Foundation\Application $app

* @param \Illuminate\Log\Writer $log

* @return void

*/

protected function configureSingleHandler(Application $app, Writer $log)

{

$log->useFiles(

$app->storagePath().'/logs/laravel.log', #存储文件

$app->make('config')->get('app.log_level', 'debug') #存储级别

);

}

这里useFiles方法是注册signle文件日志处理程序,并设置存储文件以及存储的级别。

下面是初始化日志时的4种日志处理注册方式。

public function useFiles($path, $level = 'debug') #单一文件

public function useDailyFiles($path, $days = 0, $level = 'debug') #每日生成

public function useSyslog($name = 'laravel', $level = 'debug') #系统日志的方式

public function useErrorLog($level = 'debug', $messageType = ErrorLogHandler::OPERATING_SYSTEM) #等同于php的error_log方式

日志初始化信息基本上就是上面这些。

你可以使用Log门面编写日志信息到日志中:

八种日志级别:emergency, alert, critical, error,warning, notice, info 和 debug。

Log::emergency($error);

Log::alert($error);

Log::critical($error);

Log::error($error);

Log::warning($error);

Log::notice($error);

Log::info($error);

Log::debug($error);

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

laravel翻看php日志,关于Laravel的日志用法相关推荐

  1. php日志 monolog,Laravel 集成的 Monolog 库对日志进行配置和记录实例

    本文章为各位介绍一篇关于Laravel 集成的 Monolog 库对日志进行配置和记录的实例,具体的如下希望对各位吸帮助. 对于大型系统而言,日志是不可或缺的模块,Laravel自然也对日志提供了完善 ...

  2. slf4j导入那个依赖_学习SPRINGBOOT结合日志门面SLF4J和日志实现LOGBACK的混合使用

    一.此处主要介绍在springboot工程下如何使用 logback + slf4j 进行日志记录. logback主要包含三个组成部分:Loggers(日志记录器).Appenders(输出目的在) ...

  3. laravel基础课程---8、laravel响应和视图(响应是什么)

    laravel基础课程---8.laravel响应和视图(响应是什么) 一.总结 一句话总结: 就是向请求返回的响应数据(一般为html(视图),当然也可以是变量值):所有的路由及控制器必须返回某个类 ...

  4. mysql二进制日志管理_MYSQL二进制日志管理脚本

    MYSQL二进制日志管理脚本脚本原理是每小时对进行flush生成新的二进制日志,将二进制日志备份至NFS,并压缩存放:#!/bin/bash#Purpose:管理二进制日志,每小时刷新二进制日志,并将 ...

  5. potainer 日志_实时Web日志分析神器

    GoAccess 是什么? GoAccess 是一个开源的实时Web日志分析器和交互式查看器,可在*nix系统上的终端或通过浏览器运行.它为系统管理员提供了实时而有价值的HTTP统计信息. GoAcc ...

  6. mysql日志文件名称_MySQL 日志文件 说明

    MySQL 5.5 官方文档上有关日志的分类: By default, nologs are enabled. The following log-specific sections provide ...

  7. 华为 日志服务器 配置文件,配置日志服务器

    配置日志服务器 内容精选 换一换 您可以通过云日志服务,查看访问七层共享型负载均衡请求的详细日志记录,分析负载均衡的响应状态码,快速定位异常的后端服务器.您已经创建了七层负载均衡.您已经开通了云日志服 ...

  8. 开源纯C日志函数库iLOG3快速入门(八、如果你喜欢简单日志函数甚于日志函数库)...

    2019独角兽企业重金招聘Python工程师标准>>> 开源纯C日志函数库iLOG3快速入门(八.如果你喜欢简单日志函数甚于日志函数库) 很多网友来信坚持表达了在项目中应使用简单日志 ...

  9. linux日志生成速率统计,Linux学习29-awk提取log日志信息,统计日志里面ip访问次数排序...

    前言 有一段log日志,需从日志里面分析,统计IP访问次数排序前10名,查看是否有异常攻击. 日志提取 如下日志,这段日志包含的信息内容较多,我们希望提取ip,访问时间,请求方式,访问路径(不带参数) ...

  10. 压缩SQL数据库日志-收缩SQL数据库日志-备份SQL数据库日志-删除SQL数据库日志

    [标题]压缩SQL数据库日志-收缩SQL数据库日志-备份SQL数据库日志-删除SQL数据库日志  [内容]         清除SQL数据库日志文件        有两种方式: 一.是压缩日志,二.是 ...

最新文章

  1. jQuery基础---filter()和find()
  2. vue2.x的小问题
  3. Angular新建组件以及组件之间的调用
  4. 程序员面试系列——插入排序
  5. 首款鸿蒙系统终端n,荣耀智慧屏正式发布,首款搭载鸿蒙系统终端,家庭C位新选择...
  6. 9.JSP运行原理与JSP页面的基本结构
  7. mysql主键long_MySQL主键设计
  8. 读取properties文件,中文乱码
  9. python中列表字典元组之间的区别_python之字典、元组、列表的区别
  10. 一组关于女生的秘密数据!
  11. 51信用卡微服务集成测试自动化探索
  12. Prompt范式,真香
  13. Python调用seek(pos,mode)方法报错Can‘t do nonzero cur-relative seeks
  14. OpenCV学习——绘制图像灰色直方图
  15. PHP执行系统外部命令函数:exec()、passthru()、system()、shell_exec()
  16. 现代通信原理4.2:随机过程
  17. Oracle 11gR2 RAC 修改监听端口号
  18. 一级域名和二级域名的区别
  19. 面试问题 你如何评价你上一家公司,你觉的上一家公司怎么评价你
  20. 新周刊:放弃北上广的10个理由

热门文章

  1. 无符号数的减法_C++核心准则ES.107:不要使用无符号数下标,使用gsl::index更好
  2. finecms控制器与html,使用@ HTML.Action与参数,以C#控制器
  3. python画五角星填充不同颜色_Python绘制分形树(一)
  4. 超级计算机的电力消耗,适用超级计算机的一种优化供电方式
  5. java的startswith_java startsWith和endsWith的用法 | 学步园
  6. java时间戳动态,是否可以根据窗口元素的时间戳动态生成BigQuery表名?
  7. cmd无法输出java结果_cmd中执行java命令没有输出结果
  8. 处理文件和文件夹的模块---os
  9. java多线程操作同一资源
  10. 【项目管理】ITTO-范围管理