Skip to content
Snippets Groups Projects
Commit 98c4376c authored by Pierre Fleutot's avatar Pierre Fleutot
Browse files

Ajout envoi de mail lors des logs d'erreurs. Ajout adresses d'envoi de tous...

Ajout envoi de mail lors des logs d'erreurs. Ajout adresses d'envoi de tous les emails pour env = preprod. Rajout validation email user vérifié
parent 6846697a
No related branches found
No related tags found
No related merge requests found
framework: when@preprod:
mailer: framework:
dsn: '%env(MAILER_DSN)%' mailer:
dsn: '%env(MAILER_DSN)%'
envelope:
recipients: ['fleutotp@gmail.com', 'enzo.simonnet@liris.cnrs.fr', 'mathieu.loiseau@liris.cnrs.fr']
when@dev:
framework:
mailer:
dsn: '%env(MAILER_DSN)%'
when@prod:
framework:
mailer:
dsn: '%env(MAILER_DSN)%'
\ No newline at end of file
...@@ -43,19 +43,54 @@ when@prod: ...@@ -43,19 +43,54 @@ when@prod:
main: main:
type: fingers_crossed type: fingers_crossed
action_level: error action_level: error
handler: nested handler: grouped
excluded_http_codes: [404, 405] excluded_http_codes: [404, 405]
buffer_size: 50 # How many messages should be saved? Prevent memory leaks buffer_size: 50 # How many messages should be saved? Prevent memory leaks
nested: grouped:
type: stream type: group
path: php://stderr members: [streamed, symfony_mailer]
streamed:
type: stream
path: '%kernel.logs_dir%/%kernel.environment%.log'
level: debug level: debug
formatter: monolog.formatter.json deduplicated:
console: type: deduplication
type: console time: 10 # the time in seconds during which duplicate entries are discarded (default: 60)
process_psr_3_messages: false handler: symfony_mailer
channels: ["!event", "!doctrine"] symfony_mailer:
deprecation: type: symfony_mailer
type: stream from_email: '%env(MONOLOG_ERROR_MAIL_FROM)%'
channels: [deprecation] to_email: '%env(MONOLOG_ERROR_MAIL_TO)%'
path: php://stderr subject: 'Bug Balex %kernel.environment% : %%message%%'
level: critical
formatter: monolog.formatter.extra_data
content_type: text/html
when@preprod:
monolog:
handlers:
main:
type: fingers_crossed
action_level: error
handler: grouped
excluded_http_codes: [404, 405]
buffer_size: 50 # How many messages should be saved? Prevent memory leaks
grouped:
type: group
members: [streamed, symfony_mailer]
streamed:
type: stream
path: '%kernel.logs_dir%/%kernel.environment%.log'
level: debug
deduplicated:
type: deduplication
time: 10 # the time in seconds during which duplicate entries are discarded (default: 60)
handler: symfony_mailer
symfony_mailer:
type: symfony_mailer
from_email: '%env(MONOLOG_ERROR_MAIL_FROM)%'
to_email: '%env(MONOLOG_ERROR_MAIL_TO)%'
subject: 'Bug Balex %kernel.environment% : %%message%%'
level: critical
formatter: monolog.formatter.extra_data
content_type: text/html
...@@ -37,6 +37,15 @@ services: ...@@ -37,6 +37,15 @@ services:
tags: [serializer.normalizer] tags: [serializer.normalizer]
monolog.formatter.extra_data:
class: Monolog\Formatter\HtmlFormatter
arguments:
- "[%%datetime%%] [%%extra.token%%] %%channel%%.%%level_name%%: %%message%% %%context%% %%extra%%\n"
App\Logger\ExtraDataProcessor:
tags:
- { name: monolog.processor }
# app.listener.api_exception: # app.listener.api_exception:
# class: AppBundle\EventListener\ApiExceptionSubscriber # class: AppBundle\EventListener\ApiExceptionSubscriber
# tags: # tags:
......
...@@ -20,11 +20,11 @@ class CheckVerifiedUserSubscriber implements EventSubscriberInterface ...@@ -20,11 +20,11 @@ class CheckVerifiedUserSubscriber implements EventSubscriberInterface
if (!$user instanceof User) { if (!$user instanceof User) {
throw new \Exception('Unexpected user type'); throw new \Exception('Unexpected user type');
} }
// if (!$user->getIsVerified()) { if (!$user->getIsVerified()) {
// throw new CustomUserMessageAuthenticationException( throw new CustomUserMessageAuthenticationException(
// "Veuillez confirmer la création de votre compte depuis l'email reçu." "Veuillez confirmer la création de votre compte depuis l'email reçu."
// ); );
// } }
} }
public static function getSubscribedEvents() public static function getSubscribedEvents()
{ {
......
<?php
namespace App\Logger;
use App\Entity\User;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage;
use Symfony\Component\Security\Core\Security;
class ExtraDataProcessor
{
private $tokenStorage;
private $requestStack;
public function __construct(Security $security, RequestStack $requestStack)
{
$this->security = $security;
$this->requestStack = $requestStack;
}
public function __invoke(array $record)
{
if ($this->security->getUser() != null) {
$user = $this->security->getUser();
if ($user instanceOf User) {
$record['extra']['utilisateur']['nom'] = $user->getPseudo();
$record['extra']['utilisateur']['email'] = $user->getEmail();
} else {
$record['extra']['utilisateur'] = "Not logged in.";
}
} else {
$record['extra']['utilisateur'] = "Not logged in.";
}
$request = $this->requestStack->getCurrentRequest();
if ($request){
$record['extra']['url'] = $request->getUri();
}
return $record;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment