为PHP设计的一个简单易用的日志库

3.0.0 2014-11-23 12:02 UTC

This package is auto-updated.

Last update: 2024-08-29 04:08:58 UTC


README

Latest Stable Version Build Status Total Downloads License

Logga是一个为PHP设计的简单易用的日志库。从v1.0.0版本开始,Logga支持多个日志流和消息格式化,为开发者提供了极大的灵活性。

当前版本包含文件流和默认格式化器。Logga的未来版本将包含数据库流,以及插件系统,允许开发者编写自定义流和格式化器,以满足几乎所有的日志需求。

##安装 ###Composer 自2.0.0版本起,可以使用Composer安装Logga。将以下依赖项添加到您的composer.json

{
  "require": {
    "carlosafonso/logga": "3.*",
  }
}

然后运行

$ composer update

如果您还没有这么做,请记住包含Composer的autoload文件

require 'vendor/autoload.php':

###手动安装 Logga也可以通过下载最新版本并将所有内容解压到您的项目文件夹中,或者通过克隆仓库来安装

$ git clone https://github.com/carlosafonso/logga.git

请记住将主库文件包含到您的项目中

require 'logga.php';

##快速开始 使用以下代码设置一个快速日志记录器

$l = new \Logga\Logga();
$l->info('Hello world!');

如果您运行此代码,屏幕上将会打印以下行

[2014-02-15 17:42:14][INFO   ]: Hello world!

此外,一个名为类似default_log.log的文件将出现在您运行脚本的文件夹中。快速查看它将揭示上述相同的内容。

就是这样!您只需几行代码就设置了日志系统。从现在开始,您可以使用Logga提供的八个日志函数(debug()info()notice()warning()error()critical()alert()emergency())中的任何一个来跟踪您所需的一切。

##使用方法 上述内容对普通开发者来说足够简单,但您可能想稍微自定义Logga以满足您的需求。本节将向您展示如何操作。

###理解流 在Logga中,与其他日志库一样,流是存储日志消息的地方的一个抽象。您可以使用您需要的任意多个流,以确保一次只记录一条消息,但可以以不同的方式输出(例如,一个纯文本文件和一个数据库表)。

此外,您还可以配置每个流:例如,您可能希望所有消息都记录到纯文本文件中,但只有WARNING或更高级别的消息记录到数据库中。

截至版本2.2.0,Logga自带4个流:FileStreamHttpStreamMailStreamStandardOutputStream(目前还有其他一些正在开发中,如DatabaseStream)。

###默认流 如果您没有为Logga构造函数提供任何流,则库将默认使用一个FileStream和一个StandardOutputStream(第一个将日志记录到名为default_log.log的文件中)。

###创建自定义流 您可以通过实例化任何扩展自LogStream的类来创建流,可选地传递一个包含所需选项的数组

$s = new FileStream(array('file' => 'my_custom_log_file', 'date' => TRUE));
$l = new Logga($s);
$l->info('Hi, custom file!');

这将生成一个名为my_custom_log_file_<datetime>.log的文件,其中datetime是当前日期和时间。

您可以使用多个流。只需使用流数组调用Logga的构造函数即可

$s1 = new FileStream(array('file' => 'my_first_custom_log_file', 'date' => TRUE));
$s2 = new FileStream(array('file' => 'my_second_custom_log_file', 'date' => TRUE));
$l = new Logga(array($s1, $s2));
$l->info('Hi, custom file!');

##流 ###指定日志级别

###启用和禁用流

###可用的流类

##格式化器