কীভাবে এসএলএফ 4 জে স্থানধারীদের সাথে ব্যতিক্রম এবং বার্তা লগ ইন করবেন


85

এসএলএফ 4 জে ব্যবহার করে একটি ত্রুটি বার্তা এবং একটি ব্যতিক্রম উভয়ই লগ করার সঠিক পদ্ধতি কী ?

আমি এটি করার চেষ্টা করেছি কিন্তু ব্যতিক্রম স্ট্যাক ট্রেসটি কখনই মুদ্রিত হয় না:

logger.error("Unable to parse data {}", inputMessage, e);

এই ক্ষেত্রে আমি পূরণ করতে চাই {}সঙ্গে inputMessageব্যতিক্রম ক্ষেত্রে স্টেকট্র্যাস লগ আউট হিসাবে হিসাবে ভাল।

এটি করার জন্য আমি দেখতে পাবার একমাত্র উপায় হ'ল:

logger.error("Unable to parse data " + inputMessage, e);

যা সুন্দর নয়।


আপনার মুষ্টি লগার.অররর লাইনটি slf4j সংস্করণ 1.7.25 তে আপনি যেমন চান তেমন কাজ করে।
kiml42

উত্তর:


132

SLF4J সংস্করণ 1.6 অনুসারে, SLF4J আপনার ইচ্ছা অনুযায়ী শেষ প্যারামিটারটি ব্যাখ্যা করবে, অর্থ ব্যতিক্রম হিসাবে। আপনার অবশ্যই এসএলএফ 4 জ এপিআই এর একটি পুরানো সংস্করণ ব্যবহার করা উচিত।


7
এটি জাভাদোক বর্ণিত? আমি এখানে অনুরূপ তথ্য সন্ধানের প্রত্যাশা করছিলাম
স্কট

4
আমি আপনাকে বিশ্বাস করি, তবে @ স্কট এর মতো আমিও আশা করছিলাম যে এই আচরণটি নথিভুক্ত হবে।
স্টিফান

4
স্কট, @ স্টিফেন - সহায়তামূলক আচরণটি এখানে তাদের FAQ এ নথিভুক্ত বলে মনে হচ্ছে ।
প্রিয়দু নিমরে

8
এটি একটি সেরা রক্ষিত গোপনের মতো। এটা ইশারা জন্য ধন্যবাদ। আমার ফলোআপ প্রশ্ন হ'ল তারা কেন এই সত্যটি লুকিয়ে রাখবে যে এটি কোনও ভার-আর্গের মাধ্যমে সম্ভব? তারা কেন নতুন ওভারলোডেড পদ্ধতি তৈরি করতে পারে না যা তার Throwableপরে একটি ভার-আরগ থাকে? মুছে ফেলার সমস্যা আছে কি? শেষ যুক্তি হিসাবে ব্যতিক্রমটি পাস করার জন্য অন্যান্য লাইব্রেরিতে এটি কি আদর্শ?
গাওগাং

7
এটি (যেহেতু) FAQ এ নথিভুক্ত করা হয়েছে: slf4j.org/faq.html#paramException । আমি সম্মত হই যে এই বৈশিষ্ট্যটি আরও স্পষ্টভাবে নথিভুক্ত করা উচিত।
স্টেফান202
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.