簡體   English   中英

如何將cURL詳細輸出通過管道發送到日志記錄模塊?

[英]How to pipe cURL verbose output to logging module?

有誰知道如何或是否有可能將cURL詳細輸出重定向到日志記錄模塊? 現在,詳細的輸出將全部輸出到stdout,但是我想將其通過管道發送到logging.debug中,該文件將被保存到文件中。

請注意,我不想將所有控制台輸出傳遞給日志記錄。 另外,我確實有一個字符串緩沖區來捕獲pycurl.WRITEFUNCTION,但是似乎沒有捕獲VERBOSE輸出。

當前代碼:

logging.debug('starting setopt_put for url: %s',api_url)
self._podium_curl_setopt_base(api_url.url + api_args)
self._podium_curl.setopt(pycurl.HTTPGET, 1)
self._podium_curl.setopt(pycurl.WRITEFUNCTION, self._string_buffer.write)
self._podium_curl.setopt(pycurl.VERBOSE, True)
self._podium_curl.perform()
logging.info(_string_buffer.getvalue())

謝謝!

curl具有DEBUGFUNCTION回調選項,該選項與WRITEFUNCTION選項的工作方式類似,不同之處在於,它使用VERBOSE輸出而不是響應主體進行調用。

官方文檔提供了參考信息以及一個簡短的示例,您應該可以根據自己的需要進行調整:

def test(debug_type, debug_msg):
    print "debug(%d): %s" % (debug_type, debug_msg)

c = pycurl.Curl()
c.setopt(pycurl.URL, "http://curl.haxx.se/")
c.setopt(pycurl.VERBOSE, 1)
c.setopt(pycurl.DEBUGFUNCTION, test)
c.perform()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM