開發基於 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,則...