Tengo una aplicación web que genera varios archivos de registro con información de rendimiento. Un archivo de registro genera tiempos de ejecución de código y otro genera tiempos de SQL. No tengo control sobre el registrador o el código que produce los archivos de registro, pero quiero generar los registros en un solo lugar.
Actualmente estoy haciendo algo como esto
tail -f sqlLogs.log | grep sql-time
tail -f perflogs.log | grep exec-time
Esto genera algo en la consola cada vez que se ejecuta un SQL en la aplicación. Pero tengo que ejecutar el código en dos sesiones SSH separadas. Sin embargo, lo que quiero ser capaz de seguir ambos archivos, en la misma sesión SSH. es posible?
Echa un vistazo a MultiTail . Es tu amigo.
Puede tener las múltiples colas de registro en
http://www.vanheusden.com/multitail/
En Ubuntu 10.04:
sudo apt-get install multitail
fuente
Sí, usando el
screen
comando, puede tener 2 sesiones bash ejecutándose en una terminal.screen
para comenzar,Ctrl-a
a continuaciónS
(NOTA: S mayúscula) para dividir la pantalla en 2.Ctrl-a
luegoTab
te moverá entre las dos sesiones.Ctrl-a
entoncesc
comenzará un shell en esa nueva región.(Vea la respuesta de Riccardo antes de usar esto, la suya es mucho más simple, dejaré esto para arriba ya que puede ser útil para personas con problemas similares pero diferentes).
fuente
Puede usar mkfifo para multiplexar la salida a una tubería
crea una tubería de quince, ajusta los archivos a la tubería, luego atrapa la tubería
cuando esté terminado
fuente
tail fileN >> pipeName
.