কারও দুজনের জন্য অভিজ্ঞতা আছে? কীভাবে তারা একে অপরের বিরুদ্ধে সজ্জিত?
এন্টারপ্রাইজ অ্যাপ্লিকেশনটিতে লগিন করার জন্য আমরা তাদের মধ্যে একটি ব্যবহার করার পরিকল্পনা করছি।
তথ্যসূত্র:
সম্পাদনা: এনলগ বা লগ 4 নেটতে আমাদের কোনও বিদ্যমান নির্ভরতা নেই।
কারও দুজনের জন্য অভিজ্ঞতা আছে? কীভাবে তারা একে অপরের বিরুদ্ধে সজ্জিত?
এন্টারপ্রাইজ অ্যাপ্লিকেশনটিতে লগিন করার জন্য আমরা তাদের মধ্যে একটি ব্যবহার করার পরিকল্পনা করছি।
তথ্যসূত্র:
সম্পাদনা: এনলগ বা লগ 4 নেটতে আমাদের কোনও বিদ্যমান নির্ভরতা নেই।
উত্তর:
আমাকে সম্প্রতি একটি আসন্ন প্রকল্পের জন্য "কিছু লগিন প্রোটোটাইপ আপ" করার কাজ দেওয়া হয়েছিল। আমার কোনও লগিং ফ্রেমওয়ার্কের অভিজ্ঞতা নেই। আমি লগ 4 নেট, এনএলগ, এবং এন্টারপ্রাইজ লাইব্রেরিতে কিছুদিনের জন্য গবেষণা করেছি, টিউটোরিয়ালগুলি দিয়েছি, খেলনা অ্যাপগুলি তৈরি করেছি। ২-৩ সপ্তাহ পরে ফিরে এসে এগুলিকে একত্রিত করে ডেমোতে রাখুন। আশা করি এর কিছুটি আপনার কাজে আসবে।
আমাদের প্রকল্পের জন্য আমার সুপারিশটি হ'ল:
এটি এই ফলাফলগুলির উপর ভিত্তি করে (মতামত!):
স্পষ্টতই আমি এ পর্যন্ত NLog পছন্দ করি। যদিও অন্য একটি সমাধান উপলব্ধ থাকা সত্ত্বেও এটি ব্যবহার করার জন্য পর্যাপ্ত নয়।
একটি মূল বিবেচনা যা খুব বেশি আলোচনা করা হয়নি তা হ'ল সমর্থন এবং আপডেট।
লগ 4 নেটটি এপ্রিল 19, 2006 এ প্রকাশিত হওয়ার পরে 1.2.10 সংস্করণটি আপডেট করা হয়নি ।
বিপরীতে, ২০০L সাল থেকে এনএলগ সক্রিয়ভাবে সমর্থিত হয়েছে খুব শীঘ্রই এনএলগ ২.০ প্রকাশ করে অনেক প্ল্যাটফর্ম সমর্থন করে যা লগ 4 নেট সর্বশেষ আপডেট করা হয়েছিল যেমন:
উভয় ফ্রেমওয়ার্কের সাথে সম্প্রতি অভিজ্ঞতা অর্জন করার পরে, আমি ভেবেছিলাম যে প্রতিটি ফ্রেমওয়ার্কগুলিতে আমি আমার মতামতগুলি ভাগ করতে পারি।
আমাকে বিদ্যমান ওয়েব অ্যাপ্লিকেশনের জন্য লগিং ফ্রেমওয়ার্কগুলি মূল্যায়ন করতে বলা হয়েছিল, আমি বিভিন্ন অনলাইন ফোরামে যাওয়ার পরে আমার পছন্দগুলি এনএলগ (ভি 2.0) এবং লগ 4 নেট (ভি 1.2.11) এ সংক্ষিপ্ত করে রেখেছি। আমার অনুসন্ধানগুলি এখানে:
এনএলওগের সাথে সেটআপ করা / শুরু করা সহজ মরণ। আপনি তাদের ওয়েবসাইটে শুরু করা টিউটোরিয়ালটি দিয়ে যান এবং আপনার কাজ শেষ হয়ে যায়। আপনি একটি নিখুঁত ধারণা পেতে পারেন, জিনিসটি এনলগের সাথে কীভাবে হতে পারে। কনফিগারেশন ফাইলটি এত স্বজ্ঞাত যে যে কেউ কনফিগারেশন বুঝতে পারে। উদাহরণস্বরূপ: আপনি যদি অভ্যন্তরীণ লগিংটি সেট করতে চান, আপনি Nlog কনফিগারেশন ফাইলের শিরোলেখ নোডে পতাকাটি সেট করেন, যেখানে আপনি এটি প্রত্যাশা করবেন। লগ 4নেটে, আপনি ওয়েবকনফাইগের অ্যাপসেটেশন বিভাগে বিভিন্ন পতাকা সেট করেছেন।
লগ 4নেটে, অভ্যন্তরীণ লগিং আউটপুট টাইমস্ট্যাম্পটিকে বিরক্ত করে না। এনলগে, আপনি টাইমস্ট্যাম্প সহ একটি দুর্দান্ত লগ পাবেন get আমি আমার মূল্যায়নে এটি খুব দরকারী বলে মনে করেছি।
লগ 4 নেট-এ ফিল্টার - আপনি আমার এই প্রশ্নটি আরও ভালভাবে পরীক্ষা করে দেখুন - লগ 4 নেট ফিল্টার - লগ বার্তাগুলি উপেক্ষা করার জন্য কীভাবে লিখুন এবং ফিল্টার করুন এবং যদি আপনি এর উত্তর / সমাধান খুঁজে পান তবে দয়া করে আমাকে জানান। আমি বুঝতে পেরেছি, এই প্রশ্নটির একটি কার্যকারিতা রয়েছে, কারণ আপনি নিজের কাস্টম ফিল্টারটি লিখতে পারেন। তবে এমন কিছু যা লগ 4নেটে সহজেই পাওয়া যায় না।
পারফরম্যান্স - আমি একটি সঞ্চিত পদ্ধতি ব্যবহার করে ডেটাবেজে প্রায় 3000 লগ বার্তা লগইন করেছি। লুপের জন্য আমি সাধারণ ব্যবহার করেছি (int i = 0; i <3000; i ++ ... একই বার্তাটি 3000 বার লগ করতে।
লগ 4 নেট অ্যাসিনক্রোনাস অ্যাপেন্ডার সমর্থন করে না।
লগিংয়ের কাঠামো হিসাবে এনএলগকে বেছে নেওয়া আমার পক্ষে যথেষ্ট তুলনা ছিল। :)
এই থ্রেডটিতে দেরিতে যে কেউ আসার জন্য আপনি। নেট বেস ক্লাস লাইব্রেরি (বিসিএল) এর দিকে একবার নজর রাখতে পারেন। ট্রেসসোর্স ক্লাস চালু হওয়ার সময় অনেক লোক। নেট 1.1 এবং .NET 2.0 এর মধ্যে পরিবর্তনগুলি মিস করে (2005)।
ট্রেসসোর্স ব্যবহার অন্যান্য লগিং ফ্রেমওয়ার্কগুলিতে অ্যানালগাস, লগিংয়ের দানাদার নিয়ন্ত্রণ, অ্যাপকনফাইগ / ওয়েবকনফিগের কনফিগারেশন এবং প্রোগ্রামেটিক অ্যাক্সেস সহ - এন্টারপ্রাইজ অ্যাপ্লিকেশন ব্লকের ওভারহেড ছাড়াই।
চারপাশে বেশ কয়েকটি তুলনা ভাসমান: "লগ 4 নেট বনাম ট্রেসসোর্স"
আমাদের জন্য, মূল পার্থক্য সামগ্রিক পারফ ...
Logger.IsDebugEnabled
আমাদের পরীক্ষাগুলি থেকে এনএলএগ বনাম লগ 4 নেট এ দেখুন , এনএলগের ওভারহেড কম রয়েছে এবং আমরা এর পরে যাচ্ছি (স্বল্প স্থিতিযুক্ত উপাদান)।
চিয়ার্স, ফ্লোরিয়ান
প্রথমে আপনার বাকী স্ট্যাকটি দেখুন।
আপনি যদি এনএইচবারনেট ব্যবহার করেন তবে এটি লগ 4 নেট সরাসরি ব্যবহার করে। অন্যান্য ফ্রেমওয়ার্কগুলিতে তাদের প্রয়োজনীয় অন্যান্য নির্দিষ্ট লগার থাকতে পারে।
তা ছাড়া: উভয়ই ঠিকঠাক কাজ করে।
আমি লগ 4 নেট নিজেই স্থির করেছি। এটি কনফিগার করতে ব্যথা হতে পারে এবং এটি সঠিকভাবে কনফিগার করা না থাকলে কী ভুল হয়েছে তা নির্ধারণ করার জন্য এটি একটি ব্যথা pain তবে আপনি এটি কোনও লগারের কাছ থেকে প্রায় যে কোনও কিছু করতে চান এটি করতে পারেন।
লগ 4 নেট নিয়ে আপনার যদি কোনও স্থায়ী সমস্যা না থাকে তবে এটি দিয়ে কীভাবে শুরু করবেন সে সম্পর্কে আমি এখানে একটি নিবন্ধ লিখেছি: http://elegantcode.com/2007/12/07/getting-st সূত্র-with-log4net/
ঠিক আছে .. আমি ডাটাবেস লগিংয়ের জন্য এন্টারপ্রাইজ লাইব্রেরি ব্যবহার করেছি এবং এখন পারফরম্যান্সের বাধা বিপত্তির কারণে আমি NLog এ চলেছি।
কিছু তুলনা তথ্য:
http://pauliusraila.blogspot.com/2010/10/solving-database-logging-bottlenecks.html
আমি উপরের প্রতিধ্বনি এবং nLog পছন্দ করি না। এন্টলিব অকারণে ফুলে যায়।
পুনরায়: লগ 4 নেট একটি জিনিস যা আমাকে সর্বদা লগ 4 নেট দিয়ে দেয় সেটিকে উপাদানটির সূচনা করতে গ্লোবাল.এক্সএক্সে নিম্নলিখিতটি যুক্ত করতে ভুলে যাচ্ছি:
log4net.Config.XmlConfigurator.Configure();
আপনি যদি এখানে যান তবে আপনি একটি বিস্তৃত ম্যাট্রিক্স সন্ধান করতে পারবেন যাতে এনএলগ এবং লগ 4 নেট লিব পাশাপাশি এন্টারপ্রাইজ লিব এবং অন্যান্য পণ্য উভয়ই অন্তর্ভুক্ত রয়েছে।
কেউ তর্ক করতে পারে যে ম্যাট্রিক্স ম্যাট্রিক্সে উপস্থিত একমাত্র বাণিজ্যিক bষধের বৈশিষ্ট্যগুলিকে আন্ডারলাইন করার জন্য করা হয়েছে। আমি মনে করি এটি সত্য তবে এটি এনএলগের বিপরীতে আমার পছন্দটি চালনাতে কার্যকর ছিল was
শুভেচ্ছা সহ
যেমন আমি লক্ষ্য করেছি, লগ 4 নেট পুরো সময় অ্যাপ্লিকেশন চলমান থাকে তাদের আউটপুট ফাইলগুলিকে লক করে দেয়, তাই আপনি এগুলি মুছতে পারবেন না। অন্যথায় তারা অনুরূপ।
সুতরাং আমি NLog পছন্দ।
আমি চালিত ওপেন সোর্স প্রকল্পের জন্য নির্লজ্জ প্লাগ, তবে। নেট লগিং কাঠামোটি আরও সক্রিয় যে সম্পর্কে সজীব আলোচনা করে আমি ভেবেছিলাম যে আমি সেরিলোগের বাধ্যতামূলক লিঙ্কটি পোস্ট করব ।
একটি অ্যাপ্লিকেশন মধ্যে ব্যবহার করতে, সেরিলোগ লগ 4 নেট এর অনুরূপ (এবং খুব বেশি আঁকুন)। অন্যান্য। নেট লগিং বিকল্পগুলির মতো নয়, তবে সেরিলোগ অফলাইন বিশ্লেষণের জন্য লগ ইভেন্টগুলির কাঠামো সংরক্ষণের বিষয়ে। আপনি যখন লিখবেন:
Log.Information("The answer is {Answer}", 42);
বেশিরভাগ লগিং গ্রন্থাগারগুলি অবিলম্বে স্ট্রিংয়ে বার্তাটি সরবরাহ করে। সেরিলোগ এটিও করতে পারে তবে এটি { Answer: 42 }
সম্পত্তি সংরক্ষণ করে যাতে পরবর্তীতে বেশ কয়েকটি নোএসকিউএল ডেটা স্টোর ব্যবহার করে আপনি যথাযথ মানগুলির উপর ভিত্তি করে ইভেন্টগুলি জিজ্ঞাসা করতে পারেন Answer
।
আমরা একটি 1.0 এর কাছাকাছি এসেছি এবং আধুনিক (.NET 4.5, উইন্ডোজ স্টোর এবং উইন্ডোজ ফোন 8) প্ল্যাটফর্মগুলিকে সমর্থন করি।
আমি এনএলগকেও দ্বিতীয় করেছিলাম কারণ এটি পরিচালনা-পাতানো কোডের সাথেও কাজ করে। আমি মনে করি এটি লগ 4 নেট এবং লগ 4 সিএক্সএক্স একসাথে ব্যবহার করা সম্ভব হতে পারে তবে এনএলওগ পরিচালনা করা এবং পরিচালনা না করা উভয় কোডই বক্সের বাইরে পরিচালনা করে।
আমি কমন.লগিংয়ের দিকেও নজর দিয়েছিলাম , একটি মুখোমুখি যা লগিং এপিআইয়ের বিমূর্ততা তৈরি করে, এটি লগ 4 নেট, এনএলজি এবং এনট্রেইজ লাইব্রেরি সমর্থন করে। আমি মনে করি না যে আমি এটি ব্যবহার করব, তবে আমি পছন্দ করি লগিং অক্ষম করা অবস্থায় তারা কীভাবে কর্মক্ষমতা উন্নত করতে ল্যাম্বডাস ব্যবহার করে (এনএলগ এবং সম্ভবত অন্যদের সাথে ভাগ করা একটি বৈশিষ্ট্য)।
আপনি মাইক্রোসফ্ট এন্টারপ্রাইজ লাইব্রেরি লগিং ব্লক বিবেচনা করতে পারেন । এটি সুন্দর ডিজাইনারের সাথে আসে।
আমার অভিজ্ঞতার ভিত্তিতে, স্মার্টআইনস্পেক্ট এনএলগ এবং লগ 4 নেট উভয়কেই পরাজিত করে।
এটি ব্যবহার করা অত্যন্ত সহজ, ডকুমেন্টেশন দুর্দান্ত এবং আপনি পূর্ববর্তী লগ করা বার্তাগুলি তাদের ইন্টারেক্টিভ লগ ভিউয়ারের সাথে দেখতে এবং ফিল্টার করতে পারেন , এটি একটি বিশাল বাস্তব বিশ্বের সুবিধা।
আমি পছন্দ করি একটি জিনিস হ'ল ক্রোমের ব্রাউজার ট্যাবগুলির মতো ডেটাগুলির ট্যাবড ভিউগুলি। প্রতিটি ট্যাব লগের একটি পৃথক ফিল্টার দর্শন সরবরাহ করতে পারে।