phpflo / phpflo-flowtrace
记录 phpflo 网络执行以进行调试和分析
v1.0.0
2017-03-21 21:31 UTC
Requires
- php: >=5.4.0
- mikey179/vfsstream: ^1.6
- psr/log: ^1.0
Requires (Dev)
- phpflo/phpflo: dev-feature/asm-traceable-network
- phpunit/phpunit: <5.0
This package is auto-updated.
Last update: 2024-08-24 04:37:57 UTC
README
记录 phpflo 网络执行以进行调试或分析。
跟踪事件
每次您想要调试您的流程时,您都需要查看您组件之间数据转换,连接/断开等。
使用这个库,您现在可以这样做。
设置
它几乎与使用 phpflo 本身一样简单。添加 composer require phpflo/flowtrace
并初始化如下
<?php require __DIR__ . '/../../vendor/autoload.php'; $traceableNetwork = new \PhpFlo\FlowTrace\TraceableNetwork( new PhpFlo\Core\Network( new PhpFlo\Core\Builder\ComponentFactory() ), new \PhpFlo\FlowTrace\Logger\SimpleFile(__DIR__ . DIRECTORY_SEPARATOR . 'flow.log', 'info') ); $traceableNetwork ->boot(__DIR__.'/count.fbp') ->run($fileName, "ReadFile", "source") ->shutdown();
这将把所有您的数据流程输出到 flow.log
中,您可以在以后进行审查。如您所注意到的,日志记录器有一个“级别”给出,这是 PSR3 兼容的——事实上,整个 SimpleFile 日志记录器只是 PSR3 AbstractLogger 的基本实现。您可以轻松地将此日志记录器替换为您自己的 PSR 兼容版本。提供一定级别将为您提供更多详细信息。“debug”将提供所有连接/断开,而“info”只提供数据流和数据。
日志
日志与 flowbased/flowtrace 兼容,并在 Flowhub 中重现流程。
读取 count.fbp 文件示例(info)
-> source ReadFile DATA examples/linecount/count.fbp
ReadFile out -> in SplitbyLines DATA ReadFile(ReadFile) out -> in SplitbyLines(SplitStr)
ReadFile(ReadFile) error -> in Display(Output)
SplitbyLines(SplitStr) out -> in CountLines(Counter)
CountLines(Counter) count -> in Display(Output)
SplitbyLines out -> in CountLines DATA ReadFile(ReadFile) out -> in SplitbyLines(SplitStr)
SplitbyLines out -> in CountLines DATA ReadFile(ReadFile) error -> in Display(Output)
SplitbyLines out -> in CountLines DATA SplitbyLines(SplitStr) out -> in CountLines(Counter)
SplitbyLines out -> in CountLines DATA CountLines(Counter) count -> in Display(Output)
SplitbyLines out -> in CountLines DATA
CountLines count -> in Display DATA i:5;
示例(debug)
-> source ReadFile CONN
-> source ReadFile DATA examples/linecount/count.fbp
ReadFile out -> in SplitbyLines CONN
ReadFile out -> in SplitbyLines DATA ReadFile(ReadFile) out -> in SplitbyLines(SplitStr)
ReadFile(ReadFile) error -> in Display(Output)
SplitbyLines(SplitStr) out -> in CountLines(Counter)
CountLines(Counter) count -> in Display(Output)
ReadFile out -> in SplitbyLines DISC
SplitbyLines out -> in CountLines CONN
SplitbyLines out -> in CountLines DATA ReadFile(ReadFile) out -> in SplitbyLines(SplitStr)
SplitbyLines out -> in CountLines DATA ReadFile(ReadFile) error -> in Display(Output)
SplitbyLines out -> in CountLines DATA SplitbyLines(SplitStr) out -> in CountLines(Counter)
SplitbyLines out -> in CountLines DATA CountLines(Counter) count -> in Display(Output)
SplitbyLines out -> in CountLines DATA
SplitbyLines out -> in CountLines DISC
CountLines count -> in Display CONN
CountLines count -> in Display DATA i:5;
CountLines count -> in Display DISC
-> source ReadFile DISC