PHP code example of integration-eye / logging-probe
1. Go to this page and download the library: Download integration-eye/logging-probe 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/ */
$configuration = Configuration::fromDsn('https://username:[email protected]');
$messageFactory = new MessageFactory($configuration);
$client = new DefaultClient();
$logger = new Logger($messageFactory, $client);
class EchoClient implements Client
{
public function sendMessage(Configuration $configuration, array $payload): void
{
echo sprintf("Url: %s\n", $configuration->getUrl());
echo sprintf("Authorization: Basic %s\n", $configuration->getBasicAuth());
echo sprintf("Payload:\n%s\n", json_encode($payload, JSON_PRETTY_PRINT));
}
}
class CustomPrincipalProvider implements PrincipalProvider
{
private $securityContext;
public function __construct(SecurityContext $securityContext)
{
$this->securityContext = $securityContext;
}
public function getPrincipal(): ?string
{
if ($this->securityContext->isLoggedIn()) {
return $this->securityContext->getUsername();
}
return null;
}
}
$messageFactory->setPrincipalProvider(new CustomPrincipalProvider($securityContext));
$messageFactory->setPrincipalProvider(new DefaultPrincipalProvider('username'));
// or just
$messageFactory->setPrincipal('username');
class JsonMapper implements Mapper
{
public function supports(string $key, $value): bool
{
return $value instanceof \JsonSerializable;
}
public function map(string $key, $value): array
{
return [$key => json_encode($value)];
}
}
$messageFactory->addMapper(new JsonMapper());
$messageFactory->addMapper(new DateTimeMapper('d.m.Y H:i:s'));
// or just
$messageFactory->addDateTimeMapper(); // default format 'c'
$messageFactory->addMapper(new JsonMapper());
// or just
$messageFactory->addJsonMapper();
$messageFactory->addMapper(new ExceptionMapper('exception_key'));
// or just
$messageFactory->addExceptionMapper(); // default key 'exception'
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.