2017-04-22 60 views
1

Reading and Writing Application Logs討論Request logs vs application logs之間的差異。在谷歌App Engine的閱讀應用程序日誌,從開發者控制檯

main.py在App Engine上我導入logging並抓住一個記錄器(因爲它的命名,options_log,我沒有使用根記錄器)運行:

import logging 

log = logging.getLogger('options_log') 
log.setLevel(logging.INFO) 
... 

log.info('Hello Log!') 

我找不到在哪裏的任何信息在Developer Console中查看我的應用程序日誌。我只看到request_logactivity

enter image description here

request_log包含main.py記錄,但我怎麼登錄到應用程序日誌,而不是request_log

回答

2

你並不需要設置記錄器選項,只是導入logging模塊並調用其功能就足夠了,就像在你的例子中引用的網頁上:

import logging 

import webapp2 


class MainPage(webapp2.RequestHandler): 
    def get(self): 
     logging.debug('This is a debug message') 
     logging.info('This is an info message') 

你也應該注意到,應用程序日誌不能獨立顯示,它們始終附加到請求日誌中以生成響應請求。從DOC你參考:

每個請求日誌中包含的應用程序日誌(AppLog)與該請求關聯 的列表,在RequestLog.app_logs 屬性返回。每個應用程序日誌都包含日誌寫入時間,日誌消息以及日誌級別。

Note: A request log can only hold 1000 app logs. If you add more than 1000, 
the older logs will not be retained. 

您需要點擊最左邊的插入符擴展請求日誌條目可以顯示相應的應用程序日誌(S):擴展請求日誌後

enter image description here

如果你還沒有看到你的應用程序日誌,我懷疑你試圖設置一個特定記錄選項 - 在'options_log'一個 - 可能是你的問題。如果您仍想設置選項,請嘗試使用默認記錄器(root logger?)而不是指定一個。或者完全放棄選項。

+0

接受這一點,因爲它回答我的問題很好。但是,如果應用程序日誌與'request_logs'交錯,那麼如何才能使用'filters'來提取應用程序日誌,例如,創建對'sinks'的導出? – Jack

+0

過濾功能正常工作,並且每當某些應用日誌與過濾器匹配時,它們將與它們所附帶的相應「攜帶」請求日誌一起顯示*。 –

相關問題