Было решено, что нам следует перейти к использованию базы данных (MySQL) для журналов наших приложений (это приложение Java, использующее библиотеку logback). Я надеюсь найти что-то подобное, tail -f
что я могу использовать с конкретной таблицей в этой базе данных, которая покажет мне новые строки по мере их добавления (аналогично тому, как tail -f
работали над файлами журналов).
12
Я не думаю, что некоторые люди понимают вопрос (или я не понимаю). Вы не хотите регистрировать запросы к БД; скорее журнал из приложения собирается в БД. Если бы это был файл, вы могли бы вести журнал. Как вы настраиваете таблицу, чтобы при добавлении новой строки она выводилась?
Не должно быть сложно написать простой цикл для обработки этого, предполагая, что у вас есть уникальное поле, которое монотонно увеличивается со временем (например, порядковый номер).
источник
Похоже, что многие из нас не совсем поняли ваш вопрос. Что вы подразумеваете под «журналированием базы данных» , что не является стандартным термином MySQL.
Используйте общий журнал запросов MySQL , в котором регистрируется каждый оператор, полученный от клиента.
Затем вы можете установить log_output = TABLE в вашем my.cnf. Файл будет записан в $ mysql_data_directory / general_log.CSV. Вы можете
tail -f
этот файл для просмотра запросов в режиме реального времени.источник
Вот что я использую. Кажется, самое простое решение, хотя оно не очень эффективно:
watch "mysql db_name -e '(SELECT * FROM my_table ORDER BY id DESC LIMIT 10) ORDER BY id ASC;'"
источник
Вы можете сделать это хакерским способом, используя tail -f в файле базы данных (/var/lib/mysql/database_name/table_name.MY*) и затем выполняя запрос каждый раз, когда читается строка.
источник
Я предлагаю добавить поле метки времени к любой таблице, которую вы хотите привязать. Это позволит вам легко получить желаемые результаты с помощью простого запроса.
источник
Вы можете попробовать это:
http://www.jetprofiler.com/blog/10/tail--f-table-with-myterm/#comments
Это старое и не трогали в течение 3 лет - но я только что попробовал, и это работает хорошо. Клонируйте репозиторий BZR и прочитайте README.
источник