syonix / monolog-viewer
Monolog (https://github.com/Seldaek/monolog) 生成的日志文件的易用查看器
Requires
- php: >=5.4
- ddtraceweb/monolog-parser: 1.*
- deralex/yaml-config-service-provider: ~1.0
- doctrine/collections: ~1.3
- ircmaxell/password-compat: 1.*
- league/flysystem: ~1.0
- league/flysystem-cached-adapter: ~1.0
- phpunit/phpunit: ~4.7
- rmccue/requests: 1.6.*
- silex/silex: ~1.2
- symfony/security: ~2.3
- symfony/twig-bridge: 2.7.*
- twig/twig: >=1.8,<2.0-dev
README
用于优雅地显示由 Monolog 生成的日志文件的查看器。
安装与设置
- 下载 Composer
- 执行
php composer.phar create-project syonix/monolog-viewer install-directory/
(确保将install-directory
替换为你想要安装 monolg 查看器的目录名称。 - 将文件上传到你的网站空间
- 确保 PHP 有对目录
/app/config/secure
的写入权限 - 这就是密码哈希将被存储的位置(见下文)。写入权限可以通过更改文件夹的 chmod 为 777(不够安全)或确保文件的所有者与服务器使用的所有者相同来实现。 - 创建一个配置文件(重命名或复制
config_example.yaml
)。 - 在浏览器中打开 Monolog 查看器
- 输入两次你选择的密码并点击“创建登录”。
- 完成。现在您可以登录并使用您的 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。目前实现了 local
和 ftp
,但可以轻松地将任何其他 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]