後來檢視了tail包內的內容終於找到
需要將之前監視開啟的tail kill之後才行
以下是模擬**
關鍵:tt.kill(nil)
var retail =
make
(chan
int,1)
var killchan =
make
(chan
int,1)
func
test_tailfile
(t *testing.t)}}
//監聽日誌檔案
func
tailfile
(file string
) config.follow =
true
seek :=
&tail.seekinfo
seek.offset =
0 seek.whence = os.seek_end
config.location = seek
var stopchan =
make
(chan
int,1)
debug
("tail"
, file)
tt, err := tail.
tailfile
(file, config)
if err !=
nil//每經過2s彙總一次日誌資訊(number)
gofunc()
l.text =
"sum"
tt.lines
case
debug
("stop sum"
) killchan
1//防止定時寫入已關閉的tail
return}}
}()var num int
for line :=
range tt.lines
//接收到彙總訊號
if linestr ==
"sum"
//資料清空
num =0}
}}//模擬日誌輸入
func
write
(file string)_
, err = f.
write([
]byte
("continue \n"))
if err !=
nil f.
close()
i +=
1debug
("add log"
, i)
if i >10}
}
如果沒有kill直接tail.tailfile() 可以看到下圖的結果
雖然顯示監聽了但並沒有監聽到新建立檔案內的內容
kill之後重新監聽則可以正常獲取到新檔案內的內容
使用tail命令檢視日誌
tail 命令是用來檢視檔案最後幾行資訊的 與head命令相對應 使用 f 引數後就變成了檢視日誌的好工具。tail f 可以跟蹤日誌變化,也就是當檢視的檔案有變化時tail會自動顯示最新的內容。如有檔案 test,內容為 1.hahaha 此時我執行如下命令 niu niu download ta...
Linux中tail命令使用
tail 命令從指定點開始將檔案寫到標準輸出.使用tail命令的 f選項可以方便的查閱正在改變的日誌檔案,tail f filename會把filename裡最尾部的內容顯示在螢幕上,並且不但重新整理,使你看到最新的檔案內容.1 命令格式 tail 必要引數 選擇引數 檔案 2 命令功能 用於顯示指...
tail命令使用說明
1 命令概述 tail用於顯示檔案尾部的內容,預設在螢幕上顯示指定檔案的末尾10行。如果給定的檔案不止乙個,則在顯示的每個檔案前面加乙個檔名標題。2 命令語法 tail 選項 檔案 3 命令選項 f 顯示檔案最新追加的內容,該引數用於監視file檔案增長。n number 顯示最後number行 c...