1. Go to this page and download the library: Download yep/workflow-logger library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
yep / workflow-logger example snippets
php composer.phar
class SomeImportantManagerClass {
public function doSomeImportantJob($importantParameter) {
$foo = $this->doSomethingImportant($importantParameter);
if($foo > 1) {
$this->doSomeMagicButReallyImportantMagic();
}
}
...
}
$someImportantManagerClass = new SomeImportantManagerClass();
$someImportantVariable = 1;
$someImportantManagerClass->doSomeImportantJob($someImportantVariable);
class SomeImportantManagerClass {
/** @var Monolog\Logger */
private $logger;
public function __construct(Monolog\Logger $logger) {
$this->logger = $logger;
}
public function doSomeImportantJob($importantParameter) {
$this->logger->info('Im in!');
$foo = $this->doSomethingImportant($importantParameter);
$this->logger->info('I just done something important!', ['foo' => $foo]);
if($foo > 1) {
$result = $this->doSomeMagicButReallyImportantMagic();
$this->logger->alert('Abracadabra #copperfield', ['result' => $result, 'foo' => $foo]);
}
else {
$this->logger->error('No Abracadabra #sadCopperfield', ['importantParameter' => $importantParameter, 'foo' => $foo]);
}
}
...
}
$importantLogger = new Monolog\Logger('ImportantLogger');
$someImportantManagerClass = new SomeImportantManagerClass($importantLogger);
$someImportantVariable = 1;
$someImportantManagerClass->doSomeImportantJob($someImportantVariable);
class SomeImportantManagerClass {
/** @var Monolog\Logger */
private $logger;
public function __construct(Monolog\Logger $logger) {
$this->logger = $logger;
}
public function doSomeImportantJob($importantParameter) {
$logMessage = "Im in!\n";
$logContext = ['importantParameter' => $importantParameter];
$foo = $this->doSomethingImportant($importantParameter);
$logMessage .= "I just done something important!\n";
$logContext['foo'] = $foo;
if($foo > 1) {
$result = $this->doSomeMagicButReallyImportantMagic();
$logMessage .= "Abracadabra #copperfield\n";
$logContext['result'] = $result;
}
else {
$logMessage .= "No Abracadabra #sadCopperfield\n";
}
$this->logger->info($logMessage, $logContext);
}
...
}
class SomeImportantManagerClass
{
/** @var Yep\WorkflowLogger\Logger */
private $logger;
public function __construct(Yep\WorkflowLogger\Logger $logger)
{
$this->logger = $logger;
}
public function doSomeImportantJob($importantParameter)
{
$workflow = $this->logger->workflow();
$workflow->info('Im in!');
$foo = $this->doSomethingImportant($importantParameter);
$workflow->info('I just done something important!', ['foo' => $foo]);
if($foo > 1) {
$result = $this->doSomeMagicButReallyImportantMagic();
$workflow->alert('Abracadabra #copperfield', ['result' => $result, 'foo' => $foo]);
}
else {
$workflow->error('No Abracadabra #sadCopperfield', ['importantParameter' => $importantParameter, 'foo' => $foo]);
}
$workflow->finish('Finished one of many important workflows', ['nextStep' => 'improve!']);
}
}
// $dumper = new Yep\WorkflowLogger\ContextDumper\PrintRDumper();
// $dumper = new Yep\WorkflowLogger\ContextDumper\TracyDumper();
$dumper = new Yep\WorkflowLogger\ContextDumper\SymfonyVarDumper();
$formatter = new Yep\WorkflowLogger\Formatter\StandardFormatter($dumper, 2);
$importantLogger = new Yep\WorkflowLogger\Logger('ImportantLogger', $formatter);
$someImportantManagerClass = new SomeImportantManagerClass($importantLogger);
$someImportantVariable = 1;
$someImportantManagerClass->doSomeImportantJob($someImportantVariable);
[2017-10-02 01:52:20] ImportantLogger.WORKFLOW: Finished one of many important workflows
Workflow:
[2017-10-02 22:43:46.624555] INFO: Im in!
[2017-10-02 22:43:46.624578] INFO: I just done something important! :sunglasses:
Context:
[
"foo" => 2
]
[2017-10-02 22:43:46.624591] ALERT: Abracadabra #copperfield
Context:
[
"result" => "Alohomora"
"foo" => 2
]
{"nextStep":"improve!"} []
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.