laralogapp/laralog

一个与laralog.app一起工作的包,允许您轻松访问应用程序的日志。

0.1 2018-11-08 16:13 UTC

This package is auto-updated.

Last update: 2024-09-19 10:27:43 UTC


README

此包可以与https://laralog.app结合使用,以实现Laravel日志的免费、简单和集中远程查看。

此包的目的是提供一个集中界面,让您可以轻松阅读格式化的响应格式中所有Laravel应用程序的日志。

它并不打算取代papertrail等服务。 https://laralog.app永远不会存储日志数据,它通过HTTP协议访问您的日志数据(多少由您决定),并为读取、搜索和过滤您所需的所有Laravel应用程序的日志提供接口。

安装

需要安装laralogapp/laralog包并更新您的依赖项。

$ composer require laralogapp/laralog

如果您正在使用Laravel 5.4及以下版本,您需要将服务提供者添加到您的config/app.php providers数组中,否则将使用自动发现。

Laralog\Laralog\LaralogServiceProvider::class

发布包的配置

$ php artisan vendor:publish --provider="Laralog\Laralog\LaralogServiceProvider"

配置

[必需] auth_token - 这是您的应用程序与https://laralog.app's接口之间的共享密钥。您需要将其设置为自定义密钥或https://laralog.app创建新应用程序时生成的密钥

max_file_size - 允许的最大日志文件大小

truncated_logs - 如果日志超过最大文件大小,则截断日志到最大文件大小,数据将从文件末尾获取(这意味着日志数据将是最近的条目)。

ip_whitelist - 允许访问日志数据的IP,默认情况下此值为空,这意味着所有IP都可以访问数据。但如果您希望限制可以访问您数据的IP,则可以使用此选项。 (如果您担心令牌的安全性,则很有用)。

注意

Laralog通过客户端访问您的日志数据,因此您的日志数据永远不会触及Laralog的服务器。此规则的例外是HTTP连接。HTTP连接通过Laralog的服务器代理,以防止浏览器抛出混合内容错误。

  • 完全免费
  • 支持Laravel 5.1+
  • 通过HTTP或HTTPS连接
  • 通过白名单限制可以查看日志的人
  • 连接到本地应用程序

编写自己的界面

此包不必与https://laralog.app一起使用。欢迎使用此包的json端点编写自己的前端以查看和管理日志。

端点

GET /laralog/available/logs

示例成功响应 - 200

大小以字节为单位

{
    "files": [
        {
            "size": 293316, 
            "basename": "laravel-2018-10-10.log"
        },
        {
            "size": 1665518042,
            "basename": "laravel-big-log.log"
        },
        {
            "size": 267207,
            "basename": "laravel.log"
        }
    ]
}

端点

GET /laralog/get/log

参数

log_basename - 要获取数据的日志的基本名称

示例成功响应 - 200

注意 - 栈跟踪的每一行都由换行符分隔。

{
    "log_entries": [
        {
            "date": "2018-11-04 15:58:56", 
            "environment": "local",
            "level": "ERROR",
            "message": "fread(): Length parameter must be greater than 0 {\"exception\":\"[object] (ErrorException(code: 0): fread(): Length parameter must be greater than 0 at LaraLog/src/LogParser.php:81)\n",
            "stacktrace": "\n#0 [internal function]: Illuminate\\\\Foundation\\\\Bootstrap\\\\HandleExceptions->handleError(2, 'fread(): Length...', '...', 81, Array)\n#1 LaraLog/src/LogParser.php(81): fread(Resource id #252, 0)\n#2 LaraLog/src/LogController.php(51): Laralog\\\\Laralog\\\\LogParser->truncatedLogContents('...')\n#3 [internal function]: Laralog\\\\Laralog\\\\LogController->getLog()\n#4 vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): call_user_func_array(Array, Array)\n#\n..."
        },
        ...
    ]
}