laravel3学习笔记(十五)

原作者博客:ieqi.net

====================================================================================================

异常与日志

在应用中,我们总会遇到各种问题、各种异常,这时,记录异常发生时的状态就很重要,所以异常与日志是有着天然的关系的。

关于异常与日志的配置在文件 application/config/error.php 中。

文件中有四个配置项:

‘ignore‘ => array(),
‘detail‘ => true,
‘log‘ => false,
‘logger‘ => function($exception)
	{
		Log::exception($exception);
	},

其中 ignore 键指向的数组中设置的是需要忽略掉的 php error 等级,关于 Error 等级,可以查阅这里( http://php.net/manual/en/function.error-reporting.php )

detail 项指是否展示详细的错误信息,一般情况在开发的时候应该讲此项设置为 true ,在生产环境中应该设置为 false 关闭。

log 项如果设置为 true 时,那么当有异常发生时,框架则会执行 logger 项所配置的匿名函数。这样就为我们处理错误日志的时候提供了极大的方便,你甚至可以在匿名函数中设置 E-mail 通知,默认情况下开启 log ,系统将会将错误日志写入 storage/logs 下的日志文件,这些日志文件安装天分割。

另外,如果想在程序中将某些信息写入 log 文件可以直接调用如下方法:

Log::write(‘info‘, ‘This is just an informational message!‘);

// 也可以写成更简单的形式
Log::info(‘This is just an informational message!‘);

laravel3学习笔记(十五)

时间: 2024-09-30 05:26:58

laravel3学习笔记(十五)的相关文章

Swift 学习笔记十五:扩展

扩展就是向一个已有的类.结构体或枚举类型添加新功能(functionality).扩展和 Objective-C 中的分类(categories)类似.(不过与Objective-C不同的是,Swift 的扩展没有名字.) Swift 中的扩展可以: 1.添加计算型属性和计算静态属性 2.定义实例方法和类型方法 3.提供新的构造器 4.定义下标 5.定义和使用新的嵌套类型 6.使一个已有类型符合某个协议 一.扩展属性,构造器,方法 class Human{ var name:String? va

laravel3学习笔记(十二)

原作者博客:ieqi.net ==================================================================================================== 请求反射 HTTP 协议本身是无状态性的,但是在应用中处理各种业务逻辑时我们必须要有状态的把控,这样,折中的办法就是将状态进行标记然后嵌入到 HTTP 协议的请求中,然后应用根据这些标记来进行状态的串联以及处理.所以我们就要对请求进行反射处理以获取请求信息, Lara

laravel3学习笔记(十四)

原作者博客:ieqi.net ==================================================================================================== 运行时配置 在 Laravel3 中很多地方我们都可以看到“约定大于配置”的影子,我本人也很喜欢这种工程哲学尤其是在框架领域,当然这并不能代替所有的配置.我们知道 Laravel3 中,主要配置都写在 application/config 文件夹下,在应用逻辑中,往往

西门子PLC学习笔记十五-(数据块及数据访问方式)

一.数据块 数据块是在S7 CPU的存储器中定义的,用户可以定义多了数据块,但是CPU对数据块数量及数据总量是有限制的. 数据块与临时数据不同,当逻辑块执行结束或数据块关闭,数据块中的数据是会保留住的. 数据块分共享数据块.背景数据块.用户自定义数据块,下面分别介绍. 1.共享数据块(全局数据块) 其用于存储全局数据,所有逻辑块(OB.FC.FB)都可以访问共享数据块中的数据. 2.背景数据块(私有存储区) 其用做功能块(FB)的"存储器".FB的参数和静态变量安排在它的背景数据块中.

Java基础学习笔记十五 集合、迭代器、泛型

Collection 集合,集合是java中提供的一种容器,可以用来存储多个数据. 在前面的学习中,我们知道数据多了,可以使用数组存放或者使用ArrayList集合进行存放数据.那么,集合和数组既然都是容器,它们有啥区别呢? 数组的长度是固定的.集合的长度是可变的. 集合中存储的元素必须是引用类型数据 集合继承关系图 ArrayList的继承关系: 查看ArrayList类发现它继承了抽象类AbstractList同时实现接口List,而List接口又继承了Collection接口.Collec

Android学习笔记十五.深入理解fragment(三) 之《兼容多分辨率的应用》实战

深入理解fragment(三) 之<兼容多分辨率的应用>实战 在上一篇博文中介绍了如何使用Android Fragment开发适用于大屏幕应用,现在我们在上一个应用的基础上继续学习如何使用Fragment开发兼容多分辨率的应用. 1.建立/res/values-large/refs.xml引用资源文件 为了开发兼顾屏幕分辨率的应用,我们需要建立一个引用资源文件,专门用于定义各种引用项.refs.xml引用资源文件中定义了一项引用,其作用就是标明activity_book_list实际引用(@)

yii2源码学习笔记(十五)

这几天有点忙今天好些了,继续上次的module来吧 1 /** 2 * Returns the directory that contains the controller classes according to [[controllerNamespace]]. 3 *根据控制器的命名空间返回控制器的目录路径 4 * Note that in order for this method to return a value, you must define 5 * an alias for th

python学习笔记十五 web框架

python Web程序 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. Python的WEB框架分为两类: 自己写socket,自己处理请求 基于wsgi(Web Server Gateway Interface WEB服务网关接口,实现socket功能),自己处理请求 如图示: 自己写的web框架 #!/usr/bin/env python #coding:utf-8 import socket def handle_req

PHP学习笔记十五【面向对象二】

<?php class Cat{ //public 访问修饰符 public $name; public $age; } //创建 $cat1=new Cat; $cat1->name="小白"; //访问某个对象的某个属性 $对象名->属性名 echo $cat1->name; echo "<br/>"; class Person { public $name; public $age; } $a=new Person(); $