জাভা লগিং বনাম লগ 4 জে [বন্ধ]


134

লগ-ইন করার জন্য জাভা 5 প্রকল্পে লগ 4 জে লাইব্রেরিটি যুক্ত হওয়া এখনও কি মূল্যবান হউক কিছু ভাল রোলওভার সেটিংস সহ কোনও ফাইলে কিছু ব্যতিক্রম বলি। অথবা স্ট্যান্ডার্ড ইউজ.লগিং সুবিধাটিও কাজটি করবে?

আপনি কি মনে করেন?


দেখুন stackoverflow.com/a/13144054/603516 জন্য অসংখ্য log4j 1.2 লকিং বিষয় বিবেচনা করা।
ভাদজিম

উত্তর:


115

আমি বলব আপনি যেভাবে প্রয়োজন তার প্রয়োজনের জন্য ইউজার.লগিংয়ের সাথে সম্ভবত ভাল আছেন।

একটি ভাল সিদ্ধান্তের গাছের জন্য, লগ 4 জ বনাম জাভা.ইটিল.লগিংয়ে দেখুন

প্রশ্ন এক: আপনি কি লগ 4 জে যে চালাক হ্যান্ডলারের জুল ইউএল নেই, যেমন এসএমটিপিহ্যান্ডলার, এনটিইভেন্টলগহ্যান্ডলার, বা খুব সুবিধাজনক ফাইলহ্যান্ডলারগুলির কোনওটির প্রয়োজনের অনুমান করছেন?

প্রশ্ন দ্বিতীয়: আপনি কি নিজেকে আপনার লগিং আউটপুটটির ফর্ম্যাটটি প্রায়শই স্যুইচ করতে চান? এটি করার জন্য আপনার কি কোনও সহজ, নমনীয় উপায় প্রয়োজন? অন্য কথায়, আপনার কি লগ 4 জের প্যাটার্নলয়আউট দরকার?

প্রশ্ন তৃতীয়: আপনি যদি আপনার অ্যাপ্লিকেশনগুলিতে জটিল পরিবেশের কনফিগারেশনগুলি সঙ্কলন ও উত্পাদন পরিবেশে স্থাপনের পরে পরিবর্তন করার দক্ষতার জন্য একটি সুনির্দিষ্ট প্রয়োজনের প্রত্যাশা করেন? আপনার কনফিগারেশনটির মতো কিছু শোনাচ্ছে যে, "এই শ্রেণীর তীব্র বার্তাগুলি সমর্থন ব্যক্তির কাছে ই-মেইলের মাধ্যমে পাঠানো হয়; ক্লাসের একটি উপসেট থেকে গুরুতর বার্তাগুলি আমাদের সার্ভারে সিসলগ ডিমনটিতে লগ হয়; ক্লাসের অন্য সাবসেটের সতর্কতা বার্তাগুলি লগ হয় get নেটওয়ার্ক ড্রাইভ এ এর ​​একটি ফাইলে এ; এবং তারপরে সর্বত্রের সমস্ত বার্তাগুলি নেটওয়ার্ক ড্রাইভ বিতে কোনও ফাইলে লগ হয়? এবং আপনি কি নিজেকে প্রতি দু'দিন ধরে এটি টুইট করে দেখছেন?

যদি আপনি উপরের যে কোনও প্রশ্নের হ্যাঁ উত্তর দিতে পারেন, লগ 4 জে দিয়ে যান। আপনি যদি তাদের সকলের কাছে একটি নির্দিষ্ট সংখ্যার উত্তর দেন তবে JUL পর্যাপ্ত পরিমাণের চেয়ে বেশি হবে এবং এটি ইতিমধ্যে এসডিকে অন্তর্ভুক্ত রয়েছে।

এটি বলেছিল, বেশিরভাগ প্রকল্পে আজকাল লগ 4 জ্যাকেজ সহ বর্ধমান মনে হয়, যদি কেবল অন্য কোনও গ্রন্থাগার এটি ব্যবহার করে।


1
দুর্দান্ত প্রশ্নপত্র ভিত্তিক উত্তর। প্রত্যেকের প্রয়োজন অনুসারে নিজস্ব নিজস্ব।
হোপকিং

43

আমি আপনাকে জাভা (এসএলএফ 4 জে) জন্য সরল লগিং মুখোমুখি ব্যবহার করার পরামর্শ দিচ্ছি । এটি বিভিন্ন সরবরাহকারীগুলিকে সমর্থন করে যা লগ 4 জে অন্তর্ভুক্ত করে এবং অ্যাপাচি কমন্স লগিংয়ের প্রতিস্থাপন হিসাবে ব্যবহার করা যেতে পারে।


6
কমন্স লগিংয়ে কী সমস্যা?
বার্ট ভ্যান হিউকেলোম

5
@Bart ভ্যান Heukelom এবং মন্তব্য upvoters - পড়া articles.qos.ch/thinkAgain.html
স্টিফেন সি

4
@ স্টেফেন সি: তথ্যের জন্য ধন্যবাদ, যদিও আমি জেনেছি যে কিছু সময় আগে এবং এখন এসএলএফ 4 জে যখনই পারব ব্যবহার করছি। (আমার মন্তব্যটি
বিটিডব্লিউর

1
@ বার্ট, কমন্স লগিং ব্যবহার করার জন্য প্যাকেজের গতিশীল আবিষ্কার ব্যবহার করে। এসএলএফ 4 জে ব্যবহার (বা অভ্যস্ত) মোটামুটি লোড করার জন্য ব্যাকএন্ডে ক্লাস প্রয়োজন।
থরবজর্ন রাভন অ্যান্ডারসন

21

লগ 4 জে দীর্ঘ সময় ধরে ছিল এবং এটি খুব ভালভাবে কাজ করে। এটির ব্যাক করার জন্য আমার কোনও বৈজ্ঞানিক অধ্যয়ন নেই, তবে আমি বিপুল সংখ্যক ক্লায়েন্টকে যা দেখেছি তার উপর ভিত্তি করে, এটি সহজেই লগিং ফ্রেমওয়ার্ক যা আমি অন্য যে কোনও তুলনায় বেশি ব্যবহৃত দেখি। এটি প্রায় দীর্ঘকাল ধরে রয়েছে এবং নেক্সট বিগ লগিং ফ্রেমওয়ার্ক দ্বারা প্রতিস্থাপিত হয়নি, যা কিছু বলে।

এটি সেটআপ করা সহজ এবং বেসিক অ্যাপেন্ডার (আউটপুট) শিখতে সহজ। একটি সম্পূর্ণ হোস্ট অ্যাপেন্ডার রয়েছে যা উপলভ্য রয়েছে:

  1. ConsoleAppender
  2. DailyRollingFileAppender
  3. ExternallyRolledFileAppender
  4. FileAppender
  5. JDBCAppender
  6. JMSAppender
  7. NTEventLogAppender
  8. RollingFileAppender
  9. SMTPAppender
  10. SocketAppender
  11. SyslogAppender
  12. TelnetAppender
  13. WriterAppender

অন্যরাও। আপনার নিজের অ্যাপেন্ডারটি লিখতে অসুবিধা হয় না। অতিরিক্তভাবে প্রতিটি সংযোজনকারীদের মধ্যে প্রচুর নমনীয়তা রয়েছে যা আপনাকে আপনার লগের আউটপুট কী তা নির্দিষ্টভাবে নিয়ন্ত্রণ করতে দেয়।

একটি নোট, আমি লগ 4j ছাড়াও অ্যাপাচি কমন্স লগিং ব্যবহার করার সময় আমার ক্লাস লোডার সমস্যা হয়েছিল। এটি কেবলমাত্র একটি নির্দিষ্ট অ্যাপ্লিকেশনের জন্যই ছিল তবে আমি কমোগুলি লগিংয়ের মতো বিমূর্ত স্তর ব্যবহার করার সময় নমনীয়তাটি দেওয়া ছাড়া একা লগ 4 জে ব্যবহার করা সহজ found

আরও তথ্যের জন্য এই নিবন্ধটি দেখুন :

শুভকামনা!


17

java.util.logging অতিরিক্ত ব্যাগগুলি অন্য কেউ কেউ সরবরাহ না করে একটি ব্যাপক লগিং প্যাকেজ সরবরাহ করে ...


5
এছাড়াও, এটি ডিফল্টরূপে অন্তর্ভুক্ত করা হয়েছে এবং জাভা নিজেই এটি ব্যবহার করেছেন (যাতে আপনার এটি যে কোনও
উপায়েই

7

লগ 4j সামগ্রিকভাবে একটি খুব প্যাকেজ প্যাকেজ, এবং জাভা.ইটিল.লগিংয়ে থাকা এই হিক্কারগুলির কিছু নেই। আমি দ্বিতীয় যে লগ 4j ব্যবহার করা কমন্স লগিং ব্যবহার করার চেয়ে সহজ।


3
জাভা.ইটিল.লগিংয়ের যে হিচিকাগুলি রয়েছে সে সম্পর্কে আপনি কি আরও নির্দিষ্ট থাকতে পারেন?
অ্যালবার

অবশ্যই, লিংগ সিঙ্ক্রোনাইজড পদ্ধতিতে ওভারহেডের মতো: github.com/playframework/playframework/issues/6958 এবং bugs.openjdk.java.net/browse/JDK-8077846 দেখুন
সার্জেন্ট 19

4

আমি অ্যাপাচি কম্মন্স লগিং আপনার লগিং ইন্টারফেস হিসাবে ব্যবহার করার পরামর্শ দিচ্ছি । আপনার শেষদিকে কোনও কোড পরিবর্তন না করে আপনি যে কোনও সময় লগিং বাস্তবায়নগুলিকে স্যুইচ করার নমনীয়তাটি পান way


3

আমি log4j সঙ্গে যেতে হবে। লগ 4 জে সহ ক্যাসিবিলাইটগুলি মোটেই অপ্রচলিত নয়!

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.