parseword/logger

实现文本文件日志功能的 PHP 类

v1.0.2 2019-01-26 01:14 UTC

This package is auto-updated.

Last update: 2024-09-26 14:16:18 UTC


README

Logger 是一个 PHP 文本文件日志功能,作为单例实现。它没有什么特别之处,但我正在将一个更大的代码库分解成独立的组件,并且我需要将这个功能放在自己的仓库中。

用法

在 4 个简单步骤中实现 Logger

  1. 要么 composer require parseword/logger,要么将 Logger.php 文件复制到您的项目中。

  2. 确保 Logger.php 可以被您的自动加载器发现,或者手动使用 require_once

  3. 在整个应用程序代码中,调用 Logger::debug()Logger::info()Logger::warning()Logger::error() 来发送不同严重程度的日志消息。

  4. 在您的应用程序配置文件或公共包含文件中,您(或用户)调用 Logger::setFilename() 来设置日志文件,并调用 Logger::setSeverityFilter() 来指定哪些日志消息写入磁盘。

示例

在以下示例中,创建了一个名为 /tmp/my.log 的文件。严重性过滤器被设置为只写入严重性为 WARNING 或更高的消息。严重性较低的消息将被忽略。

<?php
//Set up the logger in your config or global include file
use parseword\logger\Logger;
Logger::setFilename('/tmp/my.log');
Logger::setSeverityFilter(Logger::SEVERITY_WARNING);
Logger::setLabel('myCoolApp');

//Call the static Logger methods throughout your application code
Logger::info("Somebody set us up the bomb.");
Logger::debug("Main screen turn on.");
Logger::warning("All your base are belong to us.");
Logger::info("You have no chance to survive make your time.");
Logger::error("Unable to move 'ZIG', aborting");

/tmp/my.log 的内容如下所示

[2019-01-25,14:40:13.797 CST]  WARN: myCoolApp: All your base are belong to us.
[2019-01-25,14:40:13.797 CST] ERROR: myCoolApp: Unable to move 'ZIG', aborting

检查或运行包含的 test.php 文件以获取更多示例。

方法概述

这些方法用于配置 Logger

  • setCollapseEntries() - 是否用空格替换日志条目中的换行符,将每个条目限制为单行。默认为 true。

  • setDateFormat() - 设置用于标记日志消息的日期格式。

  • setFilename() - 设置日志文件的文件系统路径和文件名。

  • setLabel() - 设置可选的文本字符串以包含在日志消息中。如果您的应用程序的每个实例都有一个唯一的 ID,则在此处设置可以帮助跟踪和故障排除。

  • setSeverityFilter() - 设置写入文件的日志消息类型。

这些方法控制日志记录器的功能

  • debug() - 发送严重度为 DEBUG 的日志消息。

  • error() - 发送严重度为 ERROR 的日志消息。

  • warning() - 发送严重度为 WARNING 的日志消息。

  • info() - 发送严重度为 INFO 的日志消息。

  • truncate() - 截断日志文件,清除任何以前的条目。

需求

Logger 类需要 PHP7 来支持标量类型声明。

错误

目前没有。