2012-11-04 49 views
6

Uzun zamandır bu çalışmayı denemeye çalışıyorum ama şu an gerçekten benim zihnimde çalışıyorum. SO ve flask belgelerinde bulabildiğim her şeyi yapmaya çalıştım ve hala basit bir hata günlüğünü çalışamıyorum, böylece uygulamamın hatalarını ayıklayabiliyorum. Aşağıda yapıştırılan kod yer almaktadır - Lütfen bana nerede yanlış gittiğimi söyleyin. Çok teşekkür ederim.mod_wsgi ile günlüğe kaydetme hatalarını günlüğe kaydetme

cevap

3

Bir derleme süresi istisnası değil, bir çalışma zamanı istisnası oluşturmanız gerekir. Eksik bir alıntı, derleme zamanı istisnasıdır ve günlük kodunuz hiçbir zaman çalıştırılamaz.

Onun yerine bir istisna: hatta mod_wsgi yüklemek için WSGI komut dosyası

@app.route('/') 
def hello(): 
    raise Exception('Deliberate exception raised') 
+0

Bu çalışır! Ama diğer hatalar ne olacak? Bu, yarattığım kukla bir main.py. Sahip olduğum bir 500 hata veriyor, ancak günlük dosyası boş görünüyor? Geliştirme sunucusunda göründüğü gibi her türlü hatayı yakalamak için ne yapabilirim? Teşekkürler – Prakhar

+0

@Prakhar: * en * istisnaları yakalayabilirsiniz. Sadece sözdizimi hataları değil, bunları yakalamak için dağıtımdan önce kodunuzu test edin. –

+0

Üretimde hala 500 hata görüyorsanız, şişe kodunuz çalıştırılmıyor; Bu bir yapılandırma hatası veya bir sözdizimi hatası olabilir ve böyle olanları yakalayamazsınız. WSGI sunucunuzun kayıtlarını kontrol edin. –

5

bir sözdizimi hatası oldu oluşturduğunuz belirli bir hata, yol açabilirdi başarısızlığı. Bunun için hata, Apache hata günlüğü dosyasında, günlüğe kaydetme modülünü kullanarak kurduğunuz günlük dosyasını değil. Apache hata kayıt dosyasına baktınız mı?

İstek yürütme sırasında kaldırılan bir istisna için Flask varsayılan olarak 500 hata sayfasına dönüşür ve aksi takdirde ayrıntıların gösterilmesi gerekir. Eğer bir çalışma zamanı istisnası geliştirme amacıyla tarayıcıya döndürülür 500 sayfa görüntülenmesini istiyorsanız

http://flask.pocoo.org/docs/errorhandling/

şunlar gereklidir: Sen posta veya başına başka yollarla böyle çalışma zamanı istisnaları günlüğe Flask ayarlamanız gerekir Flask hata ayıklama modunu etkinleştirmek için. Bu gerçek olamayacak app.debug ayarlayarak yapılır:

http://flask.pocoo.org/docs/config/?highlight=app%20debug

Sen üretim sistemini bakan bir kullanıcıya etkinleştirilmiş ayıklama moduna sahip olmamalıdır.

İlgili konular