incubator logger
v2.0.0
Phalcon Logger 组件的额外适配器。
composer require phalcon/incubator-logger
用于在 AWS ClodWatch 中存储日志的适配器:
注意:在调用任何日志之前必须创建组名称和流名称。您可以在 AWS 控制台中进行创建。
use Aws CloudWatchLogs CloudWatchLogsClient ;
use Phalcon Incubator Logger Adapter CloudWatch ;
use Phalcon Logger Logger ;
$ di -> set (
' logger ' ,
function () {
$ client = new CloudWatchLogsClient ([
' credentials ' => [
' key ' => ' AMAZON_CLOUDWATCH_KEY ' ,
' secret ' => ' AMAZON_CLOUDWATCH_SECRET ' ,
],
' region ' => ' AMAZON_CLOUDWATCH_REGION ' ,
' version ' => ' latest ' , // Or any specific
]);
$ adapter = new CloudWatch ( $ client , ' /group/name ' , ' stream-name ' );
return new Logger ( ' messages ' , [ ' main ' => $ adapter ]);
}
);
将日志存储在数据库表中的适配器:
use Phalcon Db Adapter Pdo Mysql ;
use Phalcon Incubator Logger Adapter Database as DbLogger ;
$ di -> set (
' logger ' ,
function () {
$ connection = new Mysql (
[
' host ' => ' localhost ' ,
' username ' => ' root ' ,
' password ' => ' secret ' ,
' dbname ' => ' audit ' ,
]
);
$ logsName = ' errors ' ;
$ tableName = ' logs ' ;
return new DbLogger ( $ connection , $ logsName , $ tableName );
}
);
下表用于存储日志:
CREATE TABLE IF NOT EXISTS ` logs ` (
` id ` INT ( 10 ) unsigned NOT NULL AUTO_INCREMENT,
` name ` VARCHAR ( 32 ) DEFAULT NULL ,
` type ` INT ( 3 ) NOT NULL ,
` content ` text ,
` created_at ` BIGINT unsigned NOT NULL ,
PRIMARY KEY ( ` id ` )
) ENGINE = InnoDB DEFAULT CHARSET = utf8
通过UDP协议向外部服务器发送消息的适配器
use Phalcon Incubator Logger Adapter Udp as UdpLogger ;
$ di -> set (
' logger ' ,
function () {
$ host = ' 192.168.1.2 ' ;
$ port = 65000 ;
return new UdpLogger ( ' errors ' , $ host , $ port );
}
);
将消息写入 Slack 通道的适配器
$ adapter = new Phalcon Incubator Logger Adapter Slack ( ' api-token ' , ' channel-name ' );
$ logger = new Phalcon Logger Logger ( ' logger-name ' , [ ' main-slack ' => $ adapter ]);
$ logger -> info ( ' Information message to log in the channel channel-name ' );
访问此页面以创建application
(选择/创建工作区后)
转到Features > OAuth & Permissions
,然后在Scopes
部分 -> Add an oauth scope
并选择以下权限:
您现在可以在Install App
部分中为您的机器人/用户生成一个令牌,如下所示:
xoxp-1111111-22222222-33333333-aaaaaaaaaaaaaaaaaaaaaa