আমরা স্বনির্মিত মোড়কের পিছনে লগ 4 জে ব্যবহার করছি। আমরা এখন এর আরও অনেক বৈশিষ্ট্য ব্যবহার করার পরিকল্পনা করি।
আমরা লগব্যাক আপডেট করা উচিত?
(আমি বলতে চাই ফ্রেমওয়ার্কটি এসএলএফ 4 জের মতো মুখোমুখি নয়)
আমরা স্বনির্মিত মোড়কের পিছনে লগ 4 জে ব্যবহার করছি। আমরা এখন এর আরও অনেক বৈশিষ্ট্য ব্যবহার করার পরিকল্পনা করি।
আমরা লগব্যাক আপডেট করা উচিত?
(আমি বলতে চাই ফ্রেমওয়ার্কটি এসএলএফ 4 জের মতো মুখোমুখি নয়)
উত্তর:
লগব্যাক স্থানীয়ভাবে SLF4J এপিআই প্রয়োগ করে। এর অর্থ হ'ল আপনি লগব্যাক ব্যবহার করছেন, আপনি আসলে এসএলএফ 4 জ এপিআই ব্যবহার করছেন। আপনি তাত্ত্বিকভাবে সরাসরি লগিংয়ের জন্য লগব্যাক এপিআইয়ের ইন্টার্নালগুলি ব্যবহার করতে পারেন, তবে এটি অত্যন্ত নিরুৎসাহিত। লগারে সমস্ত লগব্যাক ডকুমেন্টেশন এবং উদাহরণগুলি এসএলএফ 4 জে এপিআইয়ের শর্তে লিখিত হয়।
সুতরাং লগব্যাক ব্যবহার করে, আপনি আসলে এসএলএফ 4 জে ব্যবহার করছেন এবং কোনও কারণে যদি আপনি লগ 4 জে ফিরে যেতে চান, তবে আপনি কেবল ক্লাসের পথে slf4j-log4j12.jar ফেলে রেখে কয়েক মিনিটের মধ্যে এটি করতে পারেন।
লগব্যাক থেকে লগ ৪ জে স্থানান্তরিত করার সময়, নির্দিষ্ট অংশগুলিকে লগব্যাক করুন, বিশেষত লগব্যাক.এক্সএমএল কনফিগারেশন ফাইলের মধ্যে থাকাগুলিকে এখনও তার লগ 4 জলের সমতুল্য অর্থাৎ লোগোজেজেপিপিতে স্থানান্তরিত করতে হবে । অন্য দিক থেকে স্থানান্তরিত করার সময়, লগ 4 জে কনফিগারেশন, অর্থাৎ লগ 4j.properties , এর লগব্যাক সমতুল্যে রূপান্তর করা প্রয়োজন। তার জন্য একটি অন-লাইন সরঞ্জাম রয়েছে । আপনার সমস্ত সফ্টওয়্যার এর সোর্স কোড এবং এর নির্ভরতা জুড়ে প্রচারিত লগার কলগুলি স্থানান্তরিত করার জন্য প্রয়োজনীয় কাজের তুলনায় মাইগ্রেটিং কনফিগারেশন ফাইলগুলিতে জড়িত কাজের পরিমাণ অনেক কম।
আপনার উচিত? হ্যাঁ ।
কেন? লগ 4 জে মূলত অবহিত করা হয়েছে অবহেলা করা হয়েছে ।
এটা কি জরুরী? হয়তো না.
এটা কি বেদনাবিহীন? সম্ভবত, তবে এটি আপনার লগিং বিবৃতিগুলির উপর নির্ভর করে।
মনে রাখবেন যে আপনি যদি লগব্যাকের (বা এসএলএফ 4 জ) পুরোপুরি সদ্ব্যবহার করতে চান তবে আপনার যথাযথ লগিং স্টেটমেন্ট লিখতে হবে । এটি অলস মূল্যায়নের কারণে দ্রুত কোডের মতো সুবিধা এবং কোডের কম লাইনের ফলে আপনি গার্ডদের এড়াতে পারবেন বলে ফল পাবেন।
অবশেষে, আমি অত্যন্ত SLF4J সুপারিশ। (আপনার নিজের সম্মুখ দিয়ে চাকাটি পুনরায় তৈরি করুন কেন?)
লগিং বিশ্বে ফ্যাসেডগুলি রয়েছে (যেমন অ্যাপাচি কমন্স লগিং, এসএলএফ 4 জে বা এমনকি লোগোজেজ ২.০ এপিআই) এবং বাস্তবায়নগুলি (লগ ৪ জে ১ + ২, জাভা.ইটিল.লগিং, টিনিলগ, লগব্যাক)।
মূলত আপনার নিজের তৈরি র্যাপারটি slf4j IF এর সাথে প্রতিস্থাপন করা উচিত এবং যদি কেবল কোনও কারণে আপনি এতে সন্তুষ্ট না হন। অ্যাপাচি কমন্স লগিং আসলেই একটি আধুনিক এপিআই সরবরাহ করছে না, এসএলএফ 4 জে এবং নতুন লগ 4 জ 2 ফ্যাসাদ এটি সরবরাহ করছে। বেশ কয়েকটি গুচ্ছ অ্যাপ্লিকেশন slf4j কে একটি র্যাপার হিসাবে ব্যবহার করে তা ব্যবহার করা বোধগম্য হতে পারে।
slf4j একটি দুর্দান্ত এপিআই চিনি দেয়, উদাহরণস্বরূপ slf4j ডক্স থেকে:
logger.debug("Temperature set to {}. Old temperature was {}.", t, oldT);
এটি পরিবর্তনশীল প্রতিস্থাপন। এটি লগ 4 জ 2 দ্বারা সমর্থিত।
তবে আপনার সচেতন হওয়া দরকার যে slf4j কিউওএস দ্বারা বিকাশ করা হয়েছে যারা লগব্যাকও বজায় রাখে। লগ 4 জে ২.০ এপাচি সফটওয়্যার ফাউন্ডেশনে বেকড রয়েছে। গত তিন বছরে একটি প্রাণবন্ত এবং সক্রিয় সম্প্রদায় সেখানে আবার বেড়েছে। যদি আপনি ওপেন সোর্সটির প্রশংসা করেন কারণ এটি অ্যাপাচি সফ্টওয়্যার ফাউন্ডেশন এর সমস্ত গ্যারান্টি সহ সম্পন্ন করেছে আপনি লগ 4 জ 2 সরাসরি ব্যবহার করার পক্ষে slf4j ব্যবহার করে পুনর্বিবেচনা করতে পারেন।
দয়া করে নোট করুন:
অতীতে লগব্যাক থাকাকালীন লগ 4 জ 1 সক্রিয়ভাবে রক্ষণাবেক্ষণ করা হয়নি। তবে আজ বিষয়গুলি ভিন্ন। লগ 4 জ 2 সক্রিয়ভাবে রক্ষণাবেক্ষণ করা হয় এবং প্রায় নিয়মিত সময়সূচীতে প্রকাশ হয়। এটিতে প্রচুর আধুনিক বৈশিষ্ট্য অন্তর্ভুক্ত রয়েছে এবং -আইহো- লগব্যাকের চেয়ে বেশ কয়েকটি জিনিসকে আরও ভাল করে তোলে। এটি কখনও কখনও কেবল স্বাদের বিষয় এবং আপনার নিজের সিদ্ধান্তগুলি আঁকা উচিত।
আমি লগ 4 জে 2.0 এর নতুন বৈশিষ্ট্যগুলিতে একটি দ্রুত ওভারভিউ লিখেছি: http://www.grobmeier.de/the-new-log4j-2-0-05122012.html
পড়ার সময় আপনি দেখতে পাবেন যে লগ 4 জ 2 লগব্যাক দ্বারা অনুপ্রাণিত হয়েছিল তবে অন্যান্য লগিং ফ্রেমওয়ার্কের দ্বারাও। তবে কোড বেসটি আলাদা; এটি লগ 4 জে 1 এবং লগব্যাকের সাথে শূন্যের প্রায় কিছুই ভাগ করে না। এটি কিছু উন্নতির দিকে নিয়ে যায় যেমন উদাহরণস্বরূপ লোগ 4 জ 2 হুডের নীচে স্ট্রিংয়ের পরিবর্তে বাইটেম স্ট্রিমের সাথে কাজ করে। পুনরায় কনফিগার করার সময় এটি ইভেন্টগুলি আলগা করে না।
আমি জানি অন্য ফ্রেমওয়ার্কগুলির চেয়ে লগ 4 জ 2 আরও উচ্চ গতির সাথে লগ করতে পারে: http://www.grobmeier.de/log4j-2-performance-close-to-insane-20072013.html
এবং এখনও ব্যবহারকারী সম্প্রদায় লগব্যাকসের চেয়ে অনেক বড় বলে মনে হচ্ছে: http://www.grobmeier.de/apache-log4j-is-the-leading-logging-framework-06082013.html
এটি সর্বোত্তম ধারণাটি হ'ল আপনি হ'ল লগিং ফ্রেমওয়ার্কগুলি বেছে নিন যা আপনি যা অর্জন করতে চান তার চেয়ে উপযুক্ত fits আমি যদি পরিবেশের পরিবেশে লগিং নিষ্ক্রিয় করে কেবল আমার অ্যাপ্লিকেশনটিতে বেসিক লগিং সম্পাদন করি তবে আমি একটি পূর্ণ কাঠামো স্যুইচ করব না। তবে আপনি যদি লগিংয়ের সাথে আরও কিছু করেন তবে কেবল ফ্রেমওয়ার্ক এবং তাদের বিকাশকারীদের দ্বারা সরবরাহ করা বৈশিষ্ট্যগুলি দেখুন। আপনি কিউওএসের মাধ্যমে লগব্যাকের জন্য বাণিজ্যিক সমর্থন পেয়েছেন (আমি শুনেছি) লগ 4 জ 2 এর জন্য বর্তমানে কোনও বাণিজ্যিক সমর্থন নেই the অন্যদিকে, আপনার যদি অডিট লগিং করতে হয় এবং অ্যাসিঙ্ক অ্যাপেন্ডারদের দ্বারা সরবরাহিত উচ্চ কার্যকারিতা প্রয়োজন হয় তবে এটি অনেক অর্থবোধ করে makes লগ 4 জে 2 পরীক্ষা করুন।
দয়া করে নোট করুন যে তারা প্রদান করে সমস্ত আরাম সত্ত্বেও, facades সবসময় কিছুটা কর্মক্ষমতা খান eat এটি সম্ভবত আপনাকে কোনওভাবেই প্রভাবিত করছে না, তবে আপনি যদি কম সংস্থার উপর থাকেন তবে আপনার যা কিছু পারে তা সংরক্ষণ করার প্রয়োজন হতে পারে।
আপনার প্রয়োজনীয়তা আরও ভালভাবে না জেনে একটি সুপারিশ দেওয়া প্রায় অসম্ভব। কেবল: অনেক লোকের স্যুইচ করার কারণে স্যুইচ করবেন না। আপনি এটির মান দেখতে পাওয়ায় কেবল স্যুইচ করুন। এবং যুক্তি যে log4j মারা গেছে আর গণনা করা হয় না। এটি জীবিত, এবং গরম
অস্বীকৃতি: আমি বর্তমানে ভিপি, অ্যাপাচি লগিং পরিষেবাদি এবং লগ 4 জেও জড়িত।
আপনার প্রশ্নের সঠিক উত্তর দিচ্ছে না, তবে আপনি যদি নিজের তৈরি পোশাক থেকে সরে যেতে পারেন তবে জাভা (এসএলএফ 4 জে) এর জন্য সিম্পল লগিং ফ্যাসাদ রয়েছে যা হাইবারনেট এখন (কমন্স লগিংয়ের পরিবর্তে) স্যুইচ করেছে।
এসএলএফ 4 জে জাকার্তা কমন্স লগিং (জেসিএল) এর সাথে পর্যবেক্ষণ করা ক্লাস লোডার সমস্যা বা মেমরি ফাঁসের কোনওটিই ভোগাচ্ছে না।
এসএলএফ 4 জেজেডি লগিং, লগ 4 জে এবং লগব্যাক সমর্থন করে। সুতরাং সময় ঠিক থাকলে log4j থেকে লগব্যাকে স্যুইচ করা মোটামুটি সহজ হওয়া উচিত।
সম্পাদনা করুন: আমি নিজেকে পরিষ্কার করে দিইনি এমন অ্যাপলজিগুলি। লগ 4 জে বা লগব্যাকের মধ্যে কঠোর পছন্দ করতে নিজেকে বিচ্ছিন্ন করতে আমি SLF4J ব্যবহার করার পরামর্শ দিচ্ছিলাম।
আপনার সিদ্ধান্ত ভিত্তিক করা উচিত
আপনারা এপিআইগুলিকে পরিবর্তন করার তাগিদকে প্রতিহত করা উচিত কারণ এটি "আরও নবীন, চিকনতর, আরও ভাল"। আমি "যদি এটি ভেঙে না যায় তবে লাথি মারবেন না" নীতি অনুসরণ করি।
আপনার অ্যাপ্লিকেশনটির যদি খুব পরিশীলিত লগিং কাঠামো প্রয়োজন হয় তবে আপনি কেন তা বিবেচনা করতে পারেন।
আইএমএইচও, পরিপক্ক প্রকল্প বা এমনকি উন্নয়নের পর্যায়ে গভীর প্রকল্প সম্ভবত এই ধরনের আপগ্রেড থেকে লাভের চেয়ে আরও বেশি looseিলে হবে। লগব্যাক অবশ্যই পয়েন্টের অ্যারেতে অনেক বেশি অগ্রসর, তবে কোনও কার্যনির্বাহী সিস্টেমে সম্পূর্ণ প্রতিস্থাপনের জন্য কিছুটা হলেও নয়। আমি অবশ্যই একটি নতুন বিকাশের জন্য লগব্যাকটি বিবেচনা করব, তবে বিদ্যমান লগ 4 জে ইতিমধ্যে প্রকাশিত এবং মিলিত শেষ ব্যবহারকারীর জন্য যথেষ্ট ভাল এবং পরিপক্ক। এটি খুব সাবজেক্টিভ, আপনার নিজের খরচ দেখা উচিত।