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
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')
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.
- 1. Günlüğe kaydetme ve günlüğe kaydetme gün ışığından yararlanma
- 2. Spdlog ile kütüphaneden günlüğe kaydetme
- 3. python günlüğe kaydetme alternatifleri
- 4. Günlüğe kaydetme düzeyini değiştirmemiş
- 5. İleti/günlüğe kaydetme İnce
- 6. py.test günlüğe kaydetme denetimi
- 7. Selenium'da günlüğe kaydetme (Python'dan)
- 8. Raylar Günlüğe Kaydetme API'si
- 9. Glassfish Günlüğe kaydetme
- 10. SOAP günlüğe kaydetme ekseni2
- 11. C günlüğe kaydetme kitaplıkları
- 12. Flask'ta günlüğe kaydetme basitleştirme
- 13. ASP.NET MVC'de günlüğe kaydetme hataları
- 14. Nodejs winston günlüğe kaydetme kütükleri
- 15. Perl'de çıktı olarak günlüğe kaydetme
- 16. Groovy Komut Dosyası'nda Günlüğe Kaydetme
- 17. RestTemplate günlüğe kaydetme POST verileri
- 18. nginx'de proxy etkinliğini günlüğe kaydetme
- 19. Python günlüğe kaydetme yapılandırma dosyası
- 20. py.test: hata sayısını günlüğe kaydetme
- 21. log4j: pakete özgü günlüğe kaydetme
- 22. Python günlüğe kaydetme özel durumu
- 23. Apache tarzı Heroku + Rails ile günlüğe kaydetme
- 24. NoClassDefFoundError clojure araçları ile günlüğe kaydetme
- 25. Castle.Facilities.Logging ve log4net ile günlüğe kaydetme
- 26. CDI ile en iyi yaklaşımı günlüğe kaydetme
- 27. python2.7: yaml ile konfigürasyonu günlüğe kaydetme
- 28. Farklı iletilerin iki dosyaya günlüğe kaydedilmesi için günlüğe kaydetme
- 29. bahar JNDI günlüğe kaydedilmeden önce günlüğe kaydetme başlatıldı
- 30. Programsal Günlükleri Olan Hatalarla Günlüğe Kaydetme: Belirli bir bilgiyi günlüğe kaydetme
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
@Prakhar: * en * istisnaları yakalayabilirsiniz. Sadece sözdizimi hataları değil, bunları yakalamak için dağıtımdan önce kodunuzu test edin. –
Ü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. –