syonix/monolog-viewer

Monolog (https://github.com/Seldaek/monolog) 生成的日志文件的易用查看器

安装数: 6,051

依赖关系: 0

推荐者: 0

安全性: 0

星星: 273

关注者: 11

分支: 67

开放性问题: 32

语言:CSS

类型:项目

v4.0.2 2015-08-11 17:44 UTC

This package is not auto-updated.

Last update: 2024-09-26 14:44:31 UTC


README

Build Status Total Downloads Latest Stable Version SensioLabsInsight

用于优雅地显示由 Monolog 生成的日志文件的查看器。

截图 Mockup Credits

安装与设置

  1. 下载 Composer
  2. 执行 php composer.phar create-project syonix/monolog-viewer install-directory/(确保将 install-directory 替换为你想要安装 monolg 查看器的目录名称。
  3. 将文件上传到你的网站空间
  4. 确保 PHP 有对目录 /app/config/secure 的写入权限 - 这就是密码哈希将被存储的位置(见下文)。写入权限可以通过更改文件夹的 chmod 为 777(不够安全)或确保文件的所有者与服务器使用的所有者相同来实现。
  5. 创建一个配置文件(重命名或复制 config_example.yaml)。
  6. 在浏览器中打开 Monolog 查看器
  7. 输入两次你选择的密码并点击“创建登录”。
  8. 完成。现在您可以登录并使用您的 Monolog 查看器安装了。

MonologViewer 需要 PHP 5.5 或更高版本。如果您使用 Apache,请确保启用 mod_rewrite 模块。

有关 nginx 下的配置,请参阅 问题 #14

配置

配置文件是一个 YAML 文件,包含您的日志文件路径。日志文件可以分组。这些组被称为客户端,但您也可以将它们视为站点或任何对您有意义的内容。

要设置日志文件,请确保根据以下结构填写配置文件

debug: false
timezone: "Europe/Zurich"
dateFormat: d.m.Y, H:i:s
logs:
    Demo:
        Demo-Log-File:
            type: local
            path: /path/to/your/monolog-viewer/installation/test/SyonixLogViewer/res/test.log
    Acme:
        Acme App:
            type: ftp
            host: acme.com
            username: logs
            password: $upersecur3
            path: app/logs/prod.log

type 字段确定应用程序将如何尝试访问日志文件。为此,使用了 Flysystem。目前实现了 localftp,但可以轻松地将任何其他 Flysystem 适配器添加到 Syonix\LogViewer\LogFile.php 构造函数中。请随意贡献。

注意:如果您的 config.yaml 无效,Monolog 查看器将显示错误消息。此外,如果一个客户端没有任何日志,则该客户端不会在导航中列出。如果您的配置文件无效且您不知道原因,请检查是否有 任何制表符字符

配置值

以下配置值可用

Flysystem 类型

local

访问服务器本地文件系统上的日志文件。

ftp

通过 FTP 访问日志文件。

sftp

通过 SFTP 访问日志文件。

所有类型

密码管理

我的目标是保持此工具如此简单,以至于它可以安装在任何共享托管上。因此,我决定不使用数据库来存储密码。相反,它被保存在一个由 .htaccess 文件保护的文件夹中,因此无法被公众访问。

获取密码哈希的唯一方式是通过FTP,即使有人获取了文件,它仍然会使用PHP的password_hash()函数进行哈希处理。如果您使用安全的密码,这相当安全。

未来可能会实现多个用户。

修改密码

要修改密码,只需删除/app/config/secure/passwd文件,并打开Monolog Viewer来设置新密码。

移动设备

应用针对平板电脑和智能手机进行了全面优化,甚至可以安装到iOS设备的首页上。它将像原生应用一样运行,并具有应用图标和美丽的启动画面。

强制执行HTTPS

这应该在服务器配置级别完成。例如,您可以在.htaccess文件中添加以下内容,位于RewriteEngine On下面。

RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]