mertyildiran / logviewer
Laravel 4 日志文件查看器。
Requires
- php: >=5.3.7
- illuminate/filesystem: ~4.0
- illuminate/support: ~4.0
- psr/log: ~1.0
- symfony/finder: ~2.3
Requires (Dev)
- mockery/mockery: ~0.9
- phpunit/phpunit: ~4.0
README
#Laravel 4 LogViewer
轻松查看和删除 Laravel 4 的日志。
灵感来自 Fire Log(CodeIgniter),由 David Morrow 创建,以及 Larvel Log Viewer(Laravel 3),由 Eric Barnes 创建。
由 Micheal Mand 创建和维护。版权所有 © 2013。遵循 MIT 许可协议。
#关于 Laravel 4.1 的说明
截至目前(2013-11-29),新的 Laravel 4.1 应用程序记录日志的方式与以前不同。虽然这并不 技术上 影响到 LogViewer,但 LogViewer 也不知道如何处理这些变化。以下是一个快速修复方法
在您的 app/start/global.php
中,第 34 行 进行更改
Log::useFiles(storage_path().'/logs/laravel.log');
为
$logFile = 'log-'.php_sapi_name().'.txt'; Log::useDailyFiles(storage_path().'/logs/'.$logFile);
此仅适用于 Laravel 4.1 的新安装。如果您已升级现有的 4.0 应用程序(且未更改日志的创建和存储方式),一切应该仍然正常工作。
##演示
##安装
将 kmd/logviewer
添加到 composer.json
的需求中
{ ... "require": { ... "kmd/logviewer": "1.2.*" ... }, }
更新 composer
$ php composer.phar update
将提供者添加到您的 app/config/app.php
'providers' => array( ... 'Kmd\Logviewer\LogviewerServiceProvider', ),
发布包资产
$ php artisan asset:publish kmd/logviewer
(可选)您可以将配置您的 composer.json
以在每次 $ composer update
后执行此操作
"scripts":{
"post-update-cmd":[
"php artisan asset:publish kmd/logviewer",
"php artisan optimize",
]
},
(可选)发布包配置
$ php artisan config:publish kmd/logviewer
请注意:如果您已更改您的 app/config/packages/kmd/logviewer/config.php
中的设置,请不要再次发布包配置。它将在没有任何警告的情况下覆盖您的设置。
##使用和配置
###使用
默认情况下,LogViewer 将注册几个路由
logviewer
-> 重定向到今天的日志,显示所有级别。logviewer/$app/$sapi/$date/delete
-> 从$date
(Y-m-d
格式)上的$sapi
(参见:php_sapi_name)删除日志。logviewer/$app/$sapi/$date/$level?
-> 显示$sapi
在$date
上的日志,具有$level
(如果未提供,则默认为全部)。
LogViewer 还注册了一些过滤器
logviewer.logs
:聚合您配置的监控目录中的所有日志,并与$logs
变量共享。logviewer.messages
:检查会话中是否存在成功、错误或信息提示消息,并将$has_messages
变量设置为 true 或 false。
###配置
base_url
:LogViewer 可用的 URL。您可以将此嵌套(例如:admin/logviewer
)。默认:logviewer
。filters
:应用于路由之前和之后过滤器。我们默认不定义过滤器,因为不是每个人都使用身份验证或相同的过滤器名称。global
:影响整个 logviewer 的过滤器。例如:'global' => array('before' => 'auth'),
将将默认的 Laravelauth
过滤器应用于 logviewer,要求所有路由都需要登录用户。view
:影响查看日志文件的过滤器。delete
:影响删除日志文件的过滤器。
log_dirs
:要监视的日志目录的关联数组。数组键是应用程序的'名称',值是它们app/storage/logs
目录的路径(没有尾随斜杠)。默认:array('app' => storage_path().'/logs')
。log_order
:按升序或降序排序日志内容。默认:'asc'。per_page
:分页显示每页的日志消息数量。默认:10。view
:用于显示日志的视图的名称(和位置)。有关传递给此视图的变量的详细信息,请参阅“高级使用”部分。默认:'logviewer::viewer'。p_view
:要使用的分页视图。当使用Bootstrap 3作为应用程序的默认视图时,LogViewer中的分页将损坏。如果您创建自己的视图,请确保在您使用Bootstrap 3(或编写自己的分页视图)时更改此设置。默认:'pagination::slider'。
高级使用
不喜欢LogViewer的外观?需要更好地与您的应用程序主题集成?您可以创建自己的视图并更改配置选项来实现。以下是发送到视图的变量
$has_messages
:布尔值。《logviewer.messages》过滤器确定会话中是否有成功、错误或信息闪烁消息。用于隐藏闪烁消息容器。$logs
:数组。由《logviewer.logs》过滤器生成的聚合日志,来自所有监视的应用程序。按SAPI和应用程序分组。结构- SAPI作为键,值是一个数组,具有以下键
sapi
:可读的SAPI。logs
:应用程序的'短名称'作为键,值是日志日期的数组。
- SAPI作为键,值是一个数组,具有以下键
$log
:数组。当前选定的日志内容。每个消息都分割成数组。结构level
:字符串。日志消息的级别。header
:字符串。日志消息的第一行。stack
:字符串。日志消息的其余部分。如果消息不包含堆栈跟踪,则可能为空。
$empty
:布尔值。当前日志是否为空。$date
:字符串。当前选定日志的日期。$sapi
:字符串。当前选定日志的可读SAPI。$sapi_plain
:字符串。当前选定日志的SAPI。用于URI。$url
:字符串。配置中的基本URL。$levels
:数组。《psr/log》中所有可能的日志级别。$path
:字符串。当前选定日志应用程序的数组键。