Docker檢視log命令與Linux檢視log

2021-09-24 21:29:07 字數 1674 閱讀 5325

開發基於 docker 的應用時,用好 log 可以大大提高排錯效率,下面就是幾個常用的 log 操作技巧:

# 顯示某個容器的所有log

$ docker logs [options] # 顯示 docker-compose 啟動的所有容器的log

$ docker-compose logs

$ docker logs -f
效果和linux的tail-n20filename一樣,顯示最後20行的內容。

$ docker logs --tail 20
例如查詢所有包含 「error」 的log:

$ docker logs | grep error
比如只想檢視某個時間點之後的日誌,使用--since選項,顯示從指定時間點到最新的日誌:

$ docker logs --since 2018-09-25t12:01:46.452616z
--since指定了開始時間點,還可以指定結束時間點,使用選項--until,顯示二者之間的日誌:

$ docker logs --since 2018-09-25t12:01:48.551341z --until 2018-09-25t12:01:48.561714z
這些選項都可以放在一起使用,例如:

$ docker logs --tail 10 | grep info

$ docker logs -f --since *** --tail=10

把 error 日誌都寫到指定檔案:

$ docker logs -t | grep error >> logs_error.txt
可以寫乙個指令碼把感興趣的內容寫入檔案,進一步還可以匯入我們的日誌系統,方便檢視。

1、查詢關鍵字前後30行

cat 日誌檔名.log | grep -30 『關鍵字』

例:cat mcs-all.log | grep -30 『2019-04-08 13:30:04,271』

2、查詢兩個關鍵字同時出現

cat 日誌檔名.log | grep 『關鍵字1』 | grep 『關鍵字2』

例:cat mcs-all.log | grep 『servicev5impl』 | grep 『客戶姓名不能為空』

3、壓縮以後的檔案查詢

gzip -dc 檔名 | grep -30 「關鍵字」

例:gzip -dc mcs-all.log_2019-04-04.gz | grep -30 『2019-04-04 17:38:26,036』

4、查詢中所匹配模式的最後一項

cat 檔名 | grep 『關鍵字』 | tail -n

例子:cat mcs-all.log_2019-04-09 | grep 『客戶姓名不能為空』 | tail -1

cat mcs-all.log_2019-04-09 | grep 『客戶姓名不能為空』 | tail -100

adb logcat命令檢視 log

cmd命令列中使用adb logcat命令檢視android系統和應用的log,dos視窗按ctrl c中斷輸出log記錄。logcat日誌中的優先順序 tag標記 android輸出的每一條日誌都有乙個標記和優先順序與其關聯。優先順序是下面的字元,順序是從低到高 v 明細 verbose 最低優先...

androd系統檢視log命令

抓取上層log adb logcat c log1.txt 可以使用此命令在cmd模式下直接抓包 抓取kernel log adb shell cat proc kmsg 抓log style text decoration none color rgb 144,80,50 rel noopener...

高效檢視分析Log命令

tail f data.log tail n 10 data.log tail 10 data.log tail n 100 data.log tail f 10 data.log 類似引數說明 a 顯示匹配行及前面多少行,如 a3,則表示顯示匹配行及前3行 b 顯示匹配行及後面多少行,如 b3,則...