梵吉拉 / simple-logger
PHP日志库(兼容PSR-3规范)
0.0.4
2019-10-31 00:16 UTC
Requires
- php: >=5.3.0
- psr/log: ~1.0
This package is auto-updated.
Last update: 2024-09-29 05:22:12 UTC
README
SimpleLogger是一个用于写入日志的PHP库。
- 驱动器:Syslog、stdout、stderr和文本文件
- 兼容PSR-3标准日志接口
- 需求:PHP >= 5.3
- 作者:Frédéric Guillot, Vajira Lasantha
- 许可:MIT
最初从fguillot/simpleLogger中提取,以保持此库在PHP <= 7.0时活跃。firehed/simplelogger的最新库不支持PHP <= 7.0。
使用方法
安装
composer require vajiral/simple-logger
Syslog
将日志消息发送到Syslog
<?php require 'vendor/autoload.php'; // Setup Syslog logging $logger = new SimpleLogger\Syslog('myapp'); // Output to syslog: "Jun 2 15:55:09 hostname myapp[2712]: foobar" $logger->error('foobar'); // Output to syslog: "Jun 2 15:55:09 hostname myapp[2712]: Error at /Users/Me/Devel/libraries/simpleLogger/example.php at line 15" $logger->error('Error at {filename} at line {line}', ['filename' => __FILE__, 'line' => __LINE__]);
Stdout
$logger = new \SimpleLogger\Stdout(); $logger->error('foobar');
Stderr
$logger = new \SimpleLogger\Stderr(); $logger->info('foobar');
文本文件
将日志消息发送到文本文件
<?php require 'vendor/autoload.php'; // Setup File logging $logger = new SimpleLogger\File('/tmp/simplelogger.log'); // Output to the file: "[2013-06-02 16:03:28] [info] foobar" $logger->info('foobar'); // Output to the file: "[2013-06-02 16:03:28] [error] Error at /Users/fred/Devel/libraries/simpleLogger/example.php at line 24" $logger->error('Error at {filename} at line {line}', array('filename' => __FILE__, 'line' => __LINE__)); // Dump a variable $values = array( 'key' => 'value' ); // Output: [2013-06-02 16:05:32] [debug] array ( // 'key' => 'value', // ) $logger->dump($values);
多个日志器
将日志消息发送到多个日志器
<?php require 'vendor/autoload.php'; $logger = new SimpleLogger\Logger; $logger->setLogger(new SimpleLogger\Syslog('myapp')); $logger->setLogger(new SimpleLogger\File('/tmp/simplelogger.log')); $logger->info('my message'); $logger->error('my error message'); $logger->error('my error message with a {variable}', array('variable' => 'test'));
日志器最小日志级别
在这个例子中,只有级别 >= "error" 的消息将被发送到Syslog处理器,但所有内容都将发送到文件处理器
<?php require 'vendor/autoload.php'; $syslog = new SimpleLogger\Syslog('myapp'); $syslog->setLevel(Psr\Log\LogLevel::ERROR); // Define the minimum log level $file = new SimpleLogger\File('/tmp/simplelogger.log'); $logger = new SimpleLogger\Logger; $logger->setLogger($syslog); $logger->setLogger($file); $logger->debug('debug info sent only to the text file'); $logger->error('my error message'); $logger->error('my error message with a {variable}', array('variable' => 'test'));
默认的最小日志级别是LogLevel::DEBUG
。