1. Go to this page and download the library: Download shureban/laravel-logplex 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/ */
namespace App\Logging\Logplex;
use Shureban\LaravelLogplex\Builder\MessageBuilderInterface;
use Shureban\LaravelLogplex\Channels\Slack\Blocks\FileBlock;
use Shureban\LaravelLogplex\Channels\Slack\Blocks\HeaderBlock;
use Shureban\LaravelLogplex\Channels\Slack\Blocks\RequestBlock;
use Shureban\LaravelLogplex\Channels\Slack\Blocks\TraceBlock;
use Shureban\LaravelLogplex\Channels\Slack\Elements\DividerSection;
use Shureban\LaravelLogplex\Channels\Slack\Message;
use Shureban\LaravelLogplex\LogRecord;
class MessageBuilder implements MessageBuilderInterface
{
public function buildSlackMessage(LogRecord $logRecord, string $username, string $emoji): Message
{
$message = new Message($username, $emoji);
// Other blocks
$message->addBlock(new UserBlock($logRecord));
// Other blocks
return $message;
}
}
namespace App\Logging\Logplex;
use Shureban\LaravelLogplex\Channels\Slack\Block;
use Shureban\LaravelLogplex\Channels\Slack\Elements\FieldsSection;
use Shureban\LaravelLogplex\Channels\Slack\Elements\HeaderSection;
use Shureban\LaravelLogplex\LogRecord;
class UserBlock implements Block
{
private LogRecord $logRecord;
public function __construct(LogRecord $logRecord)
{
$this->logRecord = $logRecord;
}
public function toArray(): array
{
$user = $this->logRecord->getUser();
if (is_null($user)) {
return [];
}
return [
(new HeaderSection('User info :information_desk_person:'))->toArray(),
(new FieldsSection([
sprintf("*Id:*\n%s", $user->getAuthIdentifier()),
sprintf("*Email:*\n%s", $user->getEmailForVerification()),
sprintf("*Org. ID:*\n%s", $user->organization->id),
sprintf("*Org. Name:*\n%s", $user->organization->name),
]))->toArray(),
];
}
}