gbox / minilog
一个无需依赖的PHP日志工具,绝对好用到哭 :)
2.0.0
2022-05-04 04:05 UTC
This package is auto-updated.
Last update: 2024-09-04 09:08:26 UTC
README
一个无需依赖的PHP日志工具,绝对好用到哭 :)
为什么还需要另一个日志工具?
我喜欢Monolog这样的项目,但它们缺少我对JavaScript原生的console.log()
所喜欢的便利性;而且Minilog中还有一些你可能会喜欢的便利功能
- 无需依赖
- 每个日志方法接受N个参数,并将它们自动连接成一个日志消息(就像JS的console.log!!! :D)
- 自动将数组和对自动进行JSON编码(就像JS的console.log :P),并相应地标记输出
- 自动确定要写入的CLI流;允许在PHP内部服务器上运行时进行CLI日志记录
- 根据日志级别的严重性自动应用CLI消息的颜色编码
- 有条件地允许每个日志实例记录调用文件和行号,以便您知道日志消息的来源
- 自动将每个日志文件以Y-M-D开头,以便进行每日日志轮换
安装
打开您最喜欢的CLI,并输入典型的composer require
命令
> composer require gbox/minilog
BOOM!现在开始记录日志!
用法
使用Minilog
非常简单。您定义一个new \Gbox\Minilog()
类实例,传入日志上下文名称,并可以传入一个选项关联数组来配置它以满足您的需求。
<?php require "vendor/autoload.php"; use Gbox\Minilog as Logger; // Minilog($logname [, $options[] ]) Logger::setup('logName', [ // write log entries to the console 'console' => true, // bool : defaults true // defines where log files should be written to 'dir' => './logs', // string : defaults '.' // defines the minimum RFC 5424 level to log 'level' => 'DEBUG', // string : defaults 'DEBUG' // defines whether to log the path and line number of the log call 'linenos' => true, // bool : defaults true // defines the timestamp format 'timestamp' => '[Y-m-d H:m:s]', // string : you can change this if you want ]); Logger::debug('testing', 'message', 'here'); // testing message here Logger::info('testing', 'message', 'here'); // testing message here Logger::notice('testing', 'message', 'here'); // testing message here Logger::warning('testing', 'message', 'here'); // testing message here Logger::error('testing', 'message', 'here'); // testing message here Logger::critical('testing', 'message', 'here'); // testing message here Logger::alert('testing', 'message', 'here'); // testing message here Logger::emergency('testing', 'message', 'here'); // testing message here
示例输出
您可以通过克隆此存储库并在您的终端中运行以下命令来看到Minilog的一个示例
> php test-minilog.php [2018-07-23 08:07:36] testing_logs.DEBUG: test-minilog.php:15 testing debug messages (BOOL) true [2018-07-23 08:07:36] testing_logs.INFO: test-minilog.php:16 testing info messages (BOOL) true [2018-07-23 08:07:36] testing_logs.NOTICE: test-minilog.php:17 testing notice messages (BOOL) true [2018-07-23 08:07:36] testing_logs.WARNING: test-minilog.php:18 testing warning messages (BOOL) false [2018-07-23 08:07:36] testing_logs.ERROR: test-minilog.php:19 testing error messages (BOOL) false [2018-07-23 08:07:36] testing_logs.CRITICAL: test-minilog.php:20 testing critical messages (BOOL) false [2018-07-23 08:07:36] testing_logs.ALERT: test-minilog.php:21 testing alert messages (BOOL) false [2018-07-23 08:07:36] testing_logs.EMERGENCY: test-minilog.php:22 testing emergency messages (BOOL) false