लॉग4जे

From Vigyanwiki
अपाचे लॉग 4 जे
Developer(s)अपाचे सॉफ्टवेयर फाउंडेशन
Initial releaseJanuary 8, 2001; 23 years ago (2001-01-08)[1]
Stable release
Script error: The module returned a nil value. It is supposed to return an export table. / Script error: The module returned a nil value. It is supposed to return an export table.; Error: first parameter cannot be parsed as a date or time. (Script error: The module returned a nil value. It is supposed to return an export table.)[2]
Repositorygithub.com/apache/logging-log4j2
Written inजावा
Operating systemक्रॉस-प्लेटफ़ॉर्म
Typeलॉगिंग
Licenseअपाचे लाइसेंस 2.0
Websitelogging.apache.org/log4j/2.x/

अपाचे लॉग4जे जावा (सॉफ़्टवेयर प्लेटफ़ॉर्म)-आधारित लॉगिंग (सॉफ़्टवेयर) उपयोगिता है जिसे मूल रूप से सेकी गुल्कु द्वारा लिखा गया है। यह अपाचे लॉगिंग सेवाएं का भाग है, जो अपाचे सॉफ्टवेयर फाउंडेशन की परियोजना है। लॉग4जे कई जावा लॉगिंग फ्रेमवर्क में से एक है।

गुल्कु ने तब से एसएलएफ 4 जे, रीलोड4जे, बनाया है।[3] और लॉगबैक[4] जो लॉग4जे के विकल्प हैं।[5]अपाचे लॉग4जे टीम ने लॉग4जे 2 विकसित किया[6] लॉग4जे 1.2, 1.3 की समस्याओं के उत्तर में, java.util.logging और लॉगबैक, उन मुद्दों को संबोधित करते हुए जो उन रूपरेखाओं में प्रकट हुए।[7] इसके अतिरिक्त, लॉग4जे 2 ने प्लग-इन स्थापत्य प्रस्तुत किया जो इसे अपने पूर्ववर्ती की तुलना में अधिक विस्तार योग्य बनाता है। लॉग4जे 2 1.x संस्करणों के साथ पीछे संगत नहीं है,[8] चूंकि अनुकूलक उपलब्ध है। 5 अगस्त 2015 को, अपाचे लॉगिंग सेवाएं परियोजना प्रबंधन समिति ने घोषणा की। कि लॉग 4 जे 1 जीवन के अंत तक पहुंच गया था और लॉग 4 जे 1 के उपयोगकर्ताओं को अपाचे लॉग 4 जे 2 में अपग्रेड करने की सलाह दी गई थी।[9] 12 जनवरी, 2022 को, सेकी गुल्कु द्वारा रीलोड4जे संस्करण 1.2.18.0 के रूप में कांटा और नया नाम दिया गया लॉग4जे संस्करण 1.2 जारी किया गया था, जिसका उद्देश्य लॉग4जे 1.2.17 में सबसे आवश्यक मुद्दों को ठीक करना था जो 2013 में इसकी प्रकाशन के बाद से जमा हो गए थे।[10] 9 दिसंबर, 2021 को, शून्य-दिन (कंप्यूटिंग) | शून्य-दिन की भेद्यता जिसमें लॉग4जे 2 में विवेकाधीन कोड निष्पादन सम्मलित है, इसको अलीबाबा क्लाउड सुरक्षा दल द्वारा प्रकाशित किया गया था और विवरणक लॉग4शेल दिया गया था।[11]इसे टेनेबल द्वारा "पिछले दशक की सबसे बड़ी, सबसे महत्वपूर्ण भेद्यता" के रूप में चित्रित किया गया है।[12]

अपाचे लॉग 4 जे 2

अपाचे लॉग4जे 2, लॉग4जे 1 का उत्तराधिकारी है जिसे जुलाई 2014 में सॉफ़्टवेयर प्रदर्शन जीवन चक्र सामान्य उपलब्धता .28GA.29 के रूप में जारी किया गया था। फ्रेमवर्क को स्क्रैच से फिर से लिखा गया था और यह उपस्थित लॉगिंग समाधानों से प्रेरित है, जिसमें लॉग4जे 1 और java.util.logging. सम्मलित हैं। मुख्य अंतर[13][14] लॉग4जे 1 से हैं:

  • उन्नत विश्वसनीयता। लॉग4जे 1 या लॉगबैक जैसे ढांचे को पुन: कॉन्फ़िगर करते समय संदेश लुप्त नहीं होते हैं
  • विस्तारणीयता: उपयोगकर्ताओं को प्रचलन घटकों को परिभाषित और कॉन्फ़िगर करने देने के लिए लॉग4जे 2 प्लग-इन प्रणाली का समर्थन करता है
  • सरलीकृत विन्यास सिंटैक्स
  • एक्सएमएल, जेसन, यमल और गुण विन्यास के लिए समर्थन
  • श्रेष्ठतर फिल्टर
  • विन्यास फ़ाइल, प्रणाली गुण, पर्यावरण चर, थ्रेड प्रसंग मानचित्र और घटना में उपस्तिथ डेटा में परिभाषित मूल्यों के लिए संपत्ति लुकअप समर्थन
  • एकाधिक एपीआई के लिए समर्थन: लॉग4जे 2 का उपयोग लॉग4जे 2, लॉग4जे 1.2, एसएलएफ4जे, कॉमन्स लॉगिंग और जावा.यूटिल.लॉगिंग (जेयूएल) एपीआई का उपयोग करने वाले अनुप्रयोगों के साथ किया जा सकता है।
  • प्रचलन लॉग स्तर
  • आलसी लॉगिंग के लिए जावा 8-शैली लैम्ब्डा समर्थन
  • मार्कर
  • उपयोगकर्ता परिभाषित संदेश वस्तुओं के लिए समर्थन
  • सामान्य विन्यास में कचरा मुक्त या कम कचरा
  • श्रेष्ठतर गति
  • लिनक्स के लिए श्रेष्ठतर समर्थन

लॉग4जे 2 की सबसे अधिक पहचानी जाने वाली विशेषताओं में से अतुल्यकालिक लॉगर्स का प्रदर्शन है।[15] लॉग4जे 2 विघ्नकर्ता (सॉफ्टवेयर) का उपयोग करता है।[16] पुस्तकालय कर्नेल लॉकिंग की आवश्यकता को कम करता है और लॉगिंग प्रदर्शन को 12 गुना बढ़ा देता है। उदाहरण के लिए, उसी वातावरण में लॉग4जे 2 प्रति सेकंड 18,000,000 से अधिक संदेश लिख सकता है, जबकि अन्य फ्रेमवर्क जैसे लॉगबैक और लॉग4जे 1 केवल प्रति सेकंड <2,000,000 संदेश लिखते हैं ।

सुविधाएँ

लॉग4जे लॉग स्तर

निम्न तालिका गंभीरता के घटते क्रम में लॉग4जे में अंतर्निहित लॉग स्तरों और संदेशों को परिभाषित करती है। बायाँ स्तंभ लॉग4जे में लॉग स्तर पदनाम को सूचीबद्ध करता है और दायाँ स्तंभ प्रत्येक लॉग स्तर का संक्षिप्त विवरण प्रदान करता है।

स्तर विवरण
बंद उच्चतम संभव रैंक और लॉगिंग को बंद करने का उद्देश्य है।
घातक गंभीर त्रुटियां जो समय से पहले समाप्ति का कारण बनती हैं। अपेक्षा करें कि ये आश्वासना स्थिति पर तत्काल दिखाई दें
एरर अन्य रनसमय त्रुटियाँ या अनपेक्षित स्थितियाँ। अपेक्षा करें कि ये आश्वासना स्थिति पर तत्काल दिखाई दें।
चेतावनी पदावनत एपीआई का उपयोग, एपीआई का खराब उपयोग, 'लगभग' त्रुटियां, अन्य रनसमय स्थितियां जो अवांछनीय या अप्रत्याशित हैं, किन्तु आवश्यक नहीं कि "गलत" हों। अपेक्षा करें कि ये आश्वासना स्थिति पर तत्काल दिखाई दें।
जानकारी रोचक रनसमय घटना (स्टार्टअप/शटडाउन)। अपेक्षा करें कि ये तत्काल एक कंसोल पर दिखाई देंगे, इसलिए रूढ़िवादी रहें और न्यूनतम रखें।
डीबग प्रणाली के माध्यम से प्रवाह पर विस्तृत जानकारी। आशा है कि इन्हें केवल लॉग में लिखा जाएगा। सामान्यतया, आपके एप्लिकेशन द्वारा लॉग की गई अधिकांश पंक्तियों को डीबग के रूप में लिखा जाना चाहिए।
पता लगाना सबसे विस्तृत जानकारी। आशा है कि इन्हें केवल लॉग में लिखा जाएगा। संस्करण 1.2.12 के बाद से।[17]


प्रचलन लॉग स्तर

लॉग4जे 2 उपयोगकर्ताओं को अपने स्वयं के लॉग स्तरों को परिभाषित करने की अनुमति देता है।[18] लॉगर्स बनाने के लिए स्रोत कोड जनरेटर उपकरण प्रदान किया जाता है जो प्रचलन लॉग स्तरों को अंतर्निहित लॉग स्तरों के समान समर्थन करता है। प्रचलन लॉग स्तर या तो अंतर्निर्मित लॉग स्तरों को पूरक या प्रतिस्थापित कर सकते हैं।

लॉग4जे विन्यास

लॉग4जे को कॉन्फ़िगर किया जा सकता है[19] विन्यास फ़ाइल या जावा कोड के माध्यम से विन्यास प्रारूप एक्सएमएल, जेएसओएन, वाईएएमएल, या गुण प्रारूप में लिखी जा सकती हैं। विन्यास के भीतर, आप तीन मुख्य घटकों को परिभाषित कर सकते हैं। लॉगर , परिशिष्ट और लेआउट। फ़ाइल के माध्यम से लॉगिंग को कॉन्फ़िगर करने का लाभ यह है कि लॉग 4j का उपयोग करने वाले एप्लिकेशन को संशोधित किए बिना लॉगिंग को चालू या बंद किया जा सकता है। उदाहरण के लिए, जब तक कोई समस्या न हो, एप्लिकेशन को लॉगिंग ऑफ के साथ चलाने की अनुमति दी जा सकती है और फिर विन्यास फ़ाइल को संशोधित करके लॉगिंग को वापस चालू किया जा सकता है।

लॉगर [20] को लॉग संदेश गंतव्यों का नाम दिया गया है। वे नाम हैं जो जावा एप्लिकेशन के लिए जाने जाते हैं। प्रत्येक लॉगर स्वतंत्र रूप से कॉन्फ़िगर करने योग्य है कि वह वर्तमान में लॉगिंग के किस स्तर (घातक, त्रुटि, आदि) पर लॉग करता है। लॉग4जे के प्रारंभिक संस्करणों में, इन्हें श्रेणी और प्राथमिकता कहा जाता था, किन्तु अब इन्हें क्रमशः लॉगर और स्तर कहा जाता है। लॉगर कई परिशिष्टों को लॉग संदेश भेज सकता है।

वास्तविक आउटपुट परिशिष्ट द्वारा किया जाता है।[21] वर्णनात्मक नामों के साथ कई परिशिष्ट उपलब्ध हैं, जैसे फाइलएपेंडर, रोलिंगफाइलएपेंडर, कंसोलएपेंडर, डिटेंडर, सिसलॉग एपेंडर, और एसएमटीपीए पेपेंडर। लॉग4जे 2 ने उन परिशिष्टों को जोड़ा जो अपाचे फ्लूम, जावा दृढ़ता एपीआई, अपाचे काफ्का, नोएसक्यूएल डेटाबेस, मेमोरी-मैप की गई फ़ाइल, रैंडम एक्सेस फ़ाइलों को लिखते हैं[22] और ज़ीरोएमक्यू एंडपॉइंट्स। एकाधिक परिशिष्ट किसी भी लॉगर से जुड़े हो सकते हैं, इसलिए ही जानकारी को कई आउटपुट में लॉग करना संभव है; उदाहरण के लिए स्थानीय रूप से फ़ाइल और दूसरे कंप्यूटर पर इंटरनेट सॉकेट श्रोता के लिए।

परिशिष्ट लेआउट का उपयोग करते हैं[23] लॉग प्रविष्टियों को प्रारूपित करने के लिए। एक-पंक्ति-पर-एक-समय लॉग फ़ाइलों को प्रारूपित करने का लोकप्रिय विधि विन्यास स्वरूप है, जो स्वरूप स्ट्रिंग का उपयोग करता है, जैसे सी (प्रोग्रामिंग भाषा) / सी ++ फ़ंक्शन printf । जब HTML या XML प्रारूप क्रमशः अधिक सुविधाजनक होते हैं, तो उपयोग के लिए एचटीएमएल लेआउट और एक्सएमएल लेआउट स्वरूपक भी होते हैं। लॉग4जे 2 ने कोमा से अलग किए गए मानों के लिए लेआउट जोड़े, ग्रेलॉग विस्तारित लॉग फॉर्मेट (GELF),[24] JSON, YAML और RFC-5424।[25]लॉग4जे 2 में, फ़िल्टर[26] अधिक सुक्ष्म नियंत्रण देने के लिए विन्यास तत्वों पर परिभाषित किया जा सकता है कि कौन से लॉग प्रविष्टियों को संसाधित किया जाना चाहिए जिनके द्वारा लॉगर और परिशिष्ट। संदेश स्ट्रिंग पर लॉग स्तर और नियमित अभिव्यक्ति मिलान द्वारा फ़िल्टर करने के अतिरिक्त, लॉग4जे 2 ने बर्स्ट फ़िल्टर, समय फ़िल्टर, अन्य लॉग इवेंट विशेषताओं जैसे मार्कर या थ्रेड संदर्भ नक्शा और JSR 223 को स्क्रिप्ट फ़िल्टर द्वारा फ़िल्टर किया।

दुर्व्यवहार करने वाले विन्यास को डीबग करने के लिए:

  • लॉग4जे 2 विन्यास में सेट करें status मानक स्ट्रीम में आंतरिक स्थिति लॉगिंग आउटपुट भेजने के लिए चिह्न को विशेषता। विन्यास मिलने से पहले स्थिति लॉगिंग सक्षम करने के लिए, जावा VM गुण का उपयोग करें -Dorg.apache.logging.log4j.simplelog.StatusLogger.level=trace.
  • लॉग4जे 1 में, जावा VM गुण का उपयोग करें -Dlog4j .debug.

यह पता लगाने के लिए कि लॉग4जे 2.xml विन्यास फ़ाइल को निरीक्षण से जहाँ लोड किया गया था getClass().getResource("/log4j 2.xml").

लॉग4जे का अंतर्निहित अपुष्ट या डिफ़ॉल्ट विन्यास भी है, जो कि लॉग4जे -साधन जावा एप्लिकेशन का है जिसमें किसी भी लॉग4जे विन्यास का अभाव है। यह चेतावनी को प्रिंट करता है कि प्रोग्राम अपुष्ट है, और लॉग4जे वेब साइट का URL जहां चेतावनी और विन्यास पर विवरण मिल सकता है। इस चेतावनी को प्रिंट करने के साथ-साथ, अपुष्ट लॉग4जे एप्लिकेशन केवल त्रुटि या घातक लॉग प्रविष्टियों को मानक आउट में प्रिंट करेगा।

लॉग4जे 2 के लिए उदाहरण

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="trace" monitorInterval="60">
  <Properties>
    <Property name="filename">target/test.log</Property>
  </Properties>
 
  <Appenders>
    <Console name="STDOUT">
      <PatternLayout pattern="%d %p %c{1.} [%t] %m%n"/>
    </Console>

    <File name="file" fileName="${filename}">
      <PatternLayout>
        <pattern>%d %p %c{1.} [%t] %m%n</pattern>
      </PatternLayout>
    </File>
  </Appenders>
 
  <Loggers> 
    <!-- 
         loggers whose name starts with 'org.springframework' will only log messages of level "info" or higher;
         if you retrieve Loggers by using the class name (e.g. Logger.getLogger(AClass.class))
         and if AClass is part of the org.springframework package, it will belong to this category
    -->
    <Logger name="org.springframework" level="info" additivity="false" />

    <!--
        Filter example: for loggers whose name starts with 'com.mycompany.myproduct',
        log entries of level "debug" or higher whose ThreadContextMap data contains
        the key-value pair "test=123", also send these log entries to the "STDOUT" appender.
    -->
    <Logger name="com.mycompany.myproduct" level="debug" additivity="true">
      <ThreadContextMapFilter>
        <KeyValuePair key="test" value="123"/>
      </ThreadContextMapFilter>
      <AppenderRef ref="STDOUT"/>
    </Logger>
 
    <!--
        By default, all log messages of level "trace" or higher will be logged.
        Log messages are sent to the "file" appender and 
        log messages of level "error" and higher will be sent to the "STDOUT" appender.
    -->
    <Root level="trace">
      <AppenderRef ref="file"/>
      <AppenderRef ref="STDOUT" level="error"/>
    </Root>
  </Loggers>
 
</Configuration>

लॉग4जे 1.2 के लिए उदाहरण

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//LOGGER" "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
<log4j:configuration>
    <!-- 
         an appender is an output destination, such as the console or a file;
         names of appenders are arbitrarily chosen.
    -->
    <appender name="stdout" class="org.apache.log4j.ConsoleAppender">
        <layout class="org.apache.log4j.PatternLayout">
            <param name="ConversionPattern"
                value="%d{ABSOLUTE} %5p %c{1}:%L - %m%n" />
        </layout>
    </appender>
 
    <!-- 
         loggers of category 'org.springframework' will only log messages of level "info" or higher;
         if you retrieve Loggers by using the class name (e.g. Logger.getLogger(AClass.class))
         and if AClass is part of the org.springframework package, it will belong to this category
    -->
    <logger name="org.springframework">
        <level value="info"/>
    </logger>

    <!-- 
         everything of spring was set to "info" but for class 
         PropertyEditorRegistrySupport we want "debug" logging 
    -->
    <logger name="org.springframework.beans.PropertyEditorRegistrySupport">
        <level value="debug"/>
    </logger>
 
    <logger name="org.acegisecurity">
        <level value="info"/>
    </logger>
    
    
    <root>
        <!-- 
            all log messages of level "debug" or higher will be logged, unless defined otherwise 
            all log messages will be logged to the appender "stdout", unless defined otherwise 
        -->
        <level value="debug" />
        <appender-ref ref="stdout" />
    </root>
</log4j:configuration>


टीटीसीसी

TTCC संदेश प्रारूप है जिसका उपयोग लॉग4जे द्वारा किया जाता है।[27] TTCC समय धागा श्रेणी घटक के लिए संक्षिप्त शब्द है। यह निम्न स्वरूप का उपयोग करता है:

 %r [%t] %-5p %c %x - %m%n

जहाँ

स्मृति सहायक विवरण
%r लॉगिंग ईवेंट के निर्माण तक लेआउट के निर्माण से गुजरे मिलीसेकंड की संख्या को आउटपुट करने के लिए उपयोग किया जाता है।
%t लॉगिंग ईवेंट उत्पन्न करने वाले थ्रेड के नाम को आउटपुट करने के लिए उपयोग किया जाता है।
%p लॉगिंग इवेंट की प्राथमिकता को आउटपुट करने के लिए उपयोग किया जाता है।
%c लॉगिंग इवेंट की श्रेणी को आउटपुट करने के लिए उपयोग किया जाता है।
%x लॉगिंग इवेंट उत्पन्न करने वाले थ्रेड से जुड़े एनडीसी (नेस्टेड नैदानिक संदर्भ) को आउटपुट करने के लिए प्रयुक्त होता है।
%X{key} निर्दिष्ट कुंजी के लिए लॉगिंग ईवेंट उत्पन्न करने वाले थ्रेड से जुड़े MDC (मानचित्र नैदानिक संदर्भ) को आउटपुट करने के लिए उपयोग किया जाता है।[28]
%m लॉगिंग इवेंट से जुड़े एप्लिकेशन द्वारा दिए गए संदेश को आउटपुट करने के लिए उपयोग किया जाता है।
%n प्लेटफ़ॉर्म-विशिष्ट नई पंक्ति वर्ण या वर्णों को आउटपुट करने के लिए उपयोग किया जाता है।

उदाहरण आउटपुट
467 [मुख्य] ​​जानकारी org.apache.log4j.examples.Sort - मुख्य विधि से बाहर निकलना।

पोर्ट्स

  • log4c - C के लिए पोर्ट। Log4C C-आधारित कंप्यूटर डेटा लॉगिंग लाइब्रेरी है, जिसे LGPL अधिकार के अनुसार स्रोत फोर्ज पर जारी किया गया है। विभिन्न यूनिक्स ऑपरेटिंग प्रणाली के लिए autoconf और automake प्रारूप प्रदान की जाती हैं। माइक्रोसॉफ़्ट विंडोज़ पर एमएसवीसी के साथ उपयोग के लिए मेकफाइल प्रदान की जाती है। सॉफ्टवेयर डेवलपर अपनी निर्माण इंजीनियरिंग आवश्यकताओं के आधार पर स्रोत को संकलित करने के लिए अपने स्वयं के मेक प्रणाली का उपयोग करना चुन सकते हैं। Log4c लाइब्रेरी का उदाहरण तीन तरीकों से कॉन्फ़िगर किया जा सकता है: पर्यावरण चर का उपयोग करके, प्रोग्रामेटिक रूप से, या XML विन्यास फ़ाइल के माध्यम से। log4c में फ़ाइलें, स्ट्रीम और मेमोरी मैप की गई फ़ाइलों के लिए परिशिष्ट हैं। (कोई सॉकेट अनुकूलक नहीं।) अंतिम संस्करण 1.2.4 है, जो 2013 में जारी किया गया था और परियोजना अब सक्रिय रूप से विकसित नहीं हुई है।[29]
  • लॉग4जे - जावास्क्रिप्ट के लिए पोर्ट। लॉग4जे अपाचे सॉफ्टवेयर फाउंडेशन के अधिकार के अंतर्गत उपलब्ध है। लॉग4जे की विशेष विशेषता ब्राउज़र की घटनाओं को सर्वर पर दूरस्थ रूप से लॉग करने की क्षमता है। अजाक्स (प्रोग्रामिंग) का उपयोग करके लॉगिंग घटनाओं को कई प्रारूपों (एक्सएमएल, जेएसओएन, सादा एएससीआईआई, आदि) में मूल्यांकन के लिए सर्वर पर भेजना संभव है। निम्न परिशिष्ट लॉग4जे के लिए लागू किए गए हैं: अजाक्सएपेंडर, कंसोलएपेंडर, फाइलएपेंडर, जेएसकॉनसोलएपेंडर, मेटाटैगएपेंडर और विंडोजइवेंट्सएपेंडर। निम्नलिखित लेआउट कक्षाएं प्रदान की जाती हैं: बेसिक लेआउट, एचटीएमएल लेआउट, जेएसओएन लेआउट और एक्सएमएल लेआउट। नवीनतम संस्करण as of 2021 18 अक्टूबर 2018 का 2.0 था।[30]
  • लॉग4जे जावास्क्रिप्ट - जावास्क्रिप्ट के लिए एक और पोर्ट। लॉग4जे जावास्क्रिप्ट लॉग4जे पर आधारित जावास्क्रिप्ट लॉगिंग फ्रेमवर्क है। नवीनतम संस्करण as of 2021 1.4.13 था, 23 मई 2015 को जारी किया गया।[31]
  • जेएसएन लॉग- जावास्क्रिप्ट के लिए पोर्ट। लॉग4नेट, एनएलओजी, एल्माह या Common.Logging के साथ इंटरफेस करने वाले .NET सर्वर साइड घटक का उपयोग करके सर्वर साइड लॉग में जावास्क्रिप्ट लॉगर से संदेशों को स्वचालित रूप से रखता है। यह ग्राहक और सर्वर साथ में कार्यक्रम के लिए एकीकृत लॉग प्रदान करने के लिए है। अनुरोध आईडी विशिष्ट उपयोगकर्ता से संबंधित घटनाओं से संबंधित हैं। विन्यास सर्वर साइड web.config फ़ाइल के माध्यम से होता है। स्टैक ट्रेस सहित अपवाद लॉगिंग का समर्थन करता है। As of 2021 नवीनतम संस्करण 3.0.0 था और अद्यतन नियमित रूप से किए गए थे।[32]
  • अपाचे लॉग4नेट- Microsoft .NET Framework के लिए पोर्ट। प्रारंभिक कार्य नियोवर्क्स द्वारा किया गया था और फरवरी 2004 में अपाचे सॉफ्टवेयर फाउंडेशन को दान कर दिया गया था। .NET रनसमय में नई सुविधाओं का लाभ उठाते हुए रूपरेखा मूल लॉग4जे के समान है। स्थिर नैदानिक संदर्भ (NDC) और मानचित्र नैदानिक संदर्भ (MDC) प्रदान करता है। नवीनतम संस्करण as of 2022 2.0.15 था।[33]
  • लॉग4 पर्ल- लॉग4जे का पर्ल पोर्ट। फरवरी 2017 का संस्करण 1.49 as of 2021 चालू था .[34]
  • अपाचे लॉग4 पीएचपी- PHP के लिए बहुमुखी लॉगिंग फ्रेमवर्क। मूल रूप से PHP के लिए अपाचे लॉग4जे का पोर्ट, यह विभिन्न PHP विशिष्ट विशेषताओं को सम्मलित करने के लिए विकसित हुआ है।[35]
  • पीएल-एसक्यूएल-लॉगिंग-यूटिलिटी- पीएल/एसक्यूएल में लॉग4जे का अनुकूलन है।[36]
  • लॉग4डीबी2- LUW के लिए DB2 के लिए लॉगिंग उपयोगिता है जो SQL PL कोड के साथ SQL निर्देशों का उपयोग करता है।[37]
  • अपाचे लॉग4cxx- अपाचे लॉग4जे के बाद प्रतिरूपित C++ के लिए लॉगिंग फ्रेमवर्क, जो अधिकांश प्लेटफ़ॉर्म-विशिष्ट कोड के लिए अपाचे अपाचे पोर्टेबल रनसमय उपयोग करता है और APR द्वारा समर्थित किसी भी प्लेटफ़ॉर्म पर प्रयोग करने योग्य होना चाहिए। नवीनतम संस्करण 0.13.0 है, जो 2022 में जारी किया गया था।[38]
  • लॉग4r- रूबी कार्यक्रमों में उपयोग के लिए रूबी में लिखित व्यापक और लचीली लॉगिंग लाइब्रेरी। यह अपाचे लॉग4जे प्रोजेक्ट की अधिकांश विशेषताओं से प्रेरित था और प्रदान करता है।[39]

लॉग4शेल भेद्यता

ज़ीरो-डे (कंप्यूटिंग) भेद्यता जिसमें लॉग4जे 2 में विवेकाधीन कोड निष्पादन सम्मलित है। वर्णनकर्ता लॉग4शेल (सामान्य भेद्यता और अनावरण -2021-44228) दिया गया था और पाया गया 24 नवंबर, 2021 को अलीबाबा समूह द्वारा अपाचे को रिपोर्ट किया गया और 9 दिसंबर, 2021 को ट्विटर पर प्रकाशित किया गया।[11] प्रभावित सेवाओं में सम्मलित हैं क्लाउडफ्लेयर , आईक्लाउड, माइनक्राफ्ट: जावा संस्करण,[40] स्टीम (सेवा), टेनसेंट QQ और ट्विटर ।[41][42][43] अपाचे सॉफ्टवेयर फाउंडेशन ने लॉग4शेल को 10 की अधिकतम सामान्य भेद्यता स्कोरिंग प्रणाली गंभीरता रेटिंग दी, क्योंकि लाखों सर्वर संभावित रूप से शोषण के प्रति संवेदनशील हो सकते हैं।[43]भेद्यता की विशेषता साइबर सुरक्षा फर्म टेनेबल, इंक। द्वारा पिछले दशक की सबसे बड़ी, सबसे महत्वपूर्ण भेद्यता के रूप में की गई थी[12] और लुनासेक के फ्री वोर्टली ने इसे आपदाजनक अनुपात की डिजाइन विफलता के रूप में चित्रित किया।[44]संयुक्त राज्य अमेरिका में, साइबर साइबर सुरक्षा और बुनियादी ढांचा सुरक्षा एजेंसी (CISA) के निदेशक, जेन ईस्टरली ने शोषण को महत्वपूर्ण सहमति दिया और विक्रेताओं को सॉफ़्टवेयर अपडेट को प्राथमिकता देने की सलाह दी[45] और जर्मन एजेंसी सूचना सुरक्षा के लिए संघीय कार्यालय (BSI) ने शोषण को अपने उच्चतम खतरे के स्तर पर होने के रूप में नामित किया, इसे अत्यंत महत्वपूर्ण खतरे की स्थिति (अनुवादित) कहा।[46][47] साइबर सुरक्षा के लिए कनाडाई केंद्र (CCCS) ने संगठनों से तत्काल कार्रवाई करने का आह्वान किया।[48] भेद्यता उत्पन्न करने वाली सुविधा को विन्यास सेटिंग के साथ अक्षम किया जा सकता है, जिसे हटा दिया गया था[49] लॉग4जे संस्करण 2.15.0-rc1 में (आधिकारिक तौर पर भेद्यता प्रकाशित होने से तीन दिन पहले 6 दिसंबर, 2021 को जारी किया गया), और दूरस्थ लुकअप को प्रतिबंधित करने वाली विभिन्न समायोजन द्वारा प्रतिस्थापित किया गया, जिससे भेद्यता कम हो गई।[50][51] अतिरिक्त सुरक्षा के लिए, जावा नामकरण और निर्देशिका इंटरफ़ेस का उपयोग करने वाली सभी सुविधाएँ, जिस पर यह भेद्यता आधारित थी, डिफ़ॉल्ट रूप से अक्षम हो जाएंगी, और संस्करण 2.16.0 से संदेश लुकअप के लिए समर्थन हटा दिया जाएगा।[52][53]

यह भी देखें

  • चेनसॉ (लॉग फ़ाइल दर्शक)

संदर्भ

  1. "Apache Log4j 1.2 Release History". apache.org. Apache Software Foundation. Retrieved 2014-09-02.
  2. "Log4j – Changes - Apache Log4j 2". apache.org. Apache Software Foundation. Archived from the original on April 25, 2022. Retrieved 2021-12-18.
  3. "Reload4j Home". reload4j.qos.ch. Retrieved 2022-01-12.
  4. "लॉगबैक होम". Logback.qos.ch. Retrieved 2014-07-24.
  5. Grigg, Kadi. "Wicked Good Development - Cybersecurity Experts Talk Log4J, Open Source and More". blog.sonatype.com (in English). Retrieved 2022-08-16.
  6. "Log4j 2 Guide - Apache Log4j 2". Logging.apache.org. 2014-07-12. Retrieved 2014-07-24.
  7. Goers, Ralph (15 December 2019). "Why was Log4j 2 created?". Ralph Goers.
  8. "Log4j 2 Guide - Apache Log4j 2: News". Logging.apache.org. 2014-07-12. Retrieved 2014-07-24.
  9. "Apache Logging Services Project Announces Log4j 1 End-Of-Life; Recommends Upgrade to Log4j 2". blogs.apache.org. 2015-08-05. Retrieved 2016-07-03.
  10. "Reload4j Project; Easy migration from log4j 1.2.x". qos.ch. 2022-01-12. Retrieved 2022-01-12.
  11. 11.0 11.1 "What's the Deal with the Log4Shell Security Nightmare?". Lawfare. December 10, 2021.
  12. 12.0 12.1 "हाल ही में खुला सॉफ्टवेयर दोष 'पिछले दशक की सबसे महत्वपूर्ण भेद्यता'". the Guardian. Associated Press. December 11, 2021.
  13. "The new log4j 2.0". Grobmeier.de. 2012-12-05. Retrieved 2014-07-24.
  14. "Log4j – Overview - Apache Log4j 2". logging.apache.org. 2016-06-05. Retrieved 2016-07-03.
  15. "Log4j 2 Asynchronous Loggers for Low-Latency Logging - Apache Log4j 2". Logging.apache.org. 2014-07-12. Retrieved 2014-07-24.
  16. "एलएमएक्स-एक्सचेंज द्वारा विघटनकर्ता". Lmax-exchange.github.io. Retrieved 2014-07-24.
  17. "Level (Apache Log4j 1.2.17 API)". Logging.apache.org. 2012-06-09. Retrieved 2014-07-24.
  18. "कस्टम लॉग स्तर". Logging.apache.org. 2014-07-12. Retrieved 2016-07-16.
  19. "विन्यास". Logging.apache.org. 2016-07-05. Retrieved 2016-07-16.
  20. "वास्तुकला". Logging.apache.org. 2016-07-05. Retrieved 2016-07-16.
  21. "परिशिष्ट". Logging.apache.org. 2016-07-05. Retrieved 2016-07-16.
  22. एक्सेसफाइल.html "रैंडम एक्सेसफाइल". docs.oracle.com. 2011-07-28. Retrieved 2016-07-16. {{cite web}}: Check |url= value (help)
  23. "लेआउट". Logging.apache.org. 2016-07-05. Retrieved 2016-07-16.
  24. "कला". docs.graylog.org. 2016-06-08. Archived from the original on February 9, 2020. Retrieved 2016-07-16.
  25. Gerhards, R. (2009-03-01). "RFC 5424 - The Syslog Protocol". tools.ietf.org. doi:10.17487/RFC5424. Retrieved 2016-07-16. {{cite journal}}: Cite journal requires |journal= (help)
  26. "फिल्टर". Logging.apache.org. 2016-07-05. Retrieved 2016-07-16.
  27. "TTCCLayout (Apache Log4j 1.2.17 API)". Logging.apache.org. 2012-06-09. Retrieved 2014-07-24.
  28. "MDC (Apache Log4j 1.2.17 API)". Logging.apache.org. 2012-06-09. Retrieved 2014-07-24.
  29. "Logging Framework for C | Free System Administration software downloads at". Sourceforge.net. Retrieved 2014-07-24.
  30. "stritti/Log4js - The Logging Framework for JavaScript with no runtime dependencies". GitHub. Retrieved 11 December 2021.
  31. "एक जावास्क्रिप्ट लॉगिंग फ्रेमवर्क". log4javascript. Retrieved 2021-12-11.
  32. "अपने सर्वर साइड लॉग में जावास्क्रिप्ट त्रुटियों को लॉग करना". JSNLog. Retrieved 2021-12-11.
  33. "Apache log4net". Logging.apache.org. Retrieved 2021-12-11.
  34. Schilli, Mike; Goess, Kevin. "log4perl - log4j for Perl". log4perl. Retrieved 2021-12-11.
  35. "अपाचे लॉगिंग सेवाएं". Apache.org. Retrieved 2015-03-11.
  36. "tmuth/Logger-A-PL-SQL-Logging-Utility — GitHub". Github.com. Retrieved 2014-07-24.
  37. "Log4db2 by angoca". Angoca.github.io. Retrieved 2014-07-24.
  38. "log4cxx - Changelog". logging.apache.org.
  39. "Log4r Manual". log4r.rubyforge.org. Archived from the original on 2012-12-25. Retrieved 2017-04-13.
  40. "Security Vulnerability in Minecraft: Java Edition". Minecraft. 10 December 2021.
  41. Goodin, Dan (December 9, 2021). "Zeroday in ubiquitous Log4j tool poses a grave threat to the Internet". Ars Technica. Retrieved December 10, 2021.
  42. "Worst Apache Log4j RCE Zero day Dropped on Internet". Cyber Kendra. December 9, 2021. Retrieved December 10, 2021.
  43. 43.0 43.1 Mott, Nathaniel (December 10, 2021). "Countless Servers Are Vulnerable to Apache Log4j Zero-Day Exploit". PC Magazine. Retrieved December 10, 2021.
  44. Newman, Lily Hay (10 December 2021). "इंटरनेट आग पर है". Wired – via www.wired.com.
  45. "Statement from CISA Director Easterly on "Log4j" Vulnerability". CISA. Washington. 2021-12-11.
  46. "BSI warnt vor Sicherheitslücke" [BSI warns of security vulnerabilities]. Tagesschau (in Deutsch). 2021-12-12.
  47. "Warnstufe Rot: Schwachstelle Log4Shell führt zu extrem kritischer Bedrohungslage" [Red alarm: Log4Shell vulnerability causes extremely critical threat situation]. BSI press service (in Deutsch). 2021-12-12.
  48. "अपाचे भेद्यता पर राष्ट्रीय रक्षा मंत्री का बयान और कनाडा के संगठनों को तत्काल कार्रवाई करने का आह्वान". Government of Canada (in English). 2021-12-12. Archived from the original on December 20, 2021. Retrieved December 12, 2021.
  49. "LOG4J2-3198: Log4j2 no longer formats lookups in messages by default". GitHub (in English). 2021-12-05.
  50. "Restrict LDAP access via JNDI by rgoers · Pull Request #608 · apache/logging-log4j2". GitHub (in English). 30 November–5 December 2021
  51. "Apache Log4j Security Vulnerabilities". 2021-12-06.
  52. "LOG4J2-3208: Disable JNDI by default". December 11, 2021. Retrieved 2021-12-14.
  53. "LOG4J2-3211: Remove support for Lookups in messages". 2021-12-13. Retrieved 2021-12-14.

अग्रिम पठन


बाहरी संबंध

  • No URL found. Please specify a URL here or add one to Wikidata.