2011-11-05 27 views
6

Nginx + UWSGI + python çalıştıran bir sunucum var. UWSGI, tüm uygulama hatalarını kaydeden bayrak seti: --daemonize /var/log/uwsgi.log ile bir daemon olarak çalışıyor.nginx + uwsgi ile python'da oturum açmak için nasıl yazılır

Bir python yazdırma deyimi kullanırsam hataya yazılır, ancak günlüğe yazılır, ancak yalnızca bir hata oluşur. Standart python kayıt kitaplığı, herhangi bir durumda günlüğü etkilemiyor gibi görünmüyor.

Python günlüğü kitaplıklarını UWSGI günlüğünü kullanmak üzere nasıl işaretlerim? günlük işleyici

cevap

4

kullanımı logging.StreamHandler WSGI sunucusudur ve bu şekilde önemli wsgi.errors kullanılarak, kabul ettiği çağrılabilir uygulamaya geçirilen environ dict bir akım geçer. Çıplak bir wsgi uygulaması yazıyorsanız, o akışa yazmak işi yapmalıdır. Eğer wsgi arayüzünü özetleyen bir çerçeve kullanıyorsanız (ve bunun sesi ile, siznormalde sys.stdout'a yazacaksınız, bu da bir cüretkâr süreçte kapanacak ve hiçbir zaman herhangi bir kayıt dosyasına yapamayacaksınız) Muhtemelen bu çerçevenin hata günlüğünü nasıl ele aldığına bakmanız gerekir.

+3

Cevabınız ayrıntılı olmamasına rağmen, beni doğru yola yönlendirdi. Bu cevap, kullandığım yöntemi açıklar: http://stackoverflow.com/questions/1383254/logging-streamhandler-and-standard-streams – elkelk

+0

@elkelk: Uzatır mısınız? Filtrelere ihtiyacım yok ve bu yöntemle oturum açmaya çalıştım - hala dosyaya hiçbir şey yazdırmıyor. –

+0

Benzer sorun var ama Docker konteynerleri ile ilgili olarak. Http://stackoverflow.com/questions/35511839/how-to-force-applications-stdout-logs-through-uwsgi sayfasına bakın. – msgre

İlgili konular