Дополнительные адаптеры для компонента 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