mpakfm/printu

简单的日志记录器。

2.0.1 2024-08-18 22:32 UTC

This package is auto-updated.

Last update: 2024-09-18 22:43:10 UTC


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