过滤日志并实时将输出发送到新文件
Filter log and send the ouput to a new file in real time
我有一个 WebLogic 应用程序的日志文件“Apps.out”,有一个特定的应用程序将这样的日志发送到该文件:
[YYYY/MM/DD HH:MM:SS][INFO][PATTERN -> Information1]
[YYYY/MM/DD HH:MM:SS][INFO][PATTERN -> Information2]
[YYYY/MM/DD HH:MM:SS][INFO][PATTERN -> Information3]
[YYYY/MM/DD HH:MM:SS][INFO][PATTERN -> Information4]
[YYYY/MM/DD HH:MM:SS][INFO][PATTERN -> Information5]
我可以过滤这些信息:grep 'PATTERN' Apps.out
但我想将此信息发送到一个新文件 (app1.log) 并进行此渐进式操作只是为了在 app1.log 上发送与 PATTERN 匹配的新寄存器,是否可以实时进行?
谢谢
您可以使用 tail -f
:
nohup bash -c "tail -f Apps.out | grep PATTERN > app1.log" &
这将跟随文件从您开始后退 10 行的那一刻开始增长。
您可以使用 -n
更改它并返回任意行或从文件开头读取。
您可以执行以下操作:<your_log_file>
作为您的日志文件
和 <your_PATTERN>
当你模式
nohup tail -f <your_log_file>.log|while IFS= read -r;do
case $REPLY in
(*<your_PATTERN>*)printf "%s\n" "$REPLY">>app1.log;
esac
done &
我有一个 WebLogic 应用程序的日志文件“Apps.out”,有一个特定的应用程序将这样的日志发送到该文件:
[YYYY/MM/DD HH:MM:SS][INFO][PATTERN -> Information1]
[YYYY/MM/DD HH:MM:SS][INFO][PATTERN -> Information2]
[YYYY/MM/DD HH:MM:SS][INFO][PATTERN -> Information3]
[YYYY/MM/DD HH:MM:SS][INFO][PATTERN -> Information4]
[YYYY/MM/DD HH:MM:SS][INFO][PATTERN -> Information5]
我可以过滤这些信息:grep 'PATTERN' Apps.out 但我想将此信息发送到一个新文件 (app1.log) 并进行此渐进式操作只是为了在 app1.log 上发送与 PATTERN 匹配的新寄存器,是否可以实时进行? 谢谢
您可以使用 tail -f
:
nohup bash -c "tail -f Apps.out | grep PATTERN > app1.log" &
这将跟随文件从您开始后退 10 行的那一刻开始增长。
您可以使用 -n
更改它并返回任意行或从文件开头读取。
您可以执行以下操作:<your_log_file>
作为您的日志文件
和 <your_PATTERN>
当你模式
nohup tail -f <your_log_file>.log|while IFS= read -r;do
case $REPLY in
(*<your_PATTERN>*)printf "%s\n" "$REPLY">>app1.log;
esac
done &