apix/log-tracker

APIx Log的跟踪伴侣

1.1.1 2016-10-13 16:12 UTC

This package is auto-updated.

Last update: 2024-08-29 03:42:07 UTC


README

Latest Stable Version Build Status Code Quality Code Coverage License

Apix-Log PSR-3日志扩展,它为以下添加了日志跟踪功能

特性

  • 异步发送跟踪数据(非阻塞)。
  • 处理批量/延迟模式。
  • 100% 单元测试,符合PSR0、PSR1和PSR2规范。
  • 持续集成所有现代PHP版本(从5.3到7.3,包括HHVM)。
  • 主仓库位于github上,Composer包位于packagist上。

欢迎评论、发送pull请求和补丁...

安装

通过composer安装最新版本

$ composer require apix/log-tracker

您至少需要PHP 5.3。

基本用法,Google Analytics。

use Apix\Log;

$options = [
    'tid' => '<UA-XX-XX>',   // Tracking/Property ID (required). 
    //'cid' => '<UUID-v4>',  // Anonymous Client ID UUIDv4 (if not provided, auto-generated one).
    //...                    // Any numbers of Google Analytics Parameters (see notes). 
];

$ga_logger = new GoogleAnalytics($options);
$ga_logger->setDeferred(true); // Enable batched mode (recommneded).

$dataToTrack = $ga_logger->getPage('http://foo.tld/...', 'Welcome page');
//$dataToTrack = $ga_logger->getEvent('category', 'action', 'label', 'value');
//$dataToTrack = $ga_logger->getSocial('action', 'network', 'target');
//$dataToTrack = $ga_logger->getException('description');
//$dataToTrack = $ga_logger->getApp('name', 'version', 'id');

$ga_logger->notice('GA Tracking', $dataToTrack);

注意

  • 日志级别和消息不会转发到Google Analytics(待定)。
  • 如果需要,您可以将一些额外的Google Analytics参数添加到options数组中,例如uip(用户IP)、ua(用户代理)等。如果未提供,这些将根据当前上下文生成或猜测。

基本用法,Dashbot。

use Apix\Log;

$dashbot_logger = new Dashbot('<API-Key');
//$dashbot_logger->setPlatform('facebook'); // 'generic' (default), 'slack', 'kik'.
//$dashbot_logger->setGlobalTag('myTag');   // Useful to combined metrics.

$messages_received = ["text" => "Hi, bot", "userId" => "..."];
$dataToTrack = $dashbot_logger->incoming($messages_received);
//$dataToTrack = $dashbot_logger->incoming($messages_received, "localTag"); // Override the global tag

$messages_sent = ["text" => "Hello, user", "userId" => "..."];
$dataToTrack = $logger->outgoing($messages_sent);

$dashbot_logger->info('Dashbot Tracking', $dataToTrack);

注意

  • 日志级别和消息不会转发到Dashbot(待定)。
  • 可以将本地标记(覆盖主要全局标记)作为第二个参数传递给incomingoutgoing方法。

高级用法。

请现在只需遵循Apix Log示例