PHP code example of yep / workflow-logger

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!"} []