का आह्वान करें मैं थोड़ा सा बांध रहा हूं ... मेरा केक चाहता हूं और इसे भी खा सकता हूं।जर्सी ... सभी अपवादों को कैसे लॉग इन करें, लेकिन अभी भी अपवाद मैपर
मैं लॉग इन करना चाहता हूं अपवाद मेरे आवेदन को फेंकता है। तो अगर कोई गलत यूआरएल हिट करता है, तो मैं एसएलएफ 4 जे में स्टैक ट्रेस लॉग करना चाहता हूं।
तो आप शायद सोच रहे हैं, 'हे thats आसान, बस एक exceptionmapper को लागू करने और अपवाद लॉग ऑन "तो मैंने किया था:।
public class RestExceptionMapper implements ExceptionMapper<java.lang.Exception> {
private static final Logger log = LoggerFactory.getLogger(RestExceptionMapper.class);
/**
* {@inheritDoc}
*/
@Override
public Response toResponse(Exception exception) {
log.error("toResponse() caught exception", exception);
return null;
}
}
आप इस के बजाय 404 त्रुटि जब किसी प्रकार के एक करते हैं गलत यूआरएल में, उन्हें 500 त्रुटि मिलती है। एक अनुमान लगाएगा कि नल लौटने से चेन हैंडलर को अपवाद का प्रचार किया जाएगा, लेकिन जर्सी ऐसा नहीं करता है। यह वास्तव में बहुत कम जानकारी प्रदान करता है कि यह एक दूसरे पर एक हैंडलर क्यों चुनता है ...
क्या कोई इस समस्या में भाग गया है और आपने इसे कैसे हल किया?
मैं CDI इंटरसेप्टर –
तो प्रयोग करेंगे, तुम्हारी समस्या क्या है: यह 404 त्रुटियों है या यह अपवाद मानचित्रकारों चुना जाता है कैसे है? ? या कुछ और? –
नहीं, समस्या यह है कि जर्सी के साथ प्रदान किए गए "स्टॉक" इंटरसेप्टर कैल नहीं हैं अगर आप उपरोक्त कोड का उपयोग करते हैं तो इसका नेतृत्व किया। 404 त्रुटियां 500 त्रुटियां बन गईं। –