Il a été décidé que nous devrions passer à l'utilisation d'une base de données (MySQL) pour nos journaux d'application (il s'agit d'une application Java utilisant la bibliothèque logback). J'espère trouver quelque chose comme tail -f
ça que je peux utiliser avec une table spécifique dans cette base de données qui me montrera de nouvelles lignes au fur et à mesure qu'elles sont ajoutées (similaire à la façon dont tail -f
fonctionnait les fichiers journaux).
12
Je ne pense pas que certaines personnes comprennent la question (ou je ne comprends pas). Vous ne voulez pas enregistrer les requêtes sur la base de données; un journal d'une application va plutôt dans une base de données. S'il s'agissait d'un fichier, vous pourriez suivre le journal. Comment pouvez-vous suivre un tableau de sorte que lorsqu'une nouvelle ligne est ajoutée, elle soit sortie?
Il ne devrait pas être trop difficile d'écrire une boucle simple pour gérer cela, en supposant que vous avez un champ unique qui augmente de façon monotone au fil du temps (par exemple, un numéro de séquence).
la source
Il semble que beaucoup d'entre nous ne comprennent pas très bien votre question. Qu'entendez-vous par «base de données de journalisation» , qui n'est pas un terme MySQL standard.
Utilisez le journal des requêtes générales MySQL , qui enregistre chaque instruction reçue d'un client.
Vous pouvez ensuite définir log_output = TABLE dans votre my.cnf. Le fichier sera écrit dans $ mysql_data_directory / general_log.CSV. Vous pouvez
tail -f
ce fichier pour afficher les requêtes en temps réel.la source
Voici ce que j'utilise. Semble la solution la plus simple, bien qu'elle ne soit pas très efficace:
watch "mysql db_name -e '(SELECT * FROM my_table ORDER BY id DESC LIMIT 10) ORDER BY id ASC;'"
la source
Vous pouvez le faire de manière hacky en utilisant tail -f sur le fichier de base de données (/var/lib/mysql/database_name/table_name.MY*), puis en exécutant votre requête chaque fois qu'une ligne est lue.
la source
Je suggère d'ajouter un champ d'horodatage à n'importe quelle table que vous souhaitez suivre. Cela vous permettra d'obtenir très facilement les résultats souhaités avec une simple requête.
la source
Vous voudrez peut-être essayer ceci:
http://www.jetprofiler.com/blog/10/tail--f-table-with-myterm/#comments
Il est vieux et n'a pas été touché depuis 3 ans - mais je viens de l'essayer et cela fonctionne bien. Clonez le dépôt BZR et lisez le fichier README.
la source