ajouter la config monolog mattermost
This commit is contained in:
@@ -36,4 +36,8 @@ MESSENGER_TRANSPORT_DSN=doctrine://default?auto_setup=0
|
||||
LISTMONK_BASE_URL=https://listmonk.powerpme.com
|
||||
LISTMONK_API_USER=
|
||||
LISTMONK_TOKEN=
|
||||
###> LISTMONK/API ###
|
||||
###> LISTMONK/API ###
|
||||
|
||||
###> monolog/mattermost ###
|
||||
MATTERMOST_WEBHOOK_URL=https://mattermost.powerpme.com/hooks/
|
||||
###< monolog/mattermost ###
|
||||
@@ -33,23 +33,22 @@ when@prod:
|
||||
monolog:
|
||||
handlers:
|
||||
main:
|
||||
type: fingers_crossed
|
||||
action_level: error
|
||||
handler: nested
|
||||
excluded_http_codes: [404, 405]
|
||||
channels: ["!deprecation"]
|
||||
buffer_size: 50 # How many messages should be saved? Prevent memory leaks
|
||||
nested:
|
||||
type: stream
|
||||
path: php://stderr
|
||||
level: debug
|
||||
formatter: monolog.formatter.json
|
||||
path: "%kernel.logs_dir%/%kernel.environment%.log"
|
||||
level: error
|
||||
channels: ["!event"]
|
||||
console:
|
||||
type: console
|
||||
process_psr_3_messages: false
|
||||
channels: ["!event", "!doctrine"]
|
||||
deprecation:
|
||||
type: stream
|
||||
channels: [deprecation]
|
||||
path: php://stderr
|
||||
formatter: monolog.formatter.json
|
||||
channels: ["!event", "!doctrine", "!console"]
|
||||
mattermost_filter:
|
||||
type: fingers_crossed
|
||||
action_level: error # Déclenche l'envoi uniquement à partir du niveau ERROR
|
||||
handler: mattermost
|
||||
excluded_http_codes: [404, 403]
|
||||
mattermost:
|
||||
type: slackwebhook
|
||||
webhook_url: '%env(MATTERMOST_WEBHOOK_URL)%'
|
||||
bot_name: 'Symfony Bot' # Nom de l'auteur du message dans Mattermost
|
||||
icon_emoji: ':boom:' # Emoji pour illustrer le message
|
||||
level: error
|
||||
|
||||
@@ -0,0 +1,66 @@
|
||||
<?php
|
||||
|
||||
namespace App\Controller\Backend;
|
||||
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
|
||||
|
||||
use Symfony\Component\HttpFoundation\Response;
|
||||
|
||||
use App\Service\Frontend\ListmonkMailerService;
|
||||
|
||||
use Symfony\Component\Routing\Attribute\Route;
|
||||
|
||||
use Psr\Log\LoggerInterface;
|
||||
|
||||
#[Route('/admin/test')]
|
||||
final class TestController extends AbstractController
|
||||
{
|
||||
|
||||
public function __construct(
|
||||
private readonly ListmonkMailerService $mailer,
|
||||
) {
|
||||
|
||||
}
|
||||
|
||||
#[Route('/test1', name: 'app_test_test1')]
|
||||
public function test1()
|
||||
{
|
||||
dd("test1");
|
||||
}
|
||||
|
||||
#[Route('/logger', name: 'app_test_logger')]
|
||||
public function logger(LoggerInterface $logger): Response
|
||||
{
|
||||
// Ceci va déclencher l'envoi vers Mattermost si vous êtes en environnement 'prod'
|
||||
$logger->error('Bonjour Log Maher Test.', [
|
||||
'user' => 'John Doe',
|
||||
'code' => 500
|
||||
]);
|
||||
|
||||
//composer require symfony/monolog-bundle
|
||||
|
||||
throw new \Symfony\Component\HttpKernel\Exception\NotFoundHttpException('Csrf non valide Test Test');
|
||||
//$logger->info('Test log Symfony');
|
||||
//$logger->warning('Test warning');
|
||||
//$logger->error('Test error');
|
||||
|
||||
//return new Response('Log envoyé !');
|
||||
}
|
||||
|
||||
|
||||
#[Route('/mailer', name: 'app_test_mailer')]
|
||||
public function mailer()
|
||||
{
|
||||
$result = $this->mailer->send(
|
||||
['maher.tili@gmail.com'],
|
||||
7,
|
||||
['name'=> 'Monjie', 'video'=> 'mon happy movie test', 'date'=> '19/06/2026 15:45', 'url'=> 'https://video.powerpme.com/downloder/user/4/'],
|
||||
'external',
|
||||
['Content-Type' => 'application/json; charset=utf-8']
|
||||
);
|
||||
|
||||
dd($result);
|
||||
|
||||
return $this->render('/frontend/test.html.twig', []);
|
||||
}
|
||||
}
|
||||
@@ -30,7 +30,6 @@ use App\Entity\UserDownloader;
|
||||
use App\Entity\AnonymeDownloader;
|
||||
|
||||
use App\Service\Frontend\DownloadService;
|
||||
use App\Service\Frontend\ListmonkMailerService;
|
||||
|
||||
use Symfony\Component\HttpFoundation\BinaryFileResponse;
|
||||
|
||||
@@ -47,7 +46,6 @@ final class HomeController extends AbstractController
|
||||
private readonly TranslatorInterface $translator,
|
||||
private ParameterBagInterface $params,
|
||||
private DownloadService $downloadService,
|
||||
private readonly ListmonkMailerService $mailer,
|
||||
) {
|
||||
$this->projectDir = $params->get('kernel.project_dir');
|
||||
}
|
||||
@@ -346,22 +344,4 @@ final class HomeController extends AbstractController
|
||||
return $this->redirectToRoute('app_frontend_history');
|
||||
}
|
||||
|
||||
|
||||
|
||||
#[Route('/test', name: 'app_test')]
|
||||
public function test()
|
||||
{
|
||||
die;
|
||||
$this->mailer->send(
|
||||
['maher.tili@gmail.com'],
|
||||
7,
|
||||
['name'=> 'Monjie', 'video'=> 'mon happy movie test', 'date'=> '19/06/2026 15:45', 'url'=> 'https://video.powerpme.com/downloder/user/4/'],
|
||||
'external',
|
||||
['Content-Type' => 'application/json; charset=utf-8']
|
||||
);
|
||||
|
||||
dd($result);
|
||||
die;
|
||||
return $this->render('/frontend/test.html.twig', []);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ class LoginAuthenticator extends AbstractLoginFormAuthenticator
|
||||
$this->em->clear();
|
||||
|
||||
if ($user->hasRole('ROLE_ADMIN')) {
|
||||
return new RedirectResponse($this->urlGenerator->generate('admin_home_index'));
|
||||
return new RedirectResponse($this->urlGenerator->generate('app_test_test1'));
|
||||
} else {
|
||||
return new RedirectResponse($this->urlGenerator->generate('app_frontend_home'));
|
||||
}
|
||||
|
||||
@@ -143,6 +143,6 @@
|
||||
}
|
||||
|
||||
</script>
|
||||
<script src="{{ asset('assets/js/frontend.js') }}"></script>
|
||||
<script src="{{ asset('assets/js/frontend.js?v=1') }}"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user