Je veux ajouter toutes les activités à l'intérieur de mon application dans le fichier Larave.log. J'ai pu ajouter de la connexion à l'utilisateur à l'intérieur, mais pas la déconnexion.
Je fais cela à l'aide de Laravel 5.8 avec une base de données MySQL 5. P>
Ceci est Code Inside HomeController pour l'enregistrement de l'utilisateur de connexion à la maison. < / p> Le code ci-dessous est à l'intérieur de Laravel Logincontroller par défaut P> avec déconnexion Je m'attends à voir le message sur la déconnexion de l'utilisateur comme dans Connectez-vous mais je ne le vois pas. Quelqu'un peut me donner une explication? Merci! P> p>
3 Réponses :
Vous devez remplacer la méthode correcte. Je pense que UserLogout n'est jamais appelé à partir du cadre.
/** * Log the user out of the application. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function logout(Request $request) { Log::info('User '.Auth::user()->email.' has logged out'); Auth::guard('web')->logout(); return redirect()->route('login'); }
Alternativement, la voie de déconnexion peut être modifiée. Mais je préférerais ta solution.
Vous pouvez écouter les code> login code> et Utilisation de cette méthode, vous ne le faites pas doivent remplacer les actions de contrôleur existantes et fournies par le cadre. p> p> Déconnexion code> pour enregistrer les actions. Pour ce faire, ajoutez ce qui suit à la méthode
boot () code> de votre
eSefreserviceProvider code>:
C'est la meilleure réponse jusqu'à présent. Pour compléter cette réponse, voici le lien vers la liste des événements automatiquement soulevés par la Framework Laravel lors du processus d'authentification: laravel.com/docs/master/authentication#events
Merci, ce code a résolu mon problème. De toute évidence, je dois améliorer mes connaissances sur EventserviceProvider classe. Maintenant, le problème concerne la dateTime parce que l'enregistreur enregistre les événements 2 heures de moins (c'est-à-dire de 27 dernières années, mais mon enregistreur enregistre l'événement de connexion à 27 dernières années) Quelle classe Modifier Heure et minutes (DateTime) de mon enregistreur?
Normalement, l'enregistreur enregistre l'heure à l'aide du fuseau horaire code> défini dans config / app.php code> (ou dans le fichier
.env code> avec la touche
App_timezone code>). La valeur par défaut est
utc. / code> pendant que vous semblez avoir besoin
Europe / Berlin code> par exemple.
Ok, j'ai résolu aussi ce problème. J'ai modifié "Timezone" dans "Config.app" de "UTC" à "Europe / Berlin", comme indiqué dans PHP 5 Timezones et, maintenant, l'enregistreur rapporte le bon fuseau horaire. Merci les gars!
Génial! Veuillez accepter l'une des réponses si votre problème est résolu. :)
Vous devez définir une méthode de déconnexion dans l'application / http / contrôleurs / auth / logiffontroller.php Cette méthode appellera la déconnexion si vous avez défini les itinéraires d'authentification par défaut et le log être ajouté sur déconnexion dans un fichier laravel.log. p> p>
Êtes-vous sûr que le code est en cours d'exécution? Essayez d'ajouter un
dd ("message") code> avant le retour code> et vérifiez si vous obtenez "message"
Essayé mais rien. Je n'ai que vous déconnecter sans imprimer dans le fichier de journalisation. Ce code n'a pas exécuté.
Ensuite, vous devez ajouter le journal sur la fonction de déconnexion appropriée, vérifier la réponse de Florian.
Votre logique semble être éteinte, car le message de journal de connexion sera créé chaque fois que l'utilisateur visite son chemin d'accueil à
HomeController @ index code>.