dafiti/logging-helper

Dafiti Logging Helper

该包的官方仓库似乎已消失,因此该包已被冻结。

0.0.5 2015-10-29 19:41 UTC

This package is not auto-updated.

Last update: 2021-06-15 18:29:08 UTC


README

Dependency Status Build Status Scrutinizer Code Quality Code Coverage HHVM Latest Stable Version Total Downloads License

前言

此助手应适用于所有工作单元,所有生成的日志都将发送到Newrelic(如果启用并配置)以及以LogstashFormatter格式化的文件系统。

安装

该包可在Packagist上找到。自动加载与PSR-4兼容。

{
    "require": {
        "dafiti/logging-helper": "0.0.4"
    }
}

最小日志级别默认为\Monolog\Logger::ERROR,当省略第三个参数时,这将是最小日志级别。所有低于此日志级别的消息(例如:\Monolog\Logger::DEBUG)将不会记录,因为最小日志级别更高。

用法

基本

日志消息

$logger = (new \Dafiti\Log\Factory())->createInstance('<log name>', '<log path/filename>');
$logger->log(<log level>, '<log message>');
输出
{"@timestamp":"2015-09-16T13:41:15.626418-03:00","@version":1,"host":"server01","message":"<log message>","type":"<log name>","channel":"<log name>","level":"<log level>"}

日志消息和更多值

您可以发送一个键值对数组

$logger = (new \Dafiti\Log\Factory())->createInstance('<log name>', '<log path/filename>');
$logger->log(<log level>, '<log message>', [<key-value-pair>]);
示例
$values = ['string' => 'value', 'int' => 10, 'float' => 10.0, 'bool' => true, 'resource' => null, 'object' => (new stdClass()), 'sub-array' => range('A', 'D')];
$logger = (new \Dafiti\Log\Factory())->createInstance('<log name>', '<log path/filename>');
$logger->log(<log level>, '<log message>', $values);
输出
{"@timestamp":"2015-09-16T14:51:42.636524-03:00","@version":1,"host":"7dd53b17bdec","message":"<log message>","type":"<log name>","channel":"<log name>","level":"<log level>","string":"value","int":10,"float":10,"bool":true,"resource":null,"object":"[object] (stdClass: {})","sub-array":["A","B","C","D","E"]}

替代

除了日志方法之外,您还可以使用添加方法

调试
$logger = (new \Dafiti\Log\Factory())->createInstance('<log name>', '<log path/filename>');
$logger->debug('<log message>', [<key-value-pair>]);
// or
$logger->addDebug('<log message>', [<key-value-pair>]);
输出
{"@timestamp":"2015-09-16T13:41:15.626418-03:00","@version":1,"host":"server01","message":"<log message>","type":"<log name>","channel":"<log name>","level":"DEBUG"}
信息
$logger = (new \Dafiti\Log\Factory())->createInstance('<log name>', '<log path/filename>');
$logger->info('<log message>', [<key-value-pair>]);
// or
$logger->addInfo('<log message>', [<key-value-pair>]);
输出
{"@timestamp":"2015-09-16T13:41:15.626418-03:00","@version":1,"host":"server01","message":"<log message>","type":"<log name>","channel":"<log name>","level":"INFO"}
通知
$logger = (new \Dafiti\Log\Factory())->createInstance('<log name>', '<log path/filename>');
$logger->notice('<log message>', [<key-value-pair>]);
// or
$logger->addNotice('<log message>', [<key-value-pair>]);
输出
{"@timestamp":"2015-09-16T13:41:15.626418-03:00","@version":1,"host":"server01","message":"<log message>","type":"<log name>","channel":"<log name>","level":"NOTICE"}
警告或警告
$logger = (new \Dafiti\Log\Factory())->createInstance('<log name>', '<log path/filename>');
$logger->warning('<log message>', [<key-value-pair>]);
// or
$logger->addWarning('<log message>', [<key-value-pair>]);
输出
{"@timestamp":"2015-09-16T13:41:15.626418-03:00","@version":1,"host":"server01","message":"<log message>","type":"<log name>","channel":"<log name>","level":"WARNING"}
错误
$logger = (new \Dafiti\Log\Factory())->createInstance('<log name>', '<log path/filename>');
$logger->error('<log message>', [<key-value-pair>]);
// or
$logger->addError('<log message>', [<key-value-pair>]);
输出
{"@timestamp":"2015-09-16T13:41:15.626418-03:00","@version":1,"host":"server01","message":"<log message>","type":"<log name>","channel":"<log name>","level":"ERROR"}
临界
$logger = (new \Dafiti\Log\Factory())->createInstance('<log name>', '<log path/filename>');
$logger->critical('<log message>', [<key-value-pair>]);
// or
$logger->addCritical('<log message>', [<key-value-pair>]);
输出
{"@timestamp":"2015-09-16T13:41:15.626418-03:00","@version":1,"host":"server01","message":"<log message>","type":"<log name>","channel":"<log name>","level":"CRITICAL"}
警告
$logger = (new \Dafiti\Log\Factory())->createInstance('<log name>', '<log path/filename>');
$logger->alert('<log message>', [<key-value-pair>]);
// or
$logger->addAlert('<log message>', [<key-value-pair>]);
输出
{"@timestamp":"2015-09-16T13:41:15.626418-03:00","@version":1,"host":"server01","message":"<log message>","type":"<log name>","channel":"<log name>","level":"ALERT"}
紧急
$logger = (new \Dafiti\Log\Factory())->createInstance('<log name>', '<log path/filename>');
$logger->emergency('<log message>', [<key-value-pair>]);
// or
$logger->addEmergency('<log message>', [<key-value-pair>]);
输出
{"@timestamp":"2015-09-16T13:41:15.626418-03:00","@version":1,"host":"server01","message":"<log message>","type":"<log name>","channel":"<log name>","level":"EMERGENCY"}

<日志名称>样本

  • alice
  • bob
  • 结账
  • 支付
  • mobileapi
  • braspag
  • adyen
  • 其他

<日志路径/文件名>

使用默认日志路径

<日志级别>可用

类型 用法 日志代码 替代方法 描述 何时使用
调试 \Monolog\Logger::DEBUG 100 addDebug() 或 debug() 详细的调试信息
信息 \Monolog\Logger::INFO 200 addInfo() 或 info() 有趣的事件 用户登录,SQL日志
注意 \Monolog\Logger::NOTICE 250 addNotice() 或 notice() 不寻常的事件
警告 \Monolog\Logger::WARNING 300 addWarning() 或 warning() 异常事件,但不是错误 弃用的API的使用,API的较差使用,可能不是错误的不良行为
错误 \Monolog\Logger::ERROR 400 addError() 或 error() 运行时错误
严重 \Monolog\Logger::CRITICAL 500 addCritical() 或 critical() 严重条件 应用程序组件不可用,意外异常
警报 \Monolog\Logger::ALERT 550 addAlert() 或 alert() 必须立即采取行动 整个网站崩溃,数据库不可用等。这应该触发短信警报并叫醒您
紧急 \Monolog\Logger::EMERGENCY 600 addEmergency() 或 emergency() 紧急警报 这仅在API故障修复完成后才会提高,并应遵循库的主要版本

<日志消息>

要记录的消息

许可

MIT许可