Diputuskan bahwa kita harus pindah ke menggunakan database (MySQL) untuk log aplikasi kita (ini adalah aplikasi Java menggunakan lib logback). Saya berharap menemukan sesuatu seperti tail -f
itu yang bisa saya gunakan dengan tabel khusus dalam database yang akan menunjukkan kepada saya baris baru ketika mereka ditambahkan (mirip dengan cara tail -f
bekerja pada file log).
12
Saya tidak berpikir beberapa orang mengerti pertanyaan (atau saya tidak). Anda tidak ingin mencatat kueri terhadap DB; bukan log dari aplikasi yang masuk ke DB. Jika itu file, Anda bisa mengekor log. Bagaimana Anda mengekor tabel sehingga ketika baris baru ditambahkan itu adalah output?
Seharusnya tidak sulit untuk menulis loop sederhana untuk menangani ini, dengan asumsi Anda memiliki bidang unik yang meningkat secara monoton dari waktu ke waktu (misalnya, nomor urut).
sumber
Tampaknya banyak dari kita tidak begitu mengerti pertanyaan Anda. Apa yang Anda maksud dengan "logging database" , yang bukan istilah MySQL standar.
Gunakan MySQL General Query Log , yang mencatat setiap pernyataan yang diterima dari klien.
Anda kemudian dapat mengatur log_output = TABEL di my.cnf Anda. File akan ditulis ke $ mysql_data_directory / general_log.CSV. Anda dapat
tail -f
file ini untuk melihat permintaan secara real time.sumber
Inilah yang saya gunakan. Tampaknya solusi paling sederhana, meskipun tidak terlalu efisien:
watch "mysql db_name -e '(SELECT * FROM my_table ORDER BY id DESC LIMIT 10) ORDER BY id ASC;'"
sumber
Anda bisa melakukannya dengan cara hacky dengan menggunakan tail -f pada file database (/var/lib/mysql/database_name/table_name.MY*) dan kemudian menjalankan kueri Anda setiap kali sebuah baris dibaca.
sumber
Saya sarankan menambahkan bidang cap waktu ke tabel apa pun yang ingin Anda buntuti. Itu akan memungkinkan Anda untuk mendapatkan hasil yang diinginkan dengan sangat mudah dengan permintaan sederhana.
sumber
Anda mungkin ingin mencobanya:
http://www.jetprofiler.com/blog/10/tail--f-table-with-myterm/#comments
Ini sudah tua dan belum disentuh selama 3 tahun - tapi saya baru mencobanya dan berfungsi baik. Klon repo BZR dan baca README.
sumber