Add logging support for debugging

This commit is contained in:
Niklas Keller
2018-06-09 19:00:02 +02:00
parent 6da46ddaf6
commit 35070bb70a
3 changed files with 169 additions and 13 deletions

View File

@@ -2,12 +2,27 @@
namespace Kelunik\AcmeClient;
use Amp\ByteStream\ResourceOutputStream;
use Amp\Log\ConsoleFormatter;
use Amp\Log\StreamHandler;
use Kelunik\Acme\AcmeClient;
use Kelunik\Acme\AcmeService;
use Kelunik\Acme\Crypto\PrivateKey;
use Monolog\Logger;
use Monolog\Processor\PsrLogMessageProcessor;
class AcmeFactory {
public function build(string $directory, PrivateKey $keyPair): AcmeService {
return new AcmeService(new AcmeClient($directory, $keyPair));
$logger = null;
if (\getenv('ACME_LOG')) {
$logger = new Logger('acme');
$logger->pushProcessor(new PsrLogMessageProcessor);
$handler = new StreamHandler(new ResourceOutputStream(\STDERR));
$handler->setFormatter(new ConsoleFormatter(null, null, true, true));
$logger->pushHandler($handler);
}
return new AcmeService(new AcmeClient($directory, $keyPair, null, null, $logger));
}
}