dev-master
9999999-devMonolog handler for writing to a Chronicle instance
ISC
The Requires
The Development Requires
v0.1.0
0.1.0.0Monolog handler for writing to a Chronicle instance
ISC
The Requires
The Development Requires
Wallogit.com
2017 © Pedro Peláez
Monolog handler for writing to a Chronicle instance
Requires PHP 7.1 or newer., (*2)
Want to use Monolog to write security events to a Chronicle?, (*3)
This library uses Quill to transcribe log messages to a Chronicle instance. This can be a public or private Chronicle., (*4)
composer require paragonie/monolog-quill
<?php
use Monolog\Logger;
use ParagonIE\MonologQuill\QuillHandler;
use ParagonIE\Quill\Quill;
use ParagonIE\ConstantTime\Base64UrlSafe;
use ParagonIE\Sapient\CryptographyKeys\{
SigningSecretKey,
SigningPublicKey
};
// Create a Quill for writing data to the Chronicle instance
$quill = (new Quill())
->setChronicleURL('https://chronicle-public-test.paragonie.com/chronicle')
->setServerPublicKey(
new SigningPublicKey(
Base64UrlSafe::decode('3BK4hOYTWJbLV5QdqS-DFKEYOMKd-G5M9BvfbqG1ICI=')
)
)
->setClientID('**Your Client ID provided by the Chronicle here**')
->setClientSecretKey(
new SigningSecretKey('/* Loaded from the filesystem or something. */')
);
// Push the Handler to Monolog
$log = new Logger('security');
$handler = (new QuillHandler($quill, Logger::ALERT));
$log->pushHandler($handler);
// Now security events will be logged in your Chronicle
$log->alert(
'User bob logged in at ' .
((new DateTime())->format(\DateTime::ATOM))
);
Simply pass an instance of SealingPublicKey or SharedEncryptionKey to the
handler, via the setEncryptionKey() method, to encrypt log messages., (*5)
$handler->setEncryptionKey(
new SealingPublicKey('/* Loaded from the filesystem or something. */')
);
<?php
use Monolog\Logger;
use ParagonIE\MonologQuill\QuillHandler;
use ParagonIE\Quill\Quill;
use ParagonIE\ConstantTime\Base64UrlSafe;
use ParagonIE\Sapient\CryptographyKeys\{
SealingPublicKey,
SigningSecretKey,
SigningPublicKey
};
// Create a Quill for writing data to the Chronicle instance
$quill = (new Quill())
->setChronicleURL('https://chronicle-public-test.paragonie.com/chronicle')
->setServerPublicKey(
new SigningPublicKey(
Base64UrlSafe::decode('3BK4hOYTWJbLV5QdqS-DFKEYOMKd-G5M9BvfbqG1ICI=')
)
)
->setClientID('**Your Client ID provided by the Chronicle here**')
->setClientSecretKey(
new SigningSecretKey('/* Loaded from the filesystem or something. */')
);
// Push the Handler to Monolog
$log = new Logger('security');
$handler = (new QuillHandler($quill, Logger::ALERT));
// Set this to an instance of SealingPublicKey or SharedEncryptionKey:
$handler->setEncryptionKey(
new SealingPublicKey('/* Loaded from the filesystem or something. */')
);
$log->pushHandler($handler);
// Now security events will be logged in your Chronicle
$log->alert(
'User bob logged in at ' .
((new DateTime())->format(\DateTime::ATOM))
);
Monolog handler for writing to a Chronicle instance
ISC
Monolog handler for writing to a Chronicle instance
ISC