RagnarSDK
Введение
- для комплексного онлайн-трассирования системы.
Требования
- PHP5.3+ с bcmath.
Скопируйте nginx/fiery_fastcgi_pararms в nginx/conf и отредактируйте конфигурацию vhost.
server{
listen 80;
charset utf-8;
root /path/xxx/xxx/src/public;
server_name xxx.com;
location /{
index index.php index.html index.htm;
if (-f $request_filename) {
break;
}
if (-d $request_filename) {
break;
}
if ($request_filename !~ (\.css|images|index\.php.*) ) {
rewrite ^/(.*)$ /index.php/$1 last;
break;
}
}
location ~ /index.php/ {
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
include fiery_fastcgi_params; # здесь точка
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_read_timeout 600;
}
location ~ \.php$ {
fastcgi_index index.php;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
include fiery_fastcgi_params; # здесь точка
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_read_timeout 600;
}
}
# перезагрузите конфигурацию nginx
nginx -s reload
<VirtualHost *:80>
ServerAdmin webmaster@demo.com
DocumentRoot "e:\wwwroot\demo"
ServerName my.demo.com
ErrorLog "logs/my.demo.com-error.log"
CustomLog "logs/my.demo.com-access.log" common
# начало настройки переменных для fierysdk
SetEnv RAGNAR_LOGPATH /data1/ragnar/ # здесь точка
SetEnv RAGNAR_IDC 0 # здесь точка
SetEnv RAGNAR_IP 192.168.1.123 # здесь точка
<Directory "e:\wwwroot\demo">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
Выполните команду, чтобы получить этот композитор.
composer require weiboad/fierysdk
Вставьте код в загрузочную часть PHP-проекта.
require_once("vendor/autoload.php");
use \Adinf\RagnarSDK\RagnarSDK as RagnarSDK;
use \Adinf\RagnarSDK\RagnarConst as RagnarConst;
//для временного отключения этого sdk
//RagnarSDK::disable();
//по умолчанию уровень журнала — info, вы можете временно открыть уровень отладки, отправив заголовок
RagnarSDK::setLogLevel(RagnarConst::LOG_TYPE_INFO);
//фильтр url
//когда URL содержит параметр в пути, например
//http://wwwei.com/usr/$uid(an var alway change)/fetch
//вы должны написать правило в этом обратном вызове, отфильтрованном до http://wwwei.com/usr/releaced/fetch
RagnarSDK::setUrlFilterCallback(function ($url, $hashquery) {
if (trim($url) == "") {
return "";
}
if (stripos($url, 'http') !== 0) {
$url = "http://" . $url;
}
$urlinfo = parse_url($url);
if(!$urlinfo){
return $url."#PARSERERROR";
}
if (!isset($urlinfo["scheme"])) {
$urlinfo["scheme"] = "http";
}
if (!isset($urlinfo["path"])) {
$urlinfo["path"] = "/";
}
if (!isset($urlinfo["query"])) {
$urlinfo["query"] = "";
}
if ($hashquery) {
return $urlinfo["scheme"] . "://" . $urlinfo["host"] . $urlinfo["path"] . "?" . $urlinfo["query"];
} else {
return
``` **Рагнар: логирование и трассировка**
Текст представляет собой фрагмент кода, написанный на языке PHP. В нём используются методы класса RagnarSDK для настройки логирования и трассировки в приложении.
Класс RagnarSDK предоставляет методы для записи логов различного уровня (от trace до emergency), а также для трассировки выполнения функций с помощью dig point.
В тексте есть примеры использования методов RecordLog, digLogStart, digLogEnd, getCurlChildCallParam, curl_getinfo, digMysqlEnd для настройки логгирования и трассировки.
Также в тексте описывается использование заголовков X-RAGNAR-TRACEID, X-RAGNAR-RPCID и X-RAGNAR-LOGLEVEL для временного изменения уровня логирования.
*Обратите внимание, что это только перевод текста без дополнительных комментариев.*
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )