جاوا میں لاگر کیا ہے اور آپ اسے کیوں استعمال کرتے ہیں؟



جاوا میں لاگر پر یہ مضمون جاوا لاگنگ API کے بارے میں ایک جامع رہنما ہے جو پروجیکٹس تشکیل دیتے وقت لاگ ان حل کے لئے استعمال ہوتا ہے۔

لاگنگ ایک اہم خصوصیت ہے جس میں ڈویلپرز کو غلطیوں کا سراغ لگانے کے لئے غور کرنے کی ضرورت ہے۔ سب سے مشہور پروگرامنگ زبانوں میں سے ایک ہونے کے ناطے ، ایک بنیادی لاگنگ API فراہم کرکے لاگنگ کے ل a اپنی مرضی کے مطابق اپروچ کے ساتھ آتا ہے۔ تو ، جاوا میں لاگر پر اس مضمون میں ، میں اس بارے میں بات کرنے جا رہا ہوں جاوا میں قابل توسیع لاگنگ کو اہل بنانے کے لئے اس خصوصیت کا استعمال کرسکتے ہیں۔

اس مضمون میں درج ذیل موضوعات کا احاطہ کیا جائے گا۔





    1. لاگنگ کی ضرورت ہے
    2. لاگنگ اجزاء
    3. لاگر کیا ہے؟
    4. ضمیمہ یا ہینڈلرز
    5. لے آؤٹ یا فارمیٹرز

اس سے پہلے کہ ، جاوا میں لاگ ان کرنے کے لئے ہم گہری ڈوبکی ، آئیے لاگنگ کی ضرورت کو سمجھیں۔

لاگنگ کی ضرورت ہے

ایپلی کیشنز کی تعمیر کے دوران ، ہمیں اکثر غلطیوں کا سامنا کرنا پڑتا ہے جن کو ٹھیک کرنا پڑتا ہے۔ لہذا ، نوشتہ جات کی مدد سے ، ہم غلطیوں اور غیر معمولی حالات کے ریکارڈ کے ساتھ آسانی سے اس بارے میں معلومات حاصل کرسکتے ہیں کہ درخواست میں کیا ہورہا ہے۔ اب ، یہ آپ کے ذہن پر حملہ آور ہوسکتا ہے کہ ، کیوں نہ اندر میں System.out.print () بیان کو استعمال کریں . ٹھیک ہے ، ان بیانات میں مسئلہ یہ ہے کہ لاگ میسجز صرف کنسول پر چھاپے جائیں گے۔ لہذا ، ایک بار جب آپ کنسول بند کردیں گے ، تو خود بخود ، تمام لاگ ختم ہوجائیں گے۔ لہذا ، نوشتہ مستقل طور پر محفوظ نہیں کیے جائیں گے ، اور ایک ایک کرکے دکھائے جائیں گے ، کیونکہ یہ ایک ہی تھریڈ والا ماحول ہے۔



اس طرح کے مسائل سے بچنے کے ل، ، جاوا میں لاگ ان کو اس کی مدد سے آسان بنایا گیا ہےAPI کے ذریعے فراہم کردہjava.util.loggingپیکیج ، اورorg.apache.log4j. *پیکیج

لاگنگ اجزاء

جاوا لاگنگ کے اجزاء ڈویلپر کو نوشتہ جات بنانے ، نوشتہ جات متعلقہ منزل تک پہنچانے اور مناسب شکل برقرار رکھنے میں مدد کرتے ہیں۔ مندرجہ ذیل تین اجزاء ہیں۔

  • لاگرس - لاگ ریکارڈوں پر قبضہ کرنے اور ان کو اسی متعلقہ ضم کنندہ کے پاس بھیجنے کے لئے ذمہ دار۔
  • ضمیمہ یا کام کرنے والے - وہ لاگ ان واقعات کو کسی منزل تک ریکارڈ کرنے کے ذمہ دار ہیں۔ آؤٹ پٹ بھیجنے سے پہلے ، ضمیمہ جات نے لے آؤٹ کی مدد سے واقعات کی شکل دی۔
  • ترتیب یا شکلیں - لاگ انٹری میں ظاہر ہونے پر ڈیٹا کیسا دکھتا ہے اس کا تعین کرنے کے لئے ذمہ دار ہے۔

آپ تینوں اجزاء کے کام کرنے کے لئے نیچے دی گئی تصویر کا حوالہ دے سکتے ہیں۔



لاگنگ اجزاء - جاوا میں لاگگر - ایڈیورکا

جب کوئی ایپلیکیشن لاگنگ کال کرتی ہے تو ، لاگر جزو واقعہ کو لاگ آرکارڈ میں ریکارڈ کرتا ہے اور اسے مناسب اپیندر کے پاس بھیج دیتا ہے۔ پھر اس نے مطلوبہ فارمیٹ کے مطابق لے آؤٹ کا استعمال کرتے ہوئے ریکارڈ تشکیل دیا۔ اس کے علاوہ ، آپ یہ بتانے کے لئے ایک سے زیادہ فلٹرز کا استعمال بھی کرسکتے ہیں کہ واقعات کے لئے کن ضمیمہ کاروں کو استعمال کرنا چاہئے۔

اب ، آئیے ہم سمجھیں کہ جاوا میں گہرائی میں لاگر کیا ہے۔

جاوا میں لاگر کیا ہے؟

جاوا میں لاگگرس وہ چیزیں ہیں جو لاگ واقعات کو متحرک کرتی ہیں ، وہ بنائے جاتے ہیں اور درخواست کے کوڈ میں پکارا جاتا ہے ، جہاں وہ لاگ ان ایونٹس کو اگلے جزو میں منتقل کرنے سے پہلے تیار کرتے ہیں جو ایک ضمیمہ ہے۔ آپ ایک ہی کلاس میں متعدد لاگگرز کو مختلف واقعات کا جواب دینے کے لئے استعمال کرسکتے ہیں یا درجہ بندی میں لاگرس استعمال کرسکتے ہیں۔ ان کا نام عام طور پر درجہ بندی کے ڈاٹ سے الگ کردہ نام کی جگہ کا استعمال کرتے ہوئے کیا جاتا ہے۔ نیز ، تمام لاگر کے نام کلاس یا لاگ ان جزو کے پیکیج کے نام پر مبنی ہونا چاہئے۔

اس کے علاوہ ، ہر لاگر قریب ترین موجودہ آباؤ اجداد کا ایک ٹریک رکھتا ہے نوشتہ جات نام کی جگہ اور اس کے ساتھ ایک 'سطح' بھی وابستہ ہے۔ ٹھیک ہے ، میں اس مضمون کے آخر والے حصے میں لاگرس پر گفتگو کروں گا ، لیکن اس سے پہلے ، میں آپ کو جاوا میں لاگر پیدا کرنے کا طریقہ بتاتا ہوں۔

نیا لاگر بنائیں

جاوا میں نیا لاگر بنانے کا عمل بالکل آسان ہے۔ آپ کو استعمال کرنا ہےLogger.getLogger ()طریقہgetLogger () لاگر کے نام کی شناخت کرتا ہے اور پیرامیٹر کے بطور سٹرنگ لیتا ہے۔ لہذا ، اگر کوئی لاگر اس سے پہلے سے موجود ہے ، تو وہ لاگر واپس آجاتا ہے ، ورنہ ایک نیا لاگر تیار ہوتا ہے۔

نحو:

جامد لاگر لاگر = لوگر.بیٹ لاگر (نمونہ کلاگس.کلاس.بیٹ نام ())

یہاں ، نمونہ کلاس کلاس کا نام ہے جس کے لئے ہمیں لاگر آبجیکٹ مل رہا ہے۔

مثال:

پبلک کلاس کسٹمر {نجی جامد فائنل لاگر LOGGER = Logger.getLogger (ਗਾਹਕ.class) عوامی باطل getCustomerDetails () {}}

اب جب میں نے آپ کو جاوا میں لاگر پیدا کرنے کا طریقہ بتادیا ہے ، آئیے لاگنگ میں دستیاب مختلف سطحیں دیکھیں۔

لاگ سطح

لاگ ان کی سطح کو ان کی شدت یا ایپلی کیشن کے استحکام پر اثرات کے ذریعہ نوشتہ جات کی درجہ بندی کرنے کے لئے استعمال کیا جاتا ہے۔org.apache.log4j. *پیکیج اورjava.util.loggingدونوں لاگنگ کی مختلف سطحیں مہیا کرتے ہیں۔ آئیے ہم ان میں سے ہر ایک پر ایک ایک نظر ڈالتے ہیں۔

org.apache.log4j. *پیکیج نزولی ترتیب میں درج ذیل درجات فراہم کرتا ہے:

  • FATAL
  • غلطی
  • انتباہ
  • INFO
  • ڈیبگ

java.util.loggingپیکیج نزولی ترتیب میں درج ذیل درجات فراہم کرتا ہے:

  • سات (اعلی سطح)
  • انتباہ
  • INFO
  • CONFIG
  • ٹھیک
  • فائنر
  • آخری (سب سے نیچے کی سطح)

اس کے علاوہ ، مذکورہ پیکیج دو اضافی سطح بھی فراہم کرتا ہےسباوربندتمام پیغامات کو لاگ ان کرنے اور بالترتیب لاگنگ کو غیر فعال کرنے کے لئے استعمال کیا جاتا ہے۔

جاوا میں لاگ ان کرنے کی مثالorg.apache.log4j. *پیکیج:

درآمد کریں org.apache.log4j.Logger عوامی کلاس کسٹمر {جامد لاگر لاگر = Logger.getLogger (کسٹمر.class) عوامی جامد باطل اہم (سٹرنگ [] آرگس) {logger.error ('ERROR') logger.warn ('WARNING') ) logger.fatal ('FATAL') logger.debug ('DEBUG') logger.info ('INFO') System.out.println ('فائنل آؤٹ پٹ')}

لہذا اگر آپ کی پیداوار ہےہمارے میں WARN-ਪੱਧਰ کے طور پر جڑ لاگر log4j.properties فائل ، پھر WARN سے زیادہ ترجیح والے تمام خرابی والے پیغامات ذیل میں پرنٹ ہوں گے:

آپ اس سے سیٹ لیول () کا طریقہ کار استعمال کرکے سطح کو بھی مرتب کرسکتے ہیںjava.util.loggingپیکج ذیل کے طور پر:

logger.setLevel (سطح.ورنگ)

جاوا میں لاگ ان کرنے کی مثالjava.util.loggingپیکیج:

پیکیج ایڈیورکا درآمد java.io.IOException درآمد java.util.logging.Level درآمد java.util.logging.Logger درآمد java.util.logging. * کلاس EdurekaLogger {نجی حتمی مستند لاگر LOGGER = Logger.getLogger (Logger.GLOBAL_LOGGER_NAME) عوامی باطل نمونہ لاگ () O LOGGER.log (سطح.ورنگنگ ، 'ایڈوریکا میں آپ کا استقبال ہے!')} Customer عوامی طبقے کا صارف {عوامی جامد باطل اہم (سٹرنگ [] آرگس) {ایڈیورکا لاگر آبجیکٹ = نیا ایڈورکا لاگر () اعتراض.سیمپل لاگ () لاگ مینجر slg = LogManager.getLogManager () لاگر لاگ = slg.getLogger (Logger.GLOBAL_LOGGER_NAME) log.log (سطح.ورنگنگ ، 'ہیلو! ایڈورکا سے خوش آمدید')}

استعمال کرتے ہوئے اپنی درخواست میں لاگنگ کو فعال کرنے کے ل.org.apache.log4j. *پیکیج یاjava.util.loggingپیکیج ، آپ کو پراپرٹیز فائل کو مرتب کرنا ہوگا۔ جاوا میں لاگر پر اس مضمون میں اگلا ، آئیے ان دونوں کی خصوصیات کی فائل پر تبادلہ خیال کریں۔

Log4j اور جاوا یوٹیل پیکیج کی پراپرٹیز فائل

نمونہ Log4j پراپرٹیز فائل:

# روٹ لاگر آپشن log4j.rootLogger = INFO ، فائل ، ایس ٹی آؤٹ کو چالو کریں # فائل log4j.appender.file = org.apache.log4j.RollingFileAppender log4j.appender.file.File.Eile = E: loglogging.log log4j.appender پرنٹ کرنے کے ل app ضمیماروں کو منسلک کریں۔ file.MaxFileSize = 10MB log4j.appender.file.MaxBackupIndex = 5 log4j.appender.file.layout = org.apache.log4j.PatternLayout log4j.appender.file.layout.CversversPattern =٪ d {yyy-MM-dm Hm : ss}٪ -5p٪ c {1}:٪ L -٪ m٪ n # کنسول log4j.appender.stdout = org.apache.log4j.Consoleappender log4j.appender.stdout.Target = System.out پر پرنٹ کرنے کے لئے اپلینڈرز کو منسلک کریں۔ log4j.appender.stdout.layout = org.apache.log4j.PatternLayout log4j.appender.stdout.layout.CversversPattern =٪ d {yyyy-MM-dd HH: ملی میٹر: ss}٪ -5p٪ c {1}:٪ L -٪ m٪ n
  • Log4j پراپرٹیز فائل پروجیکٹ کے src فولڈر کے اندر بنائی گئی ہے۔
  • log4j.appender.file = org.apache.log4j.RollingFileAppender -> فائل میں موجود تمام لاگ کو پرنٹ کریں
  • log4j.appender.stdout = org.apache.log4j.Consoleappender -> کنسول میں موجود تمام لاگ کو پرنٹ کریں
  • log4j.appender.file.File = D: loglogging.log -> لاگ فائل کا مقام بتاتا ہے
  • log4j.appender.file.MaxFileSize = 10MB -> لاگ فائل کا زیادہ سے زیادہ سائز 10MB
  • log4j.appender.file.MaxBackupIndex = 5 -> بیک اپ فائلوں کی تعداد 5 تک محدود
  • log4j.appender.file.layout = org.apache.log4j.PatternLayout -> اس نمونہ کی وضاحت کرتا ہے جس میں لاگ فائل لاگ ان کریں گے۔
  • log4j.appender.file.layout.ConversionPattern =٪ d {yyyy-MM-dd HH: ملی میٹر: ss}٪ -5p٪ c {1}:٪ L -٪ m٪ n -> طے شدہ تبادلوں کا نمونہ سیٹ کرتا ہے۔

نمونہ جاوا یوٹیل پیکیج پراپرٹیز فائل

ہینڈلرز = java.util.logging.ConsoleHandler .level = Warning # آؤٹ پٹ کو ڈیفالٹ ڈائرکٹری java.util.logging.FileHandler.pattern =٪ h / java٪ u.log java.util.logging.FileHandler.limit = میں محفوظ کیا جائے گا 60000 java.util.logging.FileHandler.count = 1 java.util.logging.FileHandler.formatter = java.util.logging.XML فارمیٹر # نوشتہ جات کی سطح انتباہ اور اس سے اوپر تک محدود ہوگی java.util.logging.ConsoleHandler.level = انتباہ java.util.logging.ConsoleHandler.formatter = java.util.logging.Simple Formatter

یہاں ،

  • java.util.logging.FileHandler.pattern =٪ h / java٪ u.log -> لاگ فائلوں پر لکھا جائے گاC: TEMPjava1.log
  • java.util.logging.FileHandler.limit = 50000 ->زیادہ سے زیادہ رقم جو لاگر کسی بھی ایک فائل کو بائٹس میں لکھتی ہے۔
  • java.util.logging.FileHandler.count = 1 -> آؤٹ پٹ فائلوں کی تعداد بتاتی ہے
  • java.util.logging.FileHandler.formatter = java.util.logging.XML Formatter -> فارمیٹنگ کے لئے استعمال شدہ فارمیٹر کا ذکر ہے۔ یہاں XML فارمیٹر استعمال ہوتا ہے۔
  • java.util.logging.ConsoleHandler.level = WARNING -> ڈیفالٹ لاگ لیول WARNING پر سیٹ کرتا ہے
  • java.util.logging.ConsoleHandler.formatter = java.util.logging.Simple Formatter ->کی وضاحت کرتا ہےفارمیٹرسب کے ذریعہ استعمال کیا جائےکنسول ہینڈلر‘s یہاں ، سادہ فورمٹ استعمال کیا جاتا ہے۔

لاگنگ کے واقعات

میں واقعات لاگ ان کرنے کے لئے ، آپ کو یہ یقینی بنانا ہوگا کہ آپ واقعات کو آسانی سے فائلر کرنے کے لئے ایک سطح تفویض کرتے ہیں۔ کسی سطح کو تفویض کرنے اور کسی پیغام کا ذکر کرنے کے لئے آپ نیچے دیئے گئے طریقے استعمال کرسکتے ہیں۔

طریقہ 1:

logger.log (لیول.ان ایف او ، 'ڈسپلے پیغام')
یہاں ، سطح INFO ہے اور پرنٹ کیا جانے والا میسج ہے 'ڈسپلے میسیج'۔

طریقہ 2:

logger.info ('ڈسپلے پیغام')

اس بات کو یقینی بنانے کے لئے کہ جاوا میں لاگر ، صرف ان واقعات کو لاگ ان کرے جو INFO کی سطح پر یا اس سے زیادہ ہوں ، آپ اسے استعمال کرسکتے ہیں سیٹ لیول () اوپر بحث شدہ طریقہ

اب ، جب میں جاوا میں لاگر استعمال کرنے کے طریقہ پر گفتگو کرچکا ہوں ، آئیے لوگو 4 جے آرکیٹیکچر کے اگلے جزو یعنی اپنڈرس پر تبادلہ خیال کریں۔

ضمیمہ یا ہینڈلرز

لاگ ان واقعات کو کسی منزل تک ریکارڈ کرنے کے ل App ضمیر یا ہینڈلرز ذمہ دار ہیں۔ ہر لاگر کے پاس متعدد ہینڈلرس تک رسائی ہوتی ہے اور وہ لاگر سے لاگ پیغام وصول کرتا ہے۔ اس کے بعد ، ضمیمہ ایونٹس کو فارمیٹ کرنے اور متعلقہ منزل پر بھیجنے کے لئے فارمیٹرز یا لے آؤٹ کا استعمال کرتے ہیں۔

سیٹ لیویل (لیول. ایف ایف) کے طریقہ کار کا استعمال کرتے ہوئے کسی اپندر کو بند کیا جاسکتا ہے۔ میں دو انتہائی معیاری ہینڈلرjava.util.loggingپیکیج مندرجہ ذیل ہیں:

  • فائل ہینڈلر: فائل کرنے کے لئے لاگ پیغام لکھیں
  • کنسول ہینڈلر: کنسول پر لاگ پیغام لکھتا ہے

آپ کی بہتر تفہیم کے ل I ، میں نے پراپرٹیز سیکشن میں کچھ ضمیمہ نگاروں کی وضاحت کی ہے۔

لے آؤٹ یا فارمیٹرز

فارمیٹرز کا لے آؤٹ لاگ ان ایونٹ میں ڈیٹا کو فارمیٹ اور تبدیل کرنے کے لئے استعمال ہوتا ہے۔لاگنگ فریم ورک HTML ، XML ، سیسلاگ ، JSON ، سادہ متن اور دیگر نوشتہ جات کے لئے ترتیب فراہم کرتا ہے۔

  1. سادہ فارمیٹر : بنیادی معلومات کے ساتھ متنی پیغامات تیار کرتا ہے۔
  2. ایکس ایم ایل فارمیٹر : لاگ کے لئے XML پیغام تیار کرتا ہے

آپ کی بہتر تفہیم کے ل I ، میں نے پراپرٹیز سیکشن میں کچھ ترتیبوں کی وضاحت کی ہے۔اس کے ساتھ ، ہم 'جاوا میں لاگ ان' پر اس بلاگ کے اختتام پر پہنچ گئے ہیں۔ مجھے امید ہے کہ آپ لوگ اس مضمون میں جو کچھ آپ کو سکھایا گیا ہے اس سے صاف ہوں گے۔

سرنی جاوا اسکرپٹ کا سائز حاصل کریں

چیک کریں ایڈوریکا کے ذریعہ ، ایک قابل اعتماد آن لائن سیکھنے والی کمپنی جس کی دنیا بھر میں 250،000 سے زیادہ مطمئن سیکھنے والوں کا نیٹ ورک موجود ہے۔ ایڈورکا کا جاوا J2EE اور SOA ٹریننگ اور سرٹیفیکیشن کورس طلباء اور پیشہ ور افراد کے لئے ڈیزائن کیا گیا ہے جو جاوا ڈویلپر بننا چاہتے ہیں۔ کورس آپ کو جاوا پروگرامنگ میں آغاز فراہم کرنے اور ہائبرنیٹ اینڈ اسپرنگ جیسے جاوا کے مختلف فریم ورکوں کے ساتھ ساتھ جاوا کے دونوں بنیادی خیالات کے ساتھ تربیت دینے کے لئے ڈیزائن کیا گیا ہے۔

ہمارے لئے ایک سوال ہے؟ برائے کرم اس 'جاگر میں جاگر' بلاگ کے تبصرے سیکشن میں اس کا تذکرہ کریں اور ہم جلد از جلد آپ کے پاس مل جائیں گے۔