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