bankdev/logviewer

Laravel 4.2 日志文件查看器。

dev-master 2014-08-06 09:24 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:16:45 UTC


README

#Laravel 4.2 LogViewer

轻松查看和删除 Laravel 4 的日志。

灵感来自 Fire Log,由 David Morrow 为 CodeIgniter 开发,以及 Larvel Log Viewer,由 Eric Barnes 为 Laravel 3 开发。

由 Micheal Mand 创建和维护。版权所有 © 2013。遵照 MIT 许可证。

Build Status Total Downloads

#关于 Laravel 4.2 的说明

Laravel 4.2 应用程序记录日志的方式与之前不同。这虽然在技术上不会破坏 LogViewer,但 LogViewer 也不知道如何处理这些变化。以下是一个快速修复方法:

在您的 app/start/global.php 文件中,将第 34 行更改如下:

Log::useFiles(storage_path().'/logs/laravel.log');

$logFile = 'log-'.php_sapi_name().'.txt'; 
OR 
$logFile = 'xxx.'.log;
$logFile = 'xxx'.txt;

$logFile ::: Can create your own file name. ^___^


Log::useDailyFiles(storage_path().'/logs/'.$logFile);

这仅适用于 Laravel 4.2 的新安装。如果您已升级现有的 4.1 应用程序(并且没有更改日志的创建和存储方式),则一切应该仍然正常。

##屏幕截图

在此处查看屏幕截图

##安装

bankdev/logviewer 添加到 composer.json 中的要求。

{
    ...
    "require": {
        ...
        "bankdev/logviewer": "dev-master"
        ...
    },
}

更新 composer

$ php composer.phar update

将提供者添加到您的 app/config/app.php

'providers' => array(

    ...
    'bankdev\Logviewer\LogviewerServiceProvider',

),

发布包资产

$ php artisan asset:publish bankdev/logviewer

(可选) 您可以配置您的 composer.json 在每次 $ composer update 后执行此操作。

"scripts":{
    "post-update-cmd":[
        "php artisan asset:publish bankdev/logviewer",
        "php artisan optimize",
    ]
},

(可选) 发布包配置

$ php artisan config:publish bankdev/logviewer

请注意:如果您已更改您的 app/config/packages/bankdev/logviewer/config.php 文件,请不要再次发布包配置。它将在没有任何警告的情况下覆盖您的配置。

##使用和配置

###使用 $fileName 默认情况下,LogViewer 将注册一些路由

  • logviewer -> 跳转到今天的日志,显示所有级别。
  • logviewer/$app/$sapi/$fileName/delete -> 从 $sapi (请参阅: php_sapi_name) 删除日志。
  • logviewer/$app/$sapi/$fileName/$level? -> 显示来自 $sapi$fileName 上的日志,级别为 $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'), 将应用默认的 Laravel auth 过滤器到 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:应用程序的'简称'作为键,值是一个日志日期数组。
  • $log:数组。当前选定的日志的内容。每条消息都拆分为一个数组。结构
    • level:字符串。日志消息的级别。
    • header:字符串。日志消息的第一行。
    • stack:字符串。日志消息的其余部分。如果消息没有包含堆栈跟踪,则可能为空。
  • $empty:布尔值。当前日志是否为空。
  • $fileName:字符串。当前选定的日志的文件名。
  • $sapi:字符串。当前选定的日志的人类可读的SAPI。
  • $sapi_plain:字符串。当前选定的日志的SAPI。用于URI。
  • $url:字符串。配置中的基本URL。
  • $levels:数组。每个psr/log的所有可能的日志级别。
  • $path:字符串。当前选定的日志的应用程序的数组键。