概述
有時候,我們在線上查日誌定位問題的時候,經常會使用cat xxxx.log |grep yyyy
命令,如果grep
的時候,想排除某些字段,那麼可以如下操作:
cat test.log | grep "login"|grep -v "deviceType"
上面的命令的意思是:找出test.log
中包含login
信息的,且沒有deviceType
這個字段的。
這個其實非常有用的,因爲有些業務日誌信息,就是以有沒有傳遞某個字段,來做一些業務邏輯區分的。這個時候,就可以使用上面的命令來識別是哪些業務場景進來的。
具體例子
{
"eventName": "login",
"msg": "",
"costTime": 144,
"userId": 111111,
"request": {
code:"200"
deviceType ":2222"
}
}
上面是request
字段裏帶有deviceType
字段的,下面這個則沒有。
{
"eventName": "login",
"msg": "",
"costTime": 22,
"userId": 2222,
"request": {
code:"200"
}
}
直接使用上面的命令即可找出所有不帶deviceType
的日誌信息出來。