[英]Twisted logging
我在扭曲的反應堆下運行了3個進程:Orbited,WSGI(運行django)和Twisted自身。
我目前正在使用
log.startLogging(sys.stdout)
當所有日志都指向同一個地方時,洪水太多了。
我從WSGI獲取的一行日志是這樣的:
2010-08-16 02:21:12-0500 [-] 127.0.0.1 - - [16/Aug/2010:07:21:11 +0000] "GET /statics/js/monitor_rooms.js HTTP/1.1" 304 - "http://localhost:11111/chat/monitor_rooms" "Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.8) Gecko/20100723 Ubuntu/10.04 (lucid) Firefox/3.6.8"
時間基本上重復兩次。 我想我應該使用自己的格式化程序但不幸的是我無法在twisted的文檔中找到它(在那里沒有任何記錄)
您可以使用twisted.python.log.msg
的system
關鍵字參數來自定義消息。
假設你有:
log.msg("Service ready for eBusiness!", system="enterprise")
你會得到這樣的記錄輸出:
2010-08-16 02:21:12-0500 [enterprise] Service ready for eBusiness!
然后,您可以讓每個服務將system="wsgi/orbited/..."
log.msg
system="wsgi/orbited/..."
到他們的log.msg
和log.err
調用中。
我上次與Twisted一起工作的時候發現了這個挖掘源。
嘿。 我正在考慮這個問題。 我想出的是一個單獨的Twisted應用程序,它記錄它通過套接字接收的消息。 您可以配置Python日志記錄以發送到套接字,並且可以配置Twisted的日志記錄以發送到Python日志記錄。 因此,您可以將所有內容發送到單個進程(然后使用Python的日志記錄將其記錄到磁盤)。
我在http://www.acooke.org/cute/APythonLog0.html上有一些概念代碼的初步證明
缺少的主要是指出哪個消息來自哪個來源會很好。 不知道如何最好地添加它(一種方法是在三個不同的端口上運行服務,並為每個端口分別使用不同的前綴)。
PS Orbited是如何運作的? 那是我的名單上的......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.