LoggerOne

高效简约的 PHP 日志类库实现
授权协议 MIT
开发语言 PHP
所属分类 程序开发、 日志工具(Logging)
软件类型 开源软件
地区 国产
投 递 者 归浩博
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

LoggerOne

一个高效、简约、灵活高性能的遵循 PSR-3 的 PHP 日志类库实现。

特性

天然的缓存特性(Logger实例属性),延迟批量写入。

安装&使用

Install

$ composer require logger-one/logger-one

默认的调用方式

在默认情况下,Logger会使用FileHandler 和 CommonFormatter 输出一个保存在Logger同目录的命名格式为 %Y%m%d的日志文件。

$logger = LoggerOne\Logger::getInstance();  // Strongly recommend

$message = 'test log message {placeholder1} {placeholder2}';

$replacements = ['placeholder1' => 'Foo', 'placeholder2' => 'bar'];

$logger->info($message, $replacements);

改变默认日志文件保存地址

$logFile = './tmp/loggerOne.log'; // Your path where you want

$handler = new LoggerOne\Handler\FileHandler($logFile);

$logger->setHandler($handler);

$logger->info($message);

指定使用特定的Handler/Formatter

$handler = new LoggerOne\Handler\FooHandler();

$handler = new LoggerOne\Formatter\BarFormatter();

$logger->setHandler($handler)->setFormatter($formatter);

$logger->info('some test log message');

立即输出到日志文件的调用方法

这样将不缓存日志内容,而把调用前所有的message立即写入到标的处。

...
$logger->info('some test log message')->flush();
...

定制&扩展

Handler的扩展方式

将你的扩展文件放置到LoggerOne/Handler目录

<?php
namespace LoggerOne\Handler;

class MySQLHandler implements Handler
{
    protected $db;
    
    protected $table_name;
    
    
    public function __construct(string $table_name, object $dbHandle = null)
    {
        $this->table_name = $table_name;
        $this->db = $dbHandle;
    }
    
    public function write($messages)
    {
        $batchData = [];
        foreach ($messages as $level => $message) {
            $batchData[] = ['level' => $level, 'message' => $message, 'created' => time()];
        }
        $this->db->insertBatch($this->table_name, $batchData);
    }
}

使用扩展

$logger = new LoggerOne\Logger();

$handler = new LoggerOne\Handler\MysqlHandler($yourLogTableName, $yourDbHandle);

$logger->setHandler($handler);

$logger->info('some test log message');

 Formatter的扩展方式

聪明的你,你可以按你想发灵活的编写你希望的Formatter处理类,过程和Handler扩展流程同理,放到Formatter目录就可以开始使用了。

注意

  • 如果你不使用composer, 请记得用你的方式加载所有必须的依赖类库。

  • 如果你做了Handler扩展,为了性能请尽量确保它是批量完成写操作的。

  • LoggerOne 一个高效、简约、灵活高性能的遵循 PSR-3 的 PHP 日志类库实现。 特性 天然的缓存特性(Logger实例属性),延迟批量写入。 安装&使用 Install $ composer require logger-one/logger-one 默认的调用方式 在默认情况下,Logger会使用FileHandler 和 CommonFormatter 输出一个保存在Logger

  • LoggerOne One Efficient & Light & Flexible high performance PHP log implemention of PSR-3 一个高效、简约、灵活高性能的遵循PSR-3的PHP日志类库实现。 特性/Features Inherently cached message record using PHP object attribute. 天然的缓

 相关资料
  • 本文向大家介绍PHP实现的简单日历类,包括了PHP实现的简单日历类的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP实现的简单日历类。分享给大家供大家参考。 具体实现代码如下: 希望本文所述对大家的php程序设计有所帮助。

  • 本文向大家介绍php实现的简单日志写入函数,包括了php实现的简单日志写入函数的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实现的简单日志写入函数。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的php程序设计有所帮助。

  • 本文向大家介绍python实现简单日志记录库glog的使用,包括了python实现简单日志记录库glog的使用的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了python实现简单日志记录库glog的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一、 glog的简介 glog所记录的日志信息总是记录到标准的stderr中,即控制台

  • 本文向大家介绍PHP实现简单日历类编写,包括了PHP实现简单日历类编写的使用技巧和注意事项,需要的朋友参考一下 用PHP实现日历类的编写,供大家参考,具体内容如下 calendar.class.php 主页 index.php 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍PHP写日志的实现方法,包括了PHP写日志的实现方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了PHP写日志的实现方法。分享给大家供大家参考。具体实现方法如下:   这里注意需要给记日志的目录权限: 如果你的apache里配的不是www你要改为对应的 可以用ll命令查看你的权限 希望本文所述对大家的PHP程序设计有所帮助。

  • 1.【强制】 应用中不可直接使用日志系统(Log4j、Logback)中的 API,而应依赖使用日志框架 SLF4J 中的 API,使用门面模式的日志框架,有利于维护和各个类的日志处理方式统一。 import org.slf4j.Logger; import org.slf4j.LoggerFactory; private static final Logger logger = LoggerFa