mpakfm / printu
简单的日志记录器。
2.0.1
2024-08-18 22:32 UTC
Requires
- php: >=7.0.0
README
简单日志记录器
版本 2.0.0
- 添加日志级别:[debug, info, warning, alert]
- 添加通知(电子邮件)
配置
Printu::setConfNotifier([ 'warning' => 'email', 'alert' => 'email', ]); Printu::setConfChannel([ 'email' => ['some@email.com', 'another@email.com'] ]); Printu::$fromNotifier = 'no-reply@server'; Printu::$subjNotifier = 'Some project';
用法
$var = ['asd', 'fgh']; Printu::debug($var); Printu::info($var)->title('INFO $var'); Printu::warning($var)->title('WARNING $var'); Printu::alert($var)->title('ALERT $var');
日志文件
debug.log
Array
(
[0] => asd
[1] => fgh
)
info.log
24.05 18:54:35 INFO $var: Array
(
[0] => asd
[1] => fgh
)
warning.log
24.05 18:54:35 WARNING $var: Array
(
[0] => asd
[1] => fgh
)
alert.log
24.05 18:55:35 ALERT $var: Array
(
[0] => asd
[1] => fgh
)
电子邮件主题
{Printu::$subjNotifier} {level} {title}:
电子邮件示例
From hp440 Tue May 24 19:13:42 2022
Return-Path: <hp440>
Received: (from hp440@localhost)
by hp440 (8.15.2/8.15.2/Submit) id 24OGDgaT3370909;
Tue, 24 May 2022 19:13:42 +0300
Date: Tue, 24 May 2022 19:13:42 +0300
Message-Id: <202205241613.24OGDgaT3370909@hp440>
To: some@email.com
Subject: Some project warning WARNING $var
From: no-reply@server
X-Mailer: PHP/7.4.29
24.05 19:12:42 WARNING $var: Array
(
[0] => asd
[1] => fgh
)
版本 1.2.3
- 在方法 show() 中修复 bug
- 添加方法 error() 用于默认设置日期和时间以及错误日志文件 error.log
版本 1.2.2
响应类型
- var - 返回字符串变量
- file - 将纯文本打印到日志文件中,现在默认设置为 file
- text - 将纯文本打印到 STDOUT
- html - 将 HTML 打印到 STDOUT
默认响应类型是 "file"
您可以通过此方法更改默认响应类型
public static function setDefaultResponse(string $response): bool {}
设置保存日志文件的路径
public static function setPath(string $path=''): bool {}
例如
某个 index.php
Printu::setPath(__DIR__.'/var/log'); Printu::setDefaultResponse('html');
某个 some.php
Printu::obj($_POST)->title('POST');
版本 1.2
新示例
Printu::setPath(__DIR__ . '/var/log'); Printu::obj('-----')->response('file')->show(); $dt = new \DateTime(); $dt->sub(new \DateInterval('P1MT10H')); Printu::obj('test')->title('IndexController::index')->dt($dt)->response('file')->show(); Printu::obj('test H:i:s in log file info.log')->dt()->timeFormat('H:i:s')->response('file')->show(); Printu::obj('test in log file error.log')->response('file')->file('error')->show(); Printu::obj('test echo')->show();
tail -f var/log/info.log
-----
01.06 13:50:13 IndexController::index: test
23:31:08 test H:i:s in log file info.log
tail -f var/log/error.log
-----
test in log file error.log
旧版本示例
Printu::setPath(__DIR__ . '/var/log'); $dt = new \DateTime(); $dt->sub(new \DateInterval('P1MT10H')); Printu::log('-------', '', 'file'); Printu::log('test', $dt->format('d.m H:i:s')."\t".'IndexController::index', 'file'); Printu::log('test in log file info.log', 'IndexController::index', 'file'); Printu::log('test in log file error.log', 'IndexController::index', 'file', 'error.log');
tail -f var/log/info.log
-------
01.06 13:58:20 IndexController::index: test
IndexController::index: test in log file info.log
tail -f var/log/error.log
IndexController::index: test in log file error.log