Jeśli tak, to jak można to zrobić? Domyślnie L4 zapisuje do pliku tekstowego. Zauważyłem, że Monolog może logować się do bazy danych na swojej stronie github.Czy Laravel 4 może logować się do bazy danych MySQL?
Odpowiedz
Tak, można utworzyć słuchacza do logowania wszystko w routes.php
Event::listen('laravel.log', function($type,$message)
{
$log = new Log();
$log->message = $message;
$log->type = $type;
$log->update;
});
lub alternatywnie, jeśli chcieliśmy tylko dziennika błędów 400 i 500 Larvavel jest zdarzenie dziennika w pliku Routes.php który słucha błędów 404 i 500, możesz napisać swój własny kod w tym detektorze zdarzeń. Więc zakładając, że masz model o nazwie Log zdefiniowane
Event::listen('404', function()
{
$error = "404: " . URL::full();
Log::error($error);
$update = new Log();
$update->error = $error;
$update->update;
return Response::error('404');
});
Event::listen('500', function()
{
Log::error($error);
$update = new Log();
$update->error = $error;
$update->update;
return Response::error('500');
});
Jak widać, jeśli czytasz dalej nagłówek, Monolog natywnie obsługuje zapisywanie do Redis, MongoDB i CouchDB. Te trzy wszystkie wspierają dość pisać ciężkie (i bardzo piszą ciężkie w przypadku Redis) przypadki użycia. MySQL nie istnieje, ponieważ logowanie do MySQL nie jest najlepszym pomysłem na świecie.
Jeśli naprawdę chcesz to zrobić, możesz sprawdzić dokumentację na temat tworzenia własnego programu obsługi, który wyjaśnia, jak utworzyć i użyć programu obsługi CHNP do zapisania w bazie danych SQL: https://github.com/Seldaek/monolog/blob/master/doc/extending.md - Nadal uważam, że to zły pomysł , ale może przypadek użycia to gwarantuje.
W laravel 5 teraz jest illuminate.log
Teraz to będzie jak
Event::listen('illuminate.log', function($type,$message)
{
....
});
- 1. Czy można używać Laravel 4 bez domyślnej bazy danych
- 2. Jak skutecznie logować 100s do 1000s działań do bazy danych
- 3. Jak logować wyniki testów junit do bazy danych
- 4. Użytkownik ASP.NET nadal może się logować, jeśli konto jest nieaktywne lub usunięte z bazy danych
- 5. Poczta do bazy danych MySQL
- 6. PostgreSQL: rola nie może się logować
- 7. Jak sprawdzić, czy połączenie z bazą danych w Laravel 4?
- 8. Dane nie dostanie się do bazy danych MySql
- 9. Czy mogę korzystać z autonomicznej warstwy bazy danych Laravel?
- 10. Laravel bez migracji Eloquent i bazy danych?
- 11. Normalizacja bazy danych MySQL
- 12. Importowanie dużą csv do bazy danych mysql
- 13. IMDB do MySQL: Wstaw dane IMDB do bazy danych MySQL
- 14. Schemat bazy danych MySQL
- 15. Jak odzyskać 4 ostatnie znaki z pola bazy danych mysql?
- 16. Rails 4.1 - Zapis do bazy danych MySQL bez typowania danych
- 17. Tworzenie procedury MYSQL w Laravel 4 Migracje
- 18. jak podłączyć F # do bazy danych MySQL?
- 19. Czy znasz darmowy generator danych testowych dla bazy danych mysql?
- 20. Kopia zapasowa bazy danych MySQL do Dropbox
- 21. Android - podłączanie do bazy danych MySQL
- 22. Dostęp do bazy danych MySQL w Electron
- 23. Zapisywanie html5 Canvas jako danych do bazy danych mysql
- 24. Czy mysql może utworzyć rozproszoną bazę danych?
- 25. Czy NHibernate może sprawdzić, czy schemat bazy danych został wygenerowany?
- 26. Jak programowo logować się do wordpressa?
- 27. Czytanie pliku excel i przesyłanie do bazy danych Laravel 5
- 28. Importowanie macierzy danych programu Excel do bazy danych MySQL
- 29. laravel 5.1: Migracja istniejącej bazy danych
- 30. Wstawianie do bazy danych
Wystarczy poinformować, powyższy kod nie będzie faktycznie pracują w L4, chyba że specjalnie wywołać zdarzenie używając Event: :ogień(). W L4 trzeba zarejestrować słuchacza klasy Log zamiast klasy Event, np 'Log :: słuchać (function (poziom $, $ message, $ kontekstu) {// kod }) ; ' – JamesG
Dlaczego przechowywanie logów w MySQL nie jest dobrym pomysłem? –
@PavelKostenko, ponieważ jeśli masz jakąkolwiek aplikację o dużym obciążeniu, będziesz miał mnóstwo zapisów MySQL, co nie jest najlepszym rozwiązaniem dla MySQL w porównaniu do innych wyspecjalizowanych rozwiązań do rejestrowania. – Seldaek