一个高效、简约、灵活高性能的遵循 PSR-3 的 PHP 日志类库实现。
天然的缓存特性(Logger实例属性),延迟批量写入。
$ 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