laravel的monolog使用
来源:互联网 发布:内蒙古广电网络宽带 编辑:程序博客网 时间:2024/06/05 19:00
今天做项目,用到了 "日志系统",laravel本身支持了 "monolog",就简单了解下。laravel对monolog的支持,比较简单,直接参照 "laravel学院" 的文章:http://laravelacademy.org/post/1878.htmlmonolog资料地址(现在想找什么原始资料,直接github上搜索,或者google,基本都直接定位):https://github.com/Seldaek/monolog还有一篇文章,讲解的可能不错(还没看,只是看到:可以将不同的日志内容,记录到不同的文件中,例如:将订单记录专门记录到订单日志中,应该很好!):http://www.cnblogs.com/yjf512/p/4173261.html因时间有限,就不详细看文档了,只了解怎么使用就行(看学院的文章即可),我这里再总结下:laravel对monolog的集成,有几个地方:1.conifg/app.php 中的 "log" 配置项'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。上面4种方式不够,还可以使用configureMonologUsing方法完全控制Monolog的日志处理器:$app->configureMonologUsing(function($monolog) { $monolog->pushHandler(...);});这种方式需要注意的是:必须将上述这段代码置于bootstrap/app.php文件返回$app之前处才能生效。2.我们在项目中,使用 "log Facades" 来记录日志use Log;Log::debug();// 记录日志3.laravel内部的log集成 "monolog",是在 "Illuminate\Log\Writer",文件很简单,我们可以简单看下它的源码里的方法:// 8种日志级别emergency($message, $context = []) // 记录日志内容,以及具体的一个数据数组alert()critical()error()warning()notice()info()debug()// 与上面的8种方式一致,不过是第一个参数,传递 "具体日志级别",其他没区别。log() 和 write() 方法一致log($level, $message, $context = [])// level可以是上面8种的任意一个:debug, info ...write($level, $message, $context = [])// 注册同 config/app.php 中的 log 配置项可用的4种配置相关的日志处理器useFiles()// 可指定日志文件useDailyFiles() // 可指定具体天的日志文件useSyslog() useErrorLog()// 获取底层的 monolog 对象实例getMonolog()// 下面3个,和laravel的事件调度有关,没有研究过listen()setEventDispatcher()getEventDispatcher()4.以上几个文件查看过,并未发现,哪里设置了 "log" 日志的存储路径。通过全文搜索,筛选到:Illuminate/Foundation/Bootstrap/ConfigureLogging.php 中,确实使用了:$log->useFiles($app->storagePath().'/logs/laravel.log',)$log->useDailyFiles($app->storagePath().'/logs/laravel.log', is_null($maxFiles) ? 5 : $maxFiles,)/*Illuminate/Foundation/Bootstrap/ConfigureLogging.php该文件,可能是 laravel 启动相关的一些核心文件 */示例:代码:use Log; Log::debug('dongxuemin', ['name'=>'dongxuemin', 'age'=>30]); Log::info('dongxuemin', ['name'=>'dongxuemin', 'age'=>30]); 在 'storage/logs/laravel.log' 中记录:[2017-04-10 16:54:28] local.DEBUG: dongxuemin {"name":"dongxuemin","age":30} [2017-04-10 16:54:28] local.INFO: dongxuemin {"name":"dongxuemin","age":30} 修改 'config/app.php' 中的 "log" 配置为 'daily',会生成: 'storage/logs/laravel-2017-04-10.log'
0 0
- laravel的monolog使用
- Laravel之Monolog全解析
- Laravel之Monolog全解析
- laravel monolog 日志权限问题
- thinkphp5使用monolog
- Laravel结合monolog做日志记录
- 自定义 Laravel (monolog)日志位置
- laravel框架的使用
- laravel session的使用
- laravel session的使用
- Laravel缓存的使用
- laravel命令行Command的使用
- 使用laravel:服务器的配置
- laravel 中 phpunit的使用
- laravel之dingoapi的使用
- laravel身份验证-Auth的使用
- laravel artisan工具的使用
- laravel中session的使用
- openstack中的超配比
- Sass语法详解
- 月份选择控件
- MyBatis关联查询
- Python 程序的运行原理[转]
- laravel的monolog使用
- 关于oracle 定时JOB
- 一次完整的HTTP请求与响应涉及了哪些知识?
- 浏览器各区域高度
- java集合类面试题40
- eclipse去除定义变量自动补全
- 最受欢迎的5个Android ORM框架
- .NET/C#中对自定义对象集合进行自定义排序的方法
- 第三次作业 C++