
나는 때때로 새 파일이 추가되는 로그 파일이 있는 디렉토리를 가지고 있습니다. 결합된 보기에서 'tailf'하고 싶습니다(함께 병합된 모든 파일의 모든 행 참조).
이에 대해 lnav가 몇 번 권장되는 것을 보았고 기능 설명에 따르면 이러한 옵션을 지원해야 하지만 문서가 충분히 명확하지 않습니다.
구체적으로 - lnav를 실행하여 디렉터리를 추적할 때 f\F 키를 사용하여 로그 파일을 전환할 수 있지만 결합된 보기는 얻을 수 없습니다.
답변1
실제로 lnav
. 내가 생각할 수 있는 최선의 방법은 tail -f
모든 로그 파일에 사용하는 것입니다.
tail -f file_1.log ... file_n.log
이를 사용하는 또 다른 솔루션에는 logtail
몇 가지 단점이 있지만 때때로 새 로그 파일이 추가되는 경우를 처리합니다.
#!/bin/bash
# Quietly initialize logtail offset files
for logfile in *log
do
logtail $logfile
done > /dev/null
while :
do
# wait a second for new logs
sleep 1
for logfile in *log
do
# output new logs since last logtail run, prepend with log filename
logtail $logfile | sed "s/^/$logfile: /"
done
done
답변2
파일에 타임스탬프가 있고 파일 형식을 이해하는 경우 lnav에서 로그 메시지의 결합된 보기를 얻을 수 있습니다. lnav가 로그 파일 형식을 이해하지 못하는 경우 파일을 일반 텍스트로 처리합니다. 해당 항목에 설명된 대로 새 형식 정의를 생성할 수 있습니다.선적 서류 비치.