Zdecydowano, że powinniśmy przejść do korzystania z bazy danych (MySQL) dla naszych dzienników aplikacji (jest to aplikacja Java korzystająca z biblioteki logback). Mam nadzieję, że znajdę coś takiego tail -f
, czego mogę używać z konkretną tabelą w tej bazie danych, która pokaże mi nowe wiersze po ich dodaniu (podobnie jak tail -f
w przypadku plików dziennika).
12
Nie sądzę, że niektórzy ludzie rozumieją pytanie (lub nie rozumiem). Nie chcesz rejestrować zapytań w bazie danych; raczej dziennik z aplikacji przechodzi do bazy danych. Gdyby to był plik, można zmodyfikować dziennik. Jak ogonić tabelę, aby po dodaniu nowego wiersza był on wyprowadzany?
Nie powinno być trudno napisać prostą pętlę, aby sobie z tym poradzić, zakładając, że masz unikalne pole, które monotonicznie zwiększa się w czasie (np. Numer sekwencyjny).
źródło
Wygląda na to, że wielu z nas nie rozumie twojego pytania. Co rozumiesz przez „rejestrowanie bazy danych” , co nie jest standardowym terminem MySQL.
Użyj dziennika ogólnych zapytań MySQL , który rejestruje każdą instrukcję otrzymaną od klienta.
Następnie możesz ustawić log_output = TABLE w pliku my.cnf. Plik zostanie zapisany w katalogu $ mysql_data_data / general_log.CSV. Możesz
tail -f
ten plik, aby wyświetlić zapytania w czasie rzeczywistym.źródło
Oto czego używam. Wydaje się najprostszym rozwiązaniem, choć nie jest bardzo wydajne:
watch "mysql db_name -e '(SELECT * FROM my_table ORDER BY id DESC LIMIT 10) ORDER BY id ASC;'"
źródło
Możesz to zrobić w hacky sposób, używając tail -f w pliku bazy danych (/var/lib/mysql/database_name/table_name.MY*), a następnie uruchamiając zapytanie za każdym razem, gdy czytany jest wiersz.
źródło
Sugeruję dodanie pola znacznika czasu do dowolnej tabeli, którą chcesz dopasować. To pozwoli ci bardzo łatwo uzyskać pożądane wyniki za pomocą prostego zapytania.
źródło
Możesz spróbować:
http://www.jetprofiler.com/blog/10/tail--f-table-with-myterm/#comments
Jest stary i nie był dotykany przez 3 lata - ale właśnie go wypróbowałem i działa OK. Sklonuj repozytorium BZR i przeczytaj plik README.
źródło