लॉग4जे: Difference between revisions

From Vigyanwiki
No edit summary
No edit summary
 
(23 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{Infobox software
{{Infobox software
| name = Apache Log4j
| name = अपाचे लॉग 4 जे
| logo = [[File:Apache Log4j Logo.png|250px]]
| logo = [[File:Apache Log4j Logo.png|250px]]
| screenshot =  
| screenshot =  
| caption =  
| caption =  
| developer = [[Apache Software Foundation]]
| developer = [[अपाचे सॉफ्टवेयर फाउंडेशन]]
| released = {{start date and age|2001|01|08}}<ref>{{cite web |url=https://logging.apache.org/log4j/1.2/changes-report.html |title=Apache Log4j 1.2 Release History |author=<!--Staff writer(s); no by-line.--> |website=apache.org |publisher=Apache Software Foundation |access-date=2014-09-02}}</ref>
| released = {{start date and age|2001|01|08}}<ref>{{cite web |url=https://logging.apache.org/log4j/1.2/changes-report.html |title=Apache Log4j 1.2 Release History |author=<!--Staff writer(s); no by-line.--> |website=apache.org |publisher=Apache Software Foundation |access-date=2014-09-02}}</ref>
| latest release version = {{wikidata|property|edit|reference|P348}}
| latest release version = {{wikidata|property|edit|reference|P348}}
Line 11: Line 10:
| latest preview version =  
| latest preview version =  
| latest preview date =  
| latest preview date =  
| operating system = [[Cross-platform]]
| operating system = [[क्रॉस-प्लेटफ़ॉर्म]]
| repo = {{url|https://github.com/apache/logging-log4j2}}
| repo = {{url|https://github.com/apache/logging-log4j2}}
| programming language = [[Java (programming language)|Java]]
| programming language = [[जावा (प्रोग्रामिंग भाषा)|जावा]]
| genre = [[computer data logging|Logging]]
| genre = [[कंप्यूटर डेटा लॉगिंग|लॉगिंग]]
| license = [[Apache License 2.0]]
| license = [[अपाचे लाइसेंस 2.0]]
| website = {{url|https://logging.apache.org/log4j/2.x/}}
| website = {{url|https://logging.apache.org/log4j/2.x/}}
}}
}}


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


Gülcü ने तब से [[SLF4J]], Reload4j, बनाया है।<ref>{{cite web|url=http://reload4j.qos.ch/ |title=Reload4j Home |publisher=reload4j.qos.ch |access-date=2022-01-12}}</ref> और लॉगबैक<ref>{{cite web|url=http://logback.qos.ch/ |title=लॉगबैक होम|publisher=Logback.qos.ch |access-date=2014-07-24}}</ref>{{Better source needed|reason=A secondary source should be found to make a connection between Gulcu and Reload4j and Logback.|date=August 2022}} जो लॉग4जे के विकल्प हैं।<ref>{{Cite web |last=Grigg |first=Kadi |title=Wicked Good Development - Cybersecurity Experts Talk Log4J, Open Source and More |url=https://blog.sonatype.com/wicked-good-development-episode-1 |access-date=2022-08-16 |website=blog.sonatype.com |language=en-us}}</ref>
'''गुल्कु''' ने तब से [[SLF4J|एसएलएफ 4 जे]], रीलोड4जे, बनाया है।<ref>{{cite web|url=http://reload4j.qos.ch/ |title=Reload4j Home |publisher=reload4j.qos.ch |access-date=2022-01-12}}</ref> और लॉगबैक<ref>{{cite web|url=http://logback.qos.ch/ |title=लॉगबैक होम|publisher=Logback.qos.ch |access-date=2014-07-24}}</ref> जो लॉग4जे के विकल्प हैं।<ref>{{Cite web |last=Grigg |first=Kadi |title=Wicked Good Development - Cybersecurity Experts Talk Log4J, Open Source and More |url=https://blog.sonatype.com/wicked-good-development-episode-1 |access-date=2022-08-16 |website=blog.sonatype.com |language=en-us}}</ref>अपाचे लॉग4जे टीम ने लॉग4जे 2 विकसित किया<ref>{{cite web|date=2014-07-12|title=Log4j 2 Guide - Apache Log4j 2|url=http://logging.apache.org/log4j/2.x/|access-date=2014-07-24|publisher=Logging.apache.org}}</ref> लॉग4जे 1.2, 1.3 की समस्याओं के उत्तर में, <code>java.util.logging</code> और लॉगबैक, उन मुद्दों को संबोधित करते हुए जो उन रूपरेखाओं में प्रकट हुए।<ref>{{Cite web |title=Why was Log4j 2 created? |last=Goers |first=Ralph |website=Ralph Goers |date=15 December 2019 |url= https://www.ralphgoers.com/post/why-was-log4j-2-created}}</ref> इसके अतिरिक्त, लॉग4जे 2 ने प्लग-इन स्थापत्य प्रस्तुत किया जो इसे अपने पूर्ववर्ती की तुलना में अधिक विस्तार योग्य बनाता है। लॉग4जे 2 1.x संस्करणों के साथ पीछे संगत नहीं है,<ref>{{cite web|url=http://logging.apache.org/log4j/2.x/index.html#News |title=Log4j 2 Guide - Apache Log4j 2: News |publisher=Logging.apache.org |date=2014-07-12 |access-date=2014-07-24}}</ref> चूंकि अनुकूलक उपलब्ध है। 5 अगस्त 2015 को, अपाचे लॉगिंग सेवाएं परियोजना प्रबंधन समिति ने घोषणा की। कि लॉग 4 जे 1 जीवन के अंत तक पहुंच गया था और लॉग 4 जे 1 के उपयोगकर्ताओं को अपाचे लॉग 4 जे 2 में अपग्रेड करने की सलाह दी गई थी।<ref>{{cite web|url=https://blogs.apache.org/foundation/entry/apache_logging_services_project_announces |title=Apache Logging Services Project Announces Log4j 1 End-Of-Life; Recommends Upgrade to Log4j 2 |publisher=blogs.apache.org |date=2015-08-05 |access-date=2016-07-03}}</ref> 12 जनवरी, 2022 को, सेकी गुल्कु द्वारा रीलोड4जे संस्करण 1.2.18.0 के रूप में कांटा और नया नाम दिया गया लॉग4जे संस्करण 1.2 जारी किया गया था, जिसका उद्देश्य लॉग4जे 1.2.17 में सबसे आवश्यक मुद्दों को ठीक करना था जो 2013 में इसकी प्रकाशन के बाद से जमा हो गए थे।<ref>{{cite web|url=https://reload4j.qos.ch |title=Reload4j Project; Easy migration from log4j 1.2.x |publisher=qos.ch |date=2022-01-12 |access-date=2022-01-12}}</ref> 9 दिसंबर, 2021 को, [[शून्य-दिन (कंप्यूटिंग)]] | शून्य-दिन की भेद्यता जिसमें लॉग4जे 2 में [[मनमाना कोड निष्पादन|विवेकाधीन कोड निष्पादन]] सम्मलित है, इसको [[अलीबाबा क्लाउड]] सुरक्षा दल द्वारा प्रकाशित किया गया था और विवरणक [[Log4Shell|लॉग4शेल]] दिया गया था।<ref name="lawfare"/>इसे टेनेबल द्वारा "पिछले दशक की सबसे बड़ी, सबसे महत्वपूर्ण भेद्यता" के रूप में चित्रित किया गया है।<ref name="guardian"/>
Apache लॉग4जे टीम ने लॉग4जे 2 विकसित किया<ref>{{cite web|date=2014-07-12|title=Log4j 2 Guide - Apache Log4j 2|url=http://logging.apache.org/log4j/2.x/|access-date=2014-07-24|publisher=Logging.apache.org}}</ref> लॉग4जे 1.2, 1.3 की समस्याओं के जवाब में, <code>java.util.logging</code> और लॉगबैक, उन मुद्दों को संबोधित करते हुए जो उन रूपरेखाओं में प्रकट हुए।<ref>{{Cite web |title=Why was Log4j 2 created? |last=Goers |first=Ralph |website=Ralph Goers |date=15 December 2019 |url= https://www.ralphgoers.com/post/why-was-log4j-2-created}}</ref> इसके अलावा, लॉग4जे 2 ने प्लगइन आर्किटेक्चर पेश किया जो इसे अपने पूर्ववर्ती की तुलना में अधिक विस्तार योग्य बनाता है। लॉग4जे 2 1.x संस्करणों के साथ पीछे संगत नहीं है,<ref>{{cite web|url=http://logging.apache.org/log4j/2.x/index.html#News |title=Log4j 2 Guide - Apache Log4j 2: News |publisher=Logging.apache.org |date=2014-07-12 |access-date=2014-07-24}}</ref> हालांकि एडेप्टर उपलब्ध है। 5 अगस्त 2015 को, अपाचे लॉगिंग सर्विसेज प्रोजेक्ट मैनेजमेंट कमेटी ने घोषणा की कि लॉग 4 जे 1 जीवन के अंत तक पहुंच गया था और लॉग 4 जे 1 के उपयोगकर्ताओं को अपाचे लॉग 4 जे 2 में अपग्रेड करने की सलाह दी गई थी।<ref>{{cite web|url=https://blogs.apache.org/foundation/entry/apache_logging_services_project_announces |title=Apache Logging Services Project Announces Log4j 1 End-Of-Life; Recommends Upgrade to Log4j 2 |publisher=blogs.apache.org |date=2015-08-05 |access-date=2016-07-03}}</ref> 12 जनवरी, 2022 को, सेकी गुल्कु द्वारा Reload4j संस्करण 1.2.18.0 के रूप में कांटा और नया नाम दिया गया लॉग4जे संस्करण 1.2 जारी किया गया था, जिसका उद्देश्य लॉग4जे 1.2.17 में सबसे जरूरी मुद्दों को ठीक करना था जो 2013 में इसकी रिलीज के बाद से जमा हो गए थे।<ref>{{cite web|url=https://reload4j.qos.ch |title=Reload4j Project; Easy migration from log4j 1.2.x |publisher=qos.ch |date=2022-01-12 |access-date=2022-01-12}}</ref>
9 दिसंबर, 2021 को, [[शून्य-दिन (कंप्यूटिंग)]] | शून्य-दिन की भेद्यता जिसमें लॉग4जे 2 में [[मनमाना कोड निष्पादन]] शामिल है, को [[अलीबाबा क्लाउड]] सिक्योरिटी टीम द्वारा प्रकाशित किया गया था और विवरणक [[Log4Shell]] दिया गया था।<ref name="lawfare"/>इसे Tenable, Inc. द्वारा पिछले दशक की सबसे बड़ी, सबसे महत्वपूर्ण भेद्यता के रूप में चित्रित किया गया है।<ref name="guardian"/>
== अपाचे लॉग 4 जे 2 ==
== अपाचे लॉग 4 जे 2 ==
Apache लॉग4जे 2, लॉग4जे 1 का उत्तराधिकारी है जिसे जुलाई 2014 में सॉफ़्टवेयर रिलीज़ जीवन चक्र #सामान्य उपलब्धता .28GA.29 के रूप में जारी किया गया था। फ्रेमवर्क को स्क्रैच से फिर से लिखा गया था और यह मौजूदा लॉगिंग समाधानों से प्रेरित है, जिसमें लॉग4जे 1 और java.util शामिल हैं। .लॉगिंग। मुख्य अंतर<ref>{{cite web|url=http://www.grobmeier.de/the-new-log4j-2-0-05122012.html |title=The new log4j 2.0 |publisher=Grobmeier.de |date=2012-12-05 |access-date=2014-07-24}}</ref><ref>{{cite web|url=http://logging.apache.org/log4j/2.x/manual/index.html |title=Log4j – Overview - Apache Log4j 2 |publisher=logging.apache.org |date=2016-06-05 |access-date=2016-07-03}}</ref> लॉग4जे 1 से हैं:
अपाचे लॉग4जे 2, लॉग4जे 1 का उत्तराधिकारी है जिसे जुलाई 2014 में सॉफ़्टवेयर प्रदर्शन जीवन चक्र सामान्य उपलब्धता .28GA.29 के रूप में जारी किया गया था। फ्रेमवर्क को स्क्रैच से फिर से लिखा गया था और यह उपस्थित लॉगिंग समाधानों से प्रेरित है, जिसमें लॉग4जे 1 और java.util.logging. सम्मलित हैं। मुख्य अंतर<ref>{{cite web|url=http://www.grobmeier.de/the-new-log4j-2-0-05122012.html |title=The new log4j 2.0 |publisher=Grobmeier.de |date=2012-12-05 |access-date=2014-07-24}}</ref><ref>{{cite web|url=http://logging.apache.org/log4j/2.x/manual/index.html |title=Log4j – Overview - Apache Log4j 2 |publisher=logging.apache.org |date=2016-06-05 |access-date=2016-07-03}}</ref> लॉग4जे 1 से हैं:
* बेहतर विश्वसनीयता। लॉग4जे 1 या Logback जैसे ढांचे को पुन: कॉन्फ़िगर करते समय संदेश गुम नहीं होते हैं
* उन्नत विश्वसनीयता। लॉग4जे 1 या लॉगबैक जैसे ढांचे को पुन: कॉन्फ़िगर करते समय संदेश लुप्त नहीं होते हैं
* एक्स्टेंसिबिलिटी: उपयोगकर्ताओं को कस्टम घटकों को परिभाषित और कॉन्फ़िगर करने देने के लिए लॉग4जे 2 प्लगइन सिस्टम का समर्थन करता है
* विस्तारणीयता: उपयोगकर्ताओं को प्रचलन घटकों को परिभाषित और कॉन्फ़िगर करने देने के लिए लॉग4जे 2 प्लग-इन प्रणाली का समर्थन करता है
* सरलीकृत कॉन्फ़िगरेशन सिंटैक्स
* सरलीकृत विन्यास सिंटैक्स
* एक्सएमएल, जेसन, [[यमल]] और गुण विन्यास के लिए समर्थन
* एक्सएमएल, जेसन, [[यमल]] और गुण विन्यास के लिए समर्थन
* बेहतर फिल्टर
* श्रेष्ठतर फिल्टर
* कॉन्फ़िगरेशन फ़ाइल, सिस्टम गुण, पर्यावरण चर, थ्रेडकॉन्टेक्स्ट मानचित्र और घटना में मौजूद डेटा में परिभाषित मूल्यों के लिए संपत्ति लुकअप समर्थन
* विन्यास फ़ाइल, प्रणाली गुण, पर्यावरण चर, थ्रेड प्रसंग मानचित्र और घटना में उपस्तिथ डेटा में परिभाषित मूल्यों के लिए संपत्ति लुकअप समर्थन
* एकाधिक एपीआई के लिए समर्थन: लॉग4जे 2 का उपयोग लॉग4जे 2, लॉग4जे 1.2, एसएलएफ4जे, कॉमन्स लॉगिंग और जावा.यूटिल.लॉगिंग (जेयूएल) एपीआई का उपयोग करने वाले अनुप्रयोगों के साथ किया जा सकता है।
* एकाधिक एपीआई के लिए समर्थन: लॉग4जे 2 का उपयोग लॉग4जे 2, लॉग4जे 1.2, एसएलएफ4जे, कॉमन्स लॉगिंग और जावा.यूटिल.लॉगिंग (जेयूएल) एपीआई का उपयोग करने वाले अनुप्रयोगों के साथ किया जा सकता है।
* कस्टम लॉग स्तर
* प्रचलन लॉग स्तर
* आलसी लॉगिंग के लिए जावा 8-शैली लैम्ब्डा समर्थन
* आलसी लॉगिंग के लिए जावा 8-शैली लैम्ब्डा समर्थन
* मार्कर
* मार्कर
* उपयोगकर्ता परिभाषित संदेश वस्तुओं के लिए समर्थन
* उपयोगकर्ता परिभाषित संदेश वस्तुओं के लिए समर्थन
* सामान्य विन्यास में कचरा मुक्त या कम कचरा
* सामान्य विन्यास में कचरा मुक्त या कम कचरा
* बेहतर गति
* श्रेष्ठतर गति
* लिनक्स के लिए बेहतर समर्थन
* लिनक्स के लिए श्रेष्ठतर समर्थन


लॉग4जे 2 की सबसे अधिक पहचानी जाने वाली विशेषताओं में से एसिंक्रोनस लॉगर्स का प्रदर्शन है।<ref>{{cite web|url=http://logging.apache.org/log4j/2.x/manual/async.html#Performance |title=Log4j 2 Asynchronous Loggers for Low-Latency Logging - Apache Log4j 2 |publisher=Logging.apache.org |date=2014-07-12 |access-date=2014-07-24}}</ref> लॉग4जे 2 [[ विघ्नकर्ता (सॉफ्टवेयर) |विघ्नकर्ता (सॉफ्टवेयर)]] का उपयोग करता है।<ref>{{cite web|url=https://lmax-exchange.github.io/disruptor/ |title=एलएमएक्स-एक्सचेंज द्वारा विघटनकर्ता|publisher=Lmax-exchange.github.io |access-date=2014-07-24}}</ref> पुस्तकालय कर्नेल लॉकिंग की आवश्यकता को कम करता है और लॉगिंग प्रदर्शन को 12 गुना बढ़ा देता है। उदाहरण के लिए, उसी वातावरण में लॉग4जे 2 प्रति सेकंड 18,000,000 से अधिक संदेश लिख सकता है, जबकि अन्य फ्रेमवर्क जैसे Logback और लॉग4जे 1 केवल <2,000,000 संदेश लिखते हैं प्रति सेकंड।
लॉग4जे 2 की सबसे अधिक पहचानी जाने वाली विशेषताओं में से अतुल्यकालिक लॉगर्स का प्रदर्शन है।<ref>{{cite web|url=http://logging.apache.org/log4j/2.x/manual/async.html#Performance |title=Log4j 2 Asynchronous Loggers for Low-Latency Logging - Apache Log4j 2 |publisher=Logging.apache.org |date=2014-07-12 |access-date=2014-07-24}}</ref> लॉग4जे 2 [[ विघ्नकर्ता (सॉफ्टवेयर) |विघ्नकर्ता (सॉफ्टवेयर)]] का उपयोग करता है।<ref>{{cite web|url=https://lmax-exchange.github.io/disruptor/ |title=एलएमएक्स-एक्सचेंज द्वारा विघटनकर्ता|publisher=Lmax-exchange.github.io |access-date=2014-07-24}}</ref> पुस्तकालय कर्नेल लॉकिंग की आवश्यकता को कम करता है और लॉगिंग प्रदर्शन को 12 गुना बढ़ा देता है। उदाहरण के लिए, उसी वातावरण में लॉग4जे 2 प्रति सेकंड 18,000,000 से अधिक संदेश लिख सकता है, जबकि अन्य फ्रेमवर्क जैसे लॉगबैक और लॉग4जे 1 केवल प्रति सेकंड <2,000,000 संदेश लिखते हैं


== सुविधाएँ ==
== सुविधाएँ ==


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


{| class="wikitable"
{| class="wikitable"
|-
|-
! scope="col" | Level
! scope="col" | स्तर
! scope="col" | Description
! scope="col" | विवरण
|-
|-
! scope="row" | OFF
! scope="row" | बंद
| The highest possible rank and is intended to turn off logging.
| उच्चतम संभव रैंक और लॉगिंग को बंद करने का उद्देश्य है।
|-
|-
! scope="row" | FATAL
! scope="row" | घातक
| Severe errors that cause premature termination. Expect these to be immediately visible on a status console.
| गंभीर त्रुटियां जो समय से पहले समाप्ति का कारण बनती हैं। अपेक्षा करें कि ये आश्वासना स्थिति पर तत्काल दिखाई दें
|-
|-
! scope="row" | ERROR
! scope="row" | एरर
| Other runtime errors or unexpected conditions. Expect these to be immediately visible on a status console.
| अन्य रनसमय त्रुटियाँ या अनपेक्षित स्थितियाँ। अपेक्षा करें कि ये आश्वासना स्थिति पर तत्काल दिखाई दें।
|-
|-
! scope="row" | WARN
! scope="row" | चेतावनी
| Use of deprecated APIs, poor use of API, 'almost' errors, other runtime situations that are undesirable or unexpected, but not necessarily "wrong". Expect these to be immediately visible on a status console.
| पदावनत एपीआई का उपयोग, एपीआई का खराब उपयोग, 'लगभग' त्रुटियां, अन्य रनसमय स्थितियां जो अवांछनीय या अप्रत्याशित हैं, किन्तु आवश्यक नहीं कि "गलत" हों। अपेक्षा करें कि ये आश्वासना स्थिति पर तत्काल दिखाई दें।
|-
|-
! scope="row" | INFO
! scope="row" | जानकारी
| Interesting runtime events (startup/shutdown). Expect these to be immediately visible on a console, so be conservative and keep to a minimum.
| रोचक रनसमय घटना (स्टार्टअप/शटडाउन)। अपेक्षा करें कि ये तत्काल एक कंसोल पर दिखाई देंगे, इसलिए रूढ़िवादी रहें और न्यूनतम रखें।
|-
|-
! scope="row" | DEBUG
! scope="row" | डीबग
| Detailed information on the flow through the system. Expect these to be written to logs only. Generally speaking, most lines logged by your application should be written as DEBUG.
| प्रणाली के माध्यम से प्रवाह पर विस्तृत जानकारी। आशा है कि इन्हें केवल लॉग में लिखा जाएगा। सामान्यतया, आपके एप्लिकेशन द्वारा लॉग की गई अधिकांश पंक्तियों को डीबग के रूप में लिखा जाना चाहिए।
|-
|-
! scope="row" | TRACE
! scope="row" | पता लगाना
| Most detailed information. Expect these to be written to logs only. Since version 1.2.12.<ref>{{cite web|url=http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html#TRACE |title=Level (Apache Log4j 1.2.17 API) |publisher=Logging.apache.org |date=2012-06-09 |access-date=2014-07-24}}</ref>
| सबसे विस्तृत जानकारी। आशा है कि इन्हें केवल लॉग में लिखा जाएगा। संस्करण 1.2.12 के बाद से।<ref>{{cite web|url=http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html#TRACE |title=Level (Apache Log4j 1.2.17 API) |publisher=Logging.apache.org |date=2012-06-09 |access-date=2014-07-24}}</ref>
|}
|}




==== कस्टम लॉग स्तर ====
==== प्रचलन लॉग स्तर ====
लॉग4जे 2 उपयोगकर्ताओं को अपने स्वयं के लॉग स्तरों को परिभाषित करने की अनुमति देता है।<ref>{{cite web|url=https://logging.apache.org/log4j/2.x/manual/customloglevels.html |title=कस्टम लॉग स्तर|publisher=Logging.apache.org |date=2014-07-12 |access-date=2016-07-16}}</ref> लॉगर्स बनाने के लिए स्रोत कोड जनरेटर उपकरण प्रदान किया जाता है जो कस्टम लॉग स्तरों को अंतर्निहित लॉग स्तरों के समान समर्थन करता है। कस्टम लॉग स्तर या तो अंतर्निर्मित लॉग स्तरों को पूरक या प्रतिस्थापित कर सकते हैं।
लॉग4जे 2 उपयोगकर्ताओं को अपने स्वयं के लॉग स्तरों को परिभाषित करने की अनुमति देता है।<ref>{{cite web|url=https://logging.apache.org/log4j/2.x/manual/customloglevels.html |title=कस्टम लॉग स्तर|publisher=Logging.apache.org |date=2014-07-12 |access-date=2016-07-16}}</ref> लॉगर्स बनाने के लिए स्रोत कोड जनरेटर उपकरण प्रदान किया जाता है जो प्रचलन लॉग स्तरों को अंतर्निहित लॉग स्तरों के समान समर्थन करता है। प्रचलन लॉग स्तर या तो अंतर्निर्मित लॉग स्तरों को पूरक या प्रतिस्थापित कर सकते हैं।


=== लॉग4जे कॉन्फ़िगरेशन ===
=== लॉग4जे विन्यास ===
लॉग4जे को कॉन्फ़िगर किया जा सकता है<ref>{{cite web|url=https://logging.apache.org/log4j/2.x/manual/configuration.html |title=विन्यास|publisher=Logging.apache.org |date=2016-07-05 |access-date=2016-07-16}}</ref> कॉन्फ़िगरेशन फ़ाइल या जावा कोड के माध्यम से। कॉन्फ़िगरेशन फ़ाइलें [[XML]], [[JSON]], [[YAML]], या .properties प्रारूप में लिखी जा सकती हैं। कॉन्फ़िगरेशन के भीतर, आप तीन मुख्य घटकों को परिभाषित कर सकते हैं: लकड़हारे, परिशिष्ट और लेआउट। फ़ाइल के माध्यम से लॉगिंग को कॉन्फ़िगर करने का लाभ यह है कि लॉग 4j का उपयोग करने वाले एप्लिकेशन को संशोधित किए बिना लॉगिंग को चालू या बंद किया जा सकता है। उदाहरण के लिए, जब तक कोई समस्या न हो, एप्लिकेशन को लॉगिंग ऑफ के साथ चलाने की अनुमति दी जा सकती है, और फिर कॉन्फ़िगरेशन फ़ाइल को संशोधित करके लॉगिंग को वापस चालू किया जा सकता है।
लॉग4जे को कॉन्फ़िगर किया जा सकता है<ref>{{cite web|url=https://logging.apache.org/log4j/2.x/manual/configuration.html |title=विन्यास|publisher=Logging.apache.org |date=2016-07-05 |access-date=2016-07-16}}</ref> विन्यास फ़ाइल या जावा कोड के माध्यम से विन्यास प्रारूप [[एक्सएमएल, जेएसओएन, वाईएएमएल]], या गुण प्रारूप में लिखी जा सकती हैं। विन्यास के भीतर, आप तीन मुख्य घटकों को परिभाषित कर सकते हैं। लॉगर , परिशिष्ट और लेआउट। फ़ाइल के माध्यम से लॉगिंग को कॉन्फ़िगर करने का लाभ यह है कि लॉग 4j का उपयोग करने वाले एप्लिकेशन को संशोधित किए बिना लॉगिंग को चालू या बंद किया जा सकता है। उदाहरण के लिए, जब तक कोई समस्या न हो, एप्लिकेशन को लॉगिंग ऑफ के साथ चलाने की अनुमति दी जा सकती है और फिर विन्यास फ़ाइल को संशोधित करके लॉगिंग को वापस चालू किया जा सकता है।


वालों<ref>{{cite web|url=https://logging.apache.org/log4j/2.x/manual/architecture.html |title=वास्तुकला|publisher=Logging.apache.org |date=2016-07-05 |access-date=2016-07-16}}</ref> लॉग संदेश गंतव्य नामित हैं। वे नाम हैं जो जावा एप्लिकेशन के लिए जाने जाते हैं। प्रत्येक लकड़हारा स्वतंत्र रूप से कॉन्फ़िगर करने योग्य है कि वह वर्तमान में लॉगिंग के किस स्तर (FATAL, ERROR, आदि) पर लॉग करता है। लॉग4जे के शुरुआती संस्करणों में, इन्हें श्रेणी और प्राथमिकता कहा जाता था, लेकिन अब इन्हें क्रमशः लकड़हारा और स्तर कहा जाता है। लकड़हारा कई परिशिष्टों को लॉग संदेश भेज सकता है।
लॉगर <ref>{{cite web|url=https://logging.apache.org/log4j/2.x/manual/architecture.html |title=वास्तुकला|publisher=Logging.apache.org |date=2016-07-05 |access-date=2016-07-16}}</ref> को लॉग संदेश गंतव्यों का नाम दिया गया है। वे नाम हैं जो जावा एप्लिकेशन के लिए जाने जाते हैं। प्रत्येक लॉगर स्वतंत्र रूप से कॉन्फ़िगर करने योग्य है कि वह वर्तमान में लॉगिंग के किस स्तर (घातक, त्रुटि, आदि) पर लॉग करता है। लॉग4जे के प्रारंभिक संस्करणों में, इन्हें श्रेणी और प्राथमिकता कहा जाता था, किन्तु अब इन्हें क्रमशः लॉगर और स्तर कहा जाता है। लॉगर कई परिशिष्टों को लॉग संदेश भेज सकता है।


वास्तविक आउटपुट परिशिष्ट द्वारा किया जाता है।<ref>{{cite web|url=https://logging.apache.org/log4j/2.x/manual/appenders.html |title=परिशिष्ट|publisher=Logging.apache.org |date=2016-07-05 |access-date=2016-07-16}}</ref> वर्णनात्मक नामों के साथ कई परिशिष्ट उपलब्ध हैं, जैसे FileAppender, RollingFileAppender, ConsoleAppender, सॉकेटएपेंडर, SyslogAppender, और SMTPAppender। लॉग4जे 2 ने उन परिशिष्टों को जोड़ा जो [[Apache Flume]], [[Java Persistence API]], [[Apache Kafka]], [[NoSQL]] डेटाबेस, [[मेमोरी-मैप की गई फ़ाइल]]ों, रैंडम एक्सेस फ़ाइलों को लिखते हैं<ref>{{cite web|url=https://docs.oracle.com/javase/7/docs/api/java/io/रैंडम एक्सेसफाइल.html |title=रैंडम एक्सेसफाइल|publisher=docs.oracle.com |date=2011-07-28 |access-date=2016-07-16}}</ref> और [[ज़ीरोएमक्यू]] एंडपॉइंट्स। एकाधिक परिशिष्ट किसी भी लकड़हारे से जुड़े हो सकते हैं, इसलिए ही जानकारी को कई आउटपुट में लॉग करना संभव है; उदाहरण के लिए स्थानीय रूप से फ़ाइल और दूसरे कंप्यूटर पर [[इंटरनेट सॉकेट]] श्रोता के लिए।
वास्तविक आउटपुट परिशिष्ट द्वारा किया जाता है।<ref>{{cite web|url=https://logging.apache.org/log4j/2.x/manual/appenders.html |title=परिशिष्ट|publisher=Logging.apache.org |date=2016-07-05 |access-date=2016-07-16}}</ref> वर्णनात्मक नामों के साथ कई परिशिष्ट उपलब्ध हैं, जैसे फाइलएपेंडर, रोलिंगफाइलएपेंडर, कंसोलएपेंडर, डिटेंडर, सिसलॉग एपेंडर, और एसएमटीपीए पेपेंडर। लॉग4जे 2 ने उन परिशिष्टों को जोड़ा जो [[Apache Flume|अपाचे फ्लूम]], [[Java Persistence API|जावा दृढ़ता एपीआई]], [[Apache Kafka|अपाचे काफ्का]], [[नोएसक्यूएल]] डेटाबेस, [[मेमोरी-मैप की गई फ़ाइल]], रैंडम एक्सेस फ़ाइलों को लिखते हैं<ref>{{cite web|url=https://docs.oracle.com/javase/7/docs/api/java/io/रैंडम एक्सेसफाइल.html |title=रैंडम एक्सेसफाइल|publisher=docs.oracle.com |date=2011-07-28 |access-date=2016-07-16}}</ref> और [[ज़ीरोएमक्यू]] एंडपॉइंट्स। एकाधिक परिशिष्ट किसी भी लॉगर से जुड़े हो सकते हैं, इसलिए ही जानकारी को कई आउटपुट में लॉग करना संभव है; उदाहरण के लिए स्थानीय रूप से फ़ाइल और दूसरे कंप्यूटर पर [[इंटरनेट सॉकेट]] श्रोता के लिए।


परिशिष्ट लेआउट का उपयोग करते हैं<ref>{{cite web|url=https://logging.apache.org/log4j/2.x/manual/layouts.html |title=लेआउट|publisher=Logging.apache.org |date=2016-07-05 |access-date=2016-07-16}}</ref> लॉग प्रविष्टियों को प्रारूपित करने के लिए। एक-पंक्ति-पर-एक-समय लॉग फ़ाइलों को प्रारूपित करने का लोकप्रिय तरीका पैटर्न लेआउट है, जो पैटर्न स्ट्रिंग का उपयोग करता है, जैसे [[सी (प्रोग्रामिंग भाषा)]] / [[सी ++]] फ़ंक्शन [[ printf |printf]] । जब [[HTML]] या XML प्रारूप क्रमशः अधिक सुविधाजनक होते हैं, तो उपयोग के लिए HTMLLayout और XMLLayout स्वरूपक भी होते हैं। लॉग4जे 2 ने कोमा से अलग किए गए मानों के लिए लेआउट जोड़े, ग्रेलॉग एक्सटेंडेड लॉग फॉर्मेट (GELF),<ref>{{cite web |url=http://docs.graylog.org/en/2.0/pages/gelf.html |title=कला|publisher=docs.graylog.org |date=2016-06-08 |access-date=2016-07-16 |archive-date=February 9, 2020 |archive-url=https://web.archive.org/web/20200209132812/http://docs.graylog.org/en/2.0/pages/gelf.html |url-status=dead }}</ref> JSON, YAML और RFC-5424।<ref>{{cite journal|url=https://tools.ietf.org/html/rfc5424 |title=RFC 5424 - The Syslog Protocol|publisher=tools.ietf.org |date=2009-03-01 |doi=10.17487/RFC5424 |access-date=2016-07-16|last1=Gerhards |first1=R. }}</ref>
परिशिष्ट लेआउट का उपयोग करते हैं<ref>{{cite web|url=https://logging.apache.org/log4j/2.x/manual/layouts.html |title=लेआउट|publisher=Logging.apache.org |date=2016-07-05 |access-date=2016-07-16}}</ref> लॉग प्रविष्टियों को प्रारूपित करने के लिए। एक-पंक्ति-पर-एक-समय लॉग फ़ाइलों को प्रारूपित करने का लोकप्रिय विधि विन्यास स्वरूप है, जो स्वरूप स्ट्रिंग का उपयोग करता है, जैसे [[सी (प्रोग्रामिंग भाषा)]] / [[सी ++]] फ़ंक्शन [[ printf |printf]] । जब [[HTML]] या XML प्रारूप क्रमशः अधिक सुविधाजनक होते हैं, तो उपयोग के लिए '''एचटीएमएल लेआउट''' और '''एक्सएमएल लेआउट''' स्वरूपक भी होते हैं। लॉग4जे 2 ने कोमा से अलग किए गए मानों के लिए लेआउट जोड़े, ग्रेलॉग विस्तारित लॉग फॉर्मेट (GELF),<ref>{{cite web |url=http://docs.graylog.org/en/2.0/pages/gelf.html |title=कला|publisher=docs.graylog.org |date=2016-06-08 |access-date=2016-07-16 |archive-date=February 9, 2020 |archive-url=https://web.archive.org/web/20200209132812/http://docs.graylog.org/en/2.0/pages/gelf.html |url-status=dead }}</ref> JSON, YAML और RFC-5424।<ref>{{cite journal|url=https://tools.ietf.org/html/rfc5424 |title=RFC 5424 - The Syslog Protocol|publisher=tools.ietf.org |date=2009-03-01 |doi=10.17487/RFC5424 |access-date=2016-07-16|last1=Gerhards |first1=R. }}</ref>लॉग4जे 2 में, फ़िल्टर<ref>{{cite web|url=https://logging.apache.org/log4j/2.x/manual/filters.html |title=फिल्टर|publisher=Logging.apache.org |date=2016-07-05 |access-date=2016-07-16}}</ref> अधिक सुक्ष्म नियंत्रण देने के लिए विन्यास तत्वों पर परिभाषित किया जा सकता है कि कौन से लॉग प्रविष्टियों को संसाधित किया जाना चाहिए जिनके द्वारा लॉगर और परिशिष्ट। संदेश स्ट्रिंग पर लॉग स्तर और नियमित अभिव्यक्ति मिलान द्वारा फ़िल्टर करने के अतिरिक्त, लॉग4जे 2 ने बर्स्ट फ़िल्टर, समय फ़िल्टर, अन्य लॉग इवेंट विशेषताओं जैसे मार्कर या थ्रेड संदर्भ नक्शा और [[JSR 223]] को स्क्रिप्ट फ़िल्टर द्वारा फ़िल्टर किया।
लॉग4जे 2 में, फ़िल्टर<ref>{{cite web|url=https://logging.apache.org/log4j/2.x/manual/filters.html |title=फिल्टर|publisher=Logging.apache.org |date=2016-07-05 |access-date=2016-07-16}}</ref> अधिक सुक्ष्म नियंत्रण देने के लिए कॉन्फ़िगरेशन तत्वों पर परिभाषित किया जा सकता है कि कौन से लॉग प्रविष्टियों को संसाधित किया जाना चाहिए जिनके द्वारा लॉगर और परिशिष्ट। संदेश स्ट्रिंग पर लॉग लेवल और रेगुलर एक्सप्रेशन मैचिंग द्वारा फ़िल्टर करने के अलावा, लॉग4जे 2 ने बर्स्ट फ़िल्टर, टाइम फ़िल्टर, अन्य लॉग इवेंट विशेषताओं जैसे मार्कर या थ्रेड कॉन्टेक्स्ट मैप और [[JSR 223]] स्क्रिप्ट फ़िल्टर द्वारा फ़िल्टर किया।


दुर्व्यवहार करने वाले कॉन्फ़िगरेशन को डीबग करने के लिए:
दुर्व्यवहार करने वाले विन्यास को डीबग करने के लिए:
* लॉग4जे 2 कॉन्फ़िगरेशन में सेट करें <code>status</code> मानक स्ट्रीम में आंतरिक स्थिति लॉगिंग आउटपुट भेजने के लिए TRACE को विशेषता। कॉन्फ़िगरेशन मिलने से पहले स्थिति लॉगिंग सक्षम करने के लिए, Java VM गुण का उपयोग करें <code>-Dorg.apache.logging.लॉग4जे .simplelog.StatusLogger.level=trace</code>.
* लॉग4जे 2 विन्यास में सेट करें <code>status</code> मानक स्ट्रीम में आंतरिक स्थिति लॉगिंग आउटपुट भेजने के लिए चिह्न को विशेषता। विन्यास मिलने से पहले स्थिति लॉगिंग सक्षम करने के लिए, जावा VM गुण का उपयोग करें <code>-Dorg.apache.logging.log4j.simplelog.StatusLogger.level=trace</code>.
* लॉग4जे 1 में, Java VM गुण का उपयोग करें <code>-Dलॉग4जे .debug</code>.
* लॉग4जे 1 में, जावा VM गुण का उपयोग करें <code>-Dlog4j .debug</code>.
यह पता लगाने के लिए कि लॉग4जे 2.xml कॉन्फ़िगरेशन फ़ाइल को निरीक्षण से कहाँ लोड किया गया था <code>getClass().getResource("/लॉग4जे 2.xml")</code>.
यह पता लगाने के लिए कि लॉग4जे 2.xml विन्यास फ़ाइल को निरीक्षण से जहाँ लोड किया गया था <code>getClass().getResource("/log4j 2.xml")</code>.


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


==== लॉग4जे 2==== के लिए उदाहरण
'''लॉग4जे 2 के लिए उदाहरण'''<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="trace" monitorInterval="60">
<Configuration status="trace" monitorInterval="60">
Line 150: Line 145:
</syntaxhighlight>
</syntaxhighlight>


 
'''लॉग4जे 1.2 के लिए उदाहरण'''
==== लॉग4जे 1.2 ==== के लिए उदाहरण
<syntaxhighlight lang="xml">
<syntaxhighlight lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
Line 203: Line 197:
=== टीटीसीसी ===
=== टीटीसीसी ===


TTCC संदेश प्रारूप है जिसका उपयोग लॉग4जे द्वारा किया जाता है।<ref>{{cite web|url=http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/TTCCLayout.html |title=TTCCLayout (Apache Log4j 1.2.17 API) |publisher=Logging.apache.org |date=2012-06-09 |access-date=2014-07-24}}</ref> TTCC टाइम थ्रेड कैटेगरी कंपोनेंट के लिए संक्षिप्त शब्द है। यह निम्न पैटर्न का उपयोग करता है:
TTCC संदेश प्रारूप है जिसका उपयोग लॉग4जे द्वारा किया जाता है।<ref>{{cite web|url=http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/TTCCLayout.html |title=TTCCLayout (Apache Log4j 1.2.17 API) |publisher=Logging.apache.org |date=2012-06-09 |access-date=2014-07-24}}</ref> TTCC समय धागा श्रेणी घटक के लिए संक्षिप्त शब्द है। यह निम्न स्वरूप का उपयोग करता है:


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


कहाँ
जहाँ
{| class="wikitable"
{| class="wikitable"
|-
|-
! scope="col" | Mnemonic
! scope="col" | स्मृति सहायक
! scope="col" | Description
! scope="col" | विवरण
|-
|-
| %r
| %r
| Used to output the number of milliseconds elapsed from the construction of the layout until the creation of the logging event.
| लॉगिंग ईवेंट के निर्माण तक लेआउट के निर्माण से गुजरे मिलीसेकंड की संख्या को आउटपुट करने के लिए उपयोग किया जाता है।
|-
|-
| %t
| %t
| Used to output the name of the thread that generated the logging event.
| लॉगिंग ईवेंट उत्पन्न करने वाले थ्रेड के नाम को आउटपुट करने के लिए उपयोग किया जाता है।
|-
|-
| %p
| %p
| Used to output the priority of the logging event.
| लॉगिंग इवेंट की प्राथमिकता को आउटपुट करने के लिए उपयोग किया जाता है।
|-
|-
| %c
| %c
| Used to output the category of the logging event.
| लॉगिंग इवेंट की श्रेणी को आउटपुट करने के लिए उपयोग किया जाता है।
|-
|-
| %x
| %x
| Used to output the NDC (nested diagnostic context) associated with the thread that generated the logging event.<ref>{{cite web |url=http://people.apache.org/~carnold/log4j/docs/org/apache/log4j/NDC.html |title=Class NDC
| लॉगिंग इवेंट उत्पन्न करने वाले थ्रेड से जुड़े एनडीसी (नेस्टेड नैदानिक संदर्भ) को आउटपुट करने के लिए प्रयुक्त होता है।
|archive-url=https://web.archive.org/web/20070820182511/http://logging.apache.org/log4j/docs/api/org/apache/log4j/NDC.html |archive-date=2007-08-20 |url-status=live|access-date=2021-12-11}}</ref>
|-
|-
| %X{key}
| %X{key}
| Used to output the MDC (mapped diagnostic context) associated with the thread that generated the logging event for specified key.<ref>{{cite web|url=http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/MDC.html |title=MDC (Apache Log4j 1.2.17 API) |publisher=Logging.apache.org |date=2012-06-09 |access-date=2014-07-24}}</ref>
| निर्दिष्ट कुंजी के लिए लॉगिंग ईवेंट उत्पन्न करने वाले थ्रेड से जुड़े MDC (मानचित्र नैदानिक संदर्भ) को आउटपुट करने के लिए उपयोग किया जाता है।<ref>{{cite web|url=http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/MDC.html |title=MDC (Apache Log4j 1.2.17 API) |publisher=Logging.apache.org |date=2012-06-09 |access-date=2014-07-24}}</ref>
|-
|-
| %m
| %m
| Used to output the application supplied message associated with the logging event.
| लॉगिंग इवेंट से जुड़े एप्लिकेशन द्वारा दिए गए संदेश को आउटपुट करने के लिए उपयोग किया जाता है।
|-
|-
| %n
| %n
| Used to output the platform-specific [[newline]] character or characters.
| प्लेटफ़ॉर्म-विशिष्ट [[न्यूलाइन|नई पंक्ति]] वर्ण या वर्णों को आउटपुट करने के लिए उपयोग किया जाता है।
|}
|}
उदाहरण आउटपुट<br />
'''उदाहरण आउटपुट'''<br />467 [मुख्य] ​​जानकारी org.apache.log4j.examples.Sort - मुख्य विधि से बाहर निकलना।
467 [मुख्य] ​​जानकारी org.apache.लॉग4जे .examples.Sort - मुख्य विधि से बाहर निकलना।


== पोर्ट्स ==
== पोर्ट्स ==
*log4c - C के लिए पोर्ट। ''Log4C'' C-आधारित [[कंप्यूटर डेटा लॉगिंग]] लाइब्रेरी है, जिसे [[LGPL]] लाइसेंस के तहत [[SourceForge]] पर जारी किया गया है। विभिन्न [[यूनिक्स]] ऑपरेटिंग सिस्टम के लिए [[ autoconf |autoconf]] और [[ automake |automake]] फ़ाइलें प्रदान की जाती हैं। [[ माइक्रोसॉफ़्ट विंडोज़ |माइक्रोसॉफ़्ट विंडोज़]] पर [[एमएसवीसी]] के साथ उपयोग के लिए [[ मेकफाइल |मेकफाइल]] प्रदान की जाती है। [[सॉफ्टवेयर डेवलपर]] अपनी निर्माण इंजीनियरिंग आवश्यकताओं के आधार पर स्रोत को संकलित करने के लिए अपने स्वयं के मेक सिस्टम का उपयोग करना चुन सकते हैं। ''Log4c'' लाइब्रेरी का उदाहरण तीन तरीकों से कॉन्फ़िगर किया जा सकता है: पर्यावरण चर का उपयोग करके, प्रोग्रामेटिक रूप से, या XML कॉन्फ़िगरेशन फ़ाइल के माध्यम से। log4c में फ़ाइलें, स्ट्रीम और मेमोरी मैप की गई फ़ाइलों के लिए परिशिष्ट हैं। (कोई सॉकेट एडेप्टर नहीं।) अंतिम संस्करण 1.2.4 है, जो 2013 में जारी किया गया था, और परियोजना अब सक्रिय रूप से विकसित नहीं हुई है।<ref>{{cite web|url=http://sourceforge.net/projects/log4c/ |title=Logging Framework for C &#124; Free System Administration software downloads at |publisher=Sourceforge.net |access-date=2014-07-24}}</ref>
*'''log4c''' - C के लिए पोर्ट। ''Log4C'' C-आधारित [[कंप्यूटर डेटा लॉगिंग]] लाइब्रेरी है, जिसे [[LGPL]] अधिकार के अनुसार [[SourceForge|स्रोत फोर्ज]] पर जारी किया गया है। विभिन्न [[यूनिक्स]] ऑपरेटिंग प्रणाली के लिए [[ autoconf |autoconf]] और [[ automake |automake]] प्रारूप प्रदान की जाती हैं। [[ माइक्रोसॉफ़्ट विंडोज़ |माइक्रोसॉफ़्ट विंडोज़]] पर [[एमएसवीसी]] के साथ उपयोग के लिए [[ मेकफाइल |मेकफाइल]] प्रदान की जाती है। [[सॉफ्टवेयर डेवलपर]] अपनी निर्माण इंजीनियरिंग आवश्यकताओं के आधार पर स्रोत को संकलित करने के लिए अपने स्वयं के मेक प्रणाली का उपयोग करना चुन सकते हैं। ''Log4c'' लाइब्रेरी का उदाहरण तीन तरीकों से कॉन्फ़िगर किया जा सकता है: पर्यावरण चर का उपयोग करके, प्रोग्रामेटिक रूप से, या XML विन्यास फ़ाइल के माध्यम से। log4c में फ़ाइलें, स्ट्रीम और मेमोरी मैप की गई फ़ाइलों के लिए परिशिष्ट हैं। (कोई सॉकेट अनुकूलक नहीं।) अंतिम संस्करण 1.2.4 है, जो 2013 में जारी किया गया था और परियोजना अब सक्रिय रूप से विकसित नहीं हुई है।<ref>{{cite web|url=http://sourceforge.net/projects/log4c/ |title=Logging Framework for C &#124; Free System Administration software downloads at |publisher=Sourceforge.net |access-date=2014-07-24}}</ref>
*लॉग4जे s - [[जावास्क्रिप्ट]] के लिए पोर्ट। लॉग4जे s Apache Software Foundation के लाइसेंस के अंतर्गत उपलब्ध है। लॉग4जे s की विशेष विशेषता ब्राउज़र की घटनाओं को सर्वर पर दूरस्थ रूप से लॉग करने की क्षमता है। [[अजाक्स (प्रोग्रामिंग)]] का उपयोग करके लॉगिंग घटनाओं को कई प्रारूपों (एक्सएमएल, जेएसओएन, सादा [[एएससीआईआई]], आदि) में मूल्यांकन के लिए सर्वर पर भेजना संभव है। निम्न परिशिष्ट ''लॉग4जे s'' के लिए लागू किए गए हैं: AjaxAppender, ConsoleAppender, FileAppender, JSConsoleAppender, MetatagAppender, और WindowsEventsAppender। निम्नलिखित लेआउट कक्षाएं प्रदान की जाती हैं: बेसिकलाउट, एचटीएमएल लेआउट, जेएसओएन लेआउट, और एक्सएमएल लेआउट। नवीनतम संस्करण {{As of|2021|lc=y}} 18 अक्टूबर 2018 का 2.0 था।<ref>{{cite web |url=https://github.com/stritti/log4js |title=stritti/Log4js - The Logging Framework for JavaScript with no runtime dependencies |website=GitHub|date=  |author= |access-date= 11 December 2021}}</ref>
*'''लॉग4जे''' - [[जावास्क्रिप्ट]] के लिए पोर्ट। लॉग4जे अपाचे सॉफ्टवेयर फाउंडेशन के अधिकार के अंतर्गत उपलब्ध है। लॉग4जे की विशेष विशेषता ब्राउज़र की घटनाओं को सर्वर पर दूरस्थ रूप से लॉग करने की क्षमता है। [[अजाक्स (प्रोग्रामिंग)]] का उपयोग करके लॉगिंग घटनाओं को कई प्रारूपों (एक्सएमएल, जेएसओएन, सादा [[एएससीआईआई]], आदि) में मूल्यांकन के लिए सर्वर पर भेजना संभव है। निम्न परिशिष्ट ''लॉग4जे'' के लिए लागू किए गए हैं: अजाक्सएपेंडर, कंसोलएपेंडर, फाइलएपेंडर, जेएसकॉनसोलएपेंडर, मेटाटैगएपेंडर और विंडोजइवेंट्सएपेंडर। निम्नलिखित लेआउट कक्षाएं प्रदान की जाती हैं: बेसिक लेआउट, एचटीएमएल लेआउट, जेएसओएन लेआउट और एक्सएमएल लेआउट। नवीनतम संस्करण {{As of|2021|lc=y}} 18 अक्टूबर 2018 का 2.0 था।<ref>{{cite web |url=https://github.com/stritti/log4js |title=stritti/Log4js - The Logging Framework for JavaScript with no runtime dependencies |website=GitHub|date=  |author= |access-date= 11 December 2021}}</ref>
*लॉग4जे avascript - जावास्क्रिप्ट के लिए और पोर्ट। लॉग4जे avascript ''लॉग4जे'' पर आधारित जावास्क्रिप्ट लॉगिंग फ्रेमवर्क है। नवीनतम संस्करण {{As of|2021|lc=y}} 1.4.13 था, 23 मई 2015 को जारी किया गया।<ref>{{cite web|url=http://log4javascript.org/ |title=एक जावास्क्रिप्ट लॉगिंग फ्रेमवर्क|publisher=log4javascript |access-date=2021-12-11}}</ref>
*'''लॉग4जे जावास्क्रिप्ट''' - जावास्क्रिप्ट के लिए एक और पोर्ट। लॉग4जे '''जावास्क्रिप्ट''' ''लॉग4जे'' पर आधारित जावास्क्रिप्ट लॉगिंग फ्रेमवर्क है। नवीनतम संस्करण {{As of|2021|lc=y}} 1.4.13 था, 23 मई 2015 को जारी किया गया।<ref>{{cite web|url=http://log4javascript.org/ |title=एक जावास्क्रिप्ट लॉगिंग फ्रेमवर्क|publisher=log4javascript |access-date=2021-12-11}}</ref>
*JSNLog - जावास्क्रिप्ट के लिए पोर्ट। Log4Net, NLog, Elmah या Common.Logging के साथ इंटरफेस करने वाले .NET सर्वर साइड घटक का उपयोग करके सर्वर साइड लॉग में जावास्क्रिप्ट लॉगर से संदेशों को स्वचालित रूप से रखता है। यह क्लाइंट और सर्वर साइड इवेंट्स के लिए एकीकृत लॉग प्रदान करने के लिए है। अनुरोध आईडी विशिष्ट उपयोगकर्ता से संबंधित घटनाओं से संबंधित हैं। कॉन्फ़िगरेशन सर्वर साइड web.config फ़ाइल के माध्यम से होता है। स्टैक ट्रेस सहित अपवाद लॉगिंग का समर्थन करता है। {{As of|2021}} नवीनतम संस्करण 3.0.0 था और अद्यतन नियमित रूप से किए गए थे।<ref>{{cite web |url=http://jsnlog.com/ |title=अपने सर्वर साइड लॉग में जावास्क्रिप्ट त्रुटियों को लॉग करना|publisher=JSNLog |access-date=2021-12-11}}</ref>
*'''जेएसएन लॉग'''- जावास्क्रिप्ट के लिए पोर्ट। लॉग4नेट, एनएलओजी, एल्माह या Common.Logging के साथ इंटरफेस करने वाले .NET सर्वर साइड घटक का उपयोग करके सर्वर साइड लॉग में जावास्क्रिप्ट लॉगर से संदेशों को स्वचालित रूप से रखता है। यह ग्राहक और सर्वर साथ में कार्यक्रम के लिए एकीकृत लॉग प्रदान करने के लिए है। अनुरोध आईडी विशिष्ट उपयोगकर्ता से संबंधित घटनाओं से संबंधित हैं। विन्यास सर्वर साइड web.config फ़ाइल के माध्यम से होता है। स्टैक ट्रेस सहित अपवाद लॉगिंग का समर्थन करता है। {{As of|2021}} नवीनतम संस्करण 3.0.0 था और अद्यतन नियमित रूप से किए गए थे।<ref>{{cite web |url=http://jsnlog.com/ |title=अपने सर्वर साइड लॉग में जावास्क्रिप्ट त्रुटियों को लॉग करना|publisher=JSNLog |access-date=2021-12-11}}</ref>
*Apache Log4net - Microsoft .NET Framework के लिए पोर्ट। प्रारंभिक कार्य [[Neoworks]] द्वारा किया गया था और फरवरी 2004 में Apache Software Foundation को दान कर दिया गया था। .NET रनटाइम में नई सुविधाओं का लाभ उठाते हुए रूपरेखा मूल लॉग4जे के समान है। नेस्टेड डायग्नोस्टिक कॉन्टेक्स्ट (NDC) और मैप्ड डायग्नोस्टिक कॉन्टेक्स्ट (MDC) प्रदान करता है। नवीनतम संस्करण {{As of|2022|lc=y}} 2.0.15 था।<ref>{{cite web|url=http://logging.apache.org/log4net/ |title=Apache log4net|publisher=Logging.apache.org |access-date=2021-12-11}}</ref>
*'''अपाचे लॉग4नेट'''- Microsoft .NET Framework के लिए पोर्ट। प्रारंभिक कार्य [[Neoworks|नियोवर्क्स]] द्वारा किया गया था और फरवरी 2004 में अपाचे सॉफ्टवेयर फाउंडेशन को दान कर दिया गया था। .NET रनसमय में नई सुविधाओं का लाभ उठाते हुए रूपरेखा मूल लॉग4जे के समान है। स्थिर नैदानिक संदर्भ (NDC) और मानचित्र नैदानिक संदर्भ (MDC) प्रदान करता है। नवीनतम संस्करण {{As of|2022|lc=y}} 2.0.15 था।<ref>{{cite web|url=http://logging.apache.org/log4net/ |title=Apache log4net|publisher=Logging.apache.org |access-date=2021-12-11}}</ref>
*log4perl - लॉग4जे का [[पर्ल]] पोर्ट। फरवरी 2017 का संस्करण 1.49 चालू था {{As of|2021|lc=y}}.<ref>{{cite web|url=http://mschilli.github.io/log4perl/ |title=log4perl - log4j for Perl|first1=Mike|last1=Schilli|first2=Kevin|last2=Goess|website=log4perl|access-date=2021-12-11}}</ref>
*'''लॉग4 पर्ल'''- लॉग4जे का [[पर्ल]] पोर्ट। फरवरी 2017 का संस्करण 1.49 {{As of|2021|lc=y}} चालू था .<ref>{{cite web|url=http://mschilli.github.io/log4perl/ |title=log4perl - log4j for Perl|first1=Mike|last1=Schilli|first2=Kevin|last2=Goess|website=log4perl|access-date=2021-12-11}}</ref>
*Apache log4php - [[PHP]] के लिए बहुमुखी लॉगिंग फ्रेमवर्क। मूल रूप से PHP के लिए Apache लॉग4जे का पोर्ट, यह विभिन्न PHP विशिष्ट विशेषताओं को शामिल करने के लिए विकसित हुआ है।<ref>{{cite web|url=http://logging.apache.org/|title=अपाचे लॉगिंग सेवाएं|publisher=Apache.org |access-date=2015-03-11}}</ref>
*'''अपाचे लॉग4 पीएचपी'''- [[PHP]] के लिए बहुमुखी लॉगिंग फ्रेमवर्क। मूल रूप से PHP के लिए अपाचे लॉग4जे का पोर्ट, यह विभिन्न PHP विशिष्ट विशेषताओं को सम्मलित करने के लिए विकसित हुआ है।<ref>{{cite web|url=http://logging.apache.org/|title=अपाचे लॉगिंग सेवाएं|publisher=Apache.org |access-date=2015-03-11}}</ref>
*पीएल-एसक्यूएल-लॉगिंग-यूटिलिटी पीएल/एसक्यूएल में लॉग4जे का अनुकूलन है।<ref>{{cite web|url=https://github.com/tmuth/Logger---A-PL-SQL-Logging-Utility |title=tmuth/Logger-A-PL-SQL-Logging-Utility — GitHub |publisher=Github.com |access-date=2014-07-24}}</ref>
*'''पीएल-एसक्यूएल-लॉगिंग-यूटिलिटी-''' पीएल/एसक्यूएल में लॉग4जे का अनुकूलन है।<ref>{{cite web|url=https://github.com/tmuth/Logger---A-PL-SQL-Logging-Utility |title=tmuth/Logger-A-PL-SQL-Logging-Utility — GitHub |publisher=Github.com |access-date=2014-07-24}}</ref>
*Log4db2 LUW के लिए DB2 के लिए लॉगिंग यूटिलिटी है जो SQL PL कोड के साथ SQL निर्देशों का उपयोग करता है।<ref>{{cite web|url=https://angoca.github.io/log4db2/ |title=Log4db2 by angoca |publisher=Angoca.github.io |access-date=2014-07-24}}</ref>
*'''लॉग4डीबी2-''' LUW के लिए DB2 के लिए लॉगिंग उपयोगिता है जो SQL PL कोड के साथ SQL निर्देशों का उपयोग करता है।<ref>{{cite web|url=https://angoca.github.io/log4db2/ |title=Log4db2 by angoca |publisher=Angoca.github.io |access-date=2014-07-24}}</ref>
*Apache Log4cxx - Apache लॉग4जे के बाद प्रतिरूपित C++ के लिए लॉगिंग फ्रेमवर्क, जो अधिकांश प्लेटफ़ॉर्म-विशिष्ट कोड के लिए Apache [[अपाचे पोर्टेबल रनटाइम]] उपयोग करता है और APR द्वारा समर्थित किसी भी प्लेटफ़ॉर्म पर प्रयोग करने योग्य होना चाहिए। नवीनतम संस्करण 0.13.0 है, जो 2022 में जारी किया गया था।<ref>{{cite web|title=log4cxx - Changelog|url=https://logging.apache.org/log4cxx/latest_stable/changelog.html|website=logging.apache.org}}</ref>
*'''अपाचे लॉग4cxx'''- अपाचे लॉग4जे के बाद प्रतिरूपित C++ के लिए लॉगिंग फ्रेमवर्क, जो अधिकांश प्लेटफ़ॉर्म-विशिष्ट कोड के लिए अपाचे [[अपाचे पोर्टेबल रनटाइम|अपाचे पोर्टेबल रनसमय]] उपयोग करता है और APR द्वारा समर्थित किसी भी प्लेटफ़ॉर्म पर प्रयोग करने योग्य होना चाहिए। नवीनतम संस्करण 0.13.0 है, जो 2022 में जारी किया गया था।<ref>{{cite web|title=log4cxx - Changelog|url=https://logging.apache.org/log4cxx/latest_stable/changelog.html|website=logging.apache.org}}</ref>
*Log4r - रूबी कार्यक्रमों में उपयोग के लिए रूबी में लिखित व्यापक और लचीली लॉगिंग लाइब्रेरी। यह Apache लॉग4जे प्रोजेक्ट की अधिकांश विशेषताओं से प्रेरित था और प्रदान करता है।<ref>{{cite web|title=Log4r Manual|url=http://log4r.rubyforge.org/|publisher=log4r.rubyforge.org|access-date=2017-04-13|url-status=dead|archive-url=https://archive.today/20121225133348/http://log4r.rubyforge.org/|archive-date=2012-12-25}}</ref>
*'''लॉग4r'''- रूबी कार्यक्रमों में उपयोग के लिए रूबी में लिखित व्यापक और लचीली लॉगिंग लाइब्रेरी। यह अपाचे लॉग4जे प्रोजेक्ट की अधिकांश विशेषताओं से प्रेरित था और प्रदान करता है।<ref>{{cite web|title=Log4r Manual|url=http://log4r.rubyforge.org/|publisher=log4r.rubyforge.org|access-date=2017-04-13|url-status=dead|archive-url=https://archive.today/20121225133348/http://log4r.rubyforge.org/|archive-date=2012-12-25}}</ref>
 
== लॉग4शेल भेद्यता ==
 
{{main|लॉग4शेल}}
== Log4Shell भेद्यता ==
ज़ीरो-डे (कंप्यूटिंग) भेद्यता जिसमें लॉग4जे 2 में विवेकाधीन कोड निष्पादन सम्मलित है। वर्णनकर्ता लॉग4शेल (सामान्य भेद्यता और अनावरण -2021-44228) दिया गया था और पाया गया 24 नवंबर, 2021 को [[ अलीबाबा समूह |अलीबाबा समूह]] द्वारा अपाचे को रिपोर्ट किया गया और 9 दिसंबर, 2021 को [[ट्विटर]] पर प्रकाशित किया गया।<ref name="lawfare">{{Cite web|url=https://www.lawfareblog.com/whats-deal-log4shell-security-nightmare|title=What's the Deal with the Log4Shell Security Nightmare?|date=December 10, 2021|website=Lawfare}}</ref> प्रभावित सेवाओं में सम्मलित हैं [[Cloudflare|क्लाउडफ्लेयर]] , [[iCloud|आईक्लाउड]], माइनक्राफ्ट: जावा संस्करण,<ref>{{Cite web|date=10 December 2021|title=Security Vulnerability in Minecraft: Java Edition|url=https://help.minecraft.net/hc/en-us/articles/4416199399693-Security-Vulnerability-in-Minecraft-Java-Edition|website=[[Minecraft]]}}</ref> स्टीम (सेवा), [[Tencent QQ|टेनसेंट QQ]] और ट्विटर ।<ref>{{cite web |url=https://arstechnica.com/information-technology/2021/12/minecraft-and-other-apps-face-serious-threat-from-new-code-execution-bug/ |title=Zeroday in ubiquitous Log4j tool poses a grave threat to the Internet |last=Goodin |first=Dan |date=December 9, 2021 |website=[[Ars Technica]] |access-date=December 10, 2021 |quote=}}</ref><ref>{{cite web |url=https://www.cyberkendra.com/2021/12/worst-log4j-rce-zeroday-dropped-on.html |title=Worst Apache Log4j RCE Zero day Dropped on Internet  |author=<!--Not stated--> |date=December 9, 2021 |website=Cyber Kendra |access-date=December 10, 2021 |quote=}}</ref><ref name="pcmag">{{cite web |url=https://www.pcmag.com/news/countless-serves-are-vulnerable-to-apache-log4j-zero-day-exploit |title=Countless Servers Are Vulnerable to Apache Log4j Zero-Day Exploit |last=Mott |first=Nathaniel |date=December 10, 2021 |website=[[PC Magazine]] |access-date=December 10, 2021 |quote=}}</ref> अपाचे सॉफ्टवेयर फाउंडेशन ने लॉग4शेल को 10 की अधिकतम [[सामान्य भेद्यता स्कोरिंग सिस्टम|सामान्य भेद्यता स्कोरिंग]] प्रणाली गंभीरता रेटिंग दी, क्योंकि लाखों सर्वर संभावित रूप से शोषण के प्रति संवेदनशील हो सकते हैं।<ref name="pcmag"/>भेद्यता की विशेषता साइबर सुरक्षा फर्म टेनेबल, इंक। द्वारा पिछले दशक की सबसे बड़ी, सबसे महत्वपूर्ण भेद्यता के रूप में की गई थी<ref name="guardian">{{Cite web|url=https://www.theguardian.com/technology/2021/dec/10/software-flaw-most-critical-vulnerability-log-4-shell|title=हाल ही में खुला सॉफ्टवेयर दोष 'पिछले दशक की सबसे महत्वपूर्ण भेद्यता'|agency=Associated Press|date=December 11, 2021|website=the Guardian}}</ref> और लुनासेक के फ्री वोर्टली ने इसे आपदाजनक अनुपात की डिजाइन विफलता के रूप में चित्रित किया।<ref>{{Cite magazine|url=https://www.wired.com/story/log4j-flaw-hacking-internet/|title=इंटरनेट आग पर है|first=Lily Hay|last=Newman|magazine=Wired |date=10 December 2021|via=www.wired.com}}</ref>संयुक्त राज्य अमेरिका में, साइबर [[साइबर सुरक्षा और बुनियादी ढांचा सुरक्षा एजेंसी]] (CISA) के निदेशक, [[जेन ईस्टरली]] ने शोषण को महत्वपूर्ण सहमति दिया और विक्रेताओं को सॉफ़्टवेयर अपडेट को प्राथमिकता देने की सलाह दी<ref>{{Cite web|url=https://www.cisa.gov/news/2021/12/11/statement-cisa-director-easterly-log4j-vulnerability|title=Statement from CISA Director Easterly on "Log4j" Vulnerability|date=2021-12-11|work=CISA|location=Washington}}</ref> और जर्मन एजेंसी [[सूचना सुरक्षा के लिए संघीय कार्यालय]] (BSI) ने शोषण को अपने उच्चतम खतरे के स्तर पर होने के रूप में नामित किया, इसे अत्यंत महत्वपूर्ण खतरे की स्थिति (अनुवादित) कहा।<ref>{{Cite web|url=https://www.tagesschau.de/inland/bsi-schadsoftware-101.html|title=BSI warnt vor Sicherheitslücke|language=de|trans-title=BSI warns of security vulnerabilities|date=2021-12-12|work=[[Tagesschau (German TV series)|Tagesschau]]}}</ref><ref>{{Cite web
{{main|Log4Shell}}
ज़ीरो-डे (कंप्यूटिंग) | ज़ीरो-डे भेद्यता जिसमें लॉग4जे 2 में मनमाना कोड निष्पादन शामिल है, डिस्क्रिप्टर Log4Shell (सामान्य भेद्यता और एक्सपोजर-2021-44228) दिया गया था, पाया गया और 24 नवंबर, 2021 को [[ अलीबाबा समूह |अलीबाबा समूह]] द्वारा अपाचे को रिपोर्ट किया गया। और 9 दिसंबर, 2021 को [[ट्विटर]] पर प्रकाशित किया गया।<ref name="lawfare">{{Cite web|url=https://www.lawfareblog.com/whats-deal-log4shell-security-nightmare|title=What's the Deal with the Log4Shell Security Nightmare?|date=December 10, 2021|website=Lawfare}}</ref> प्रभावित सेवाओं में शामिल हैं [[Cloudflare]], [[iCloud]], Minecraft: Java Edition,<ref>{{Cite web|date=10 December 2021|title=Security Vulnerability in Minecraft: Java Edition|url=https://help.minecraft.net/hc/en-us/articles/4416199399693-Security-Vulnerability-in-Minecraft-Java-Edition|website=[[Minecraft]]}}</ref> स्टीम (सेवा), [[Tencent QQ]] और Twitter।<ref>{{cite web |url=https://arstechnica.com/information-technology/2021/12/minecraft-and-other-apps-face-serious-threat-from-new-code-execution-bug/ |title=Zeroday in ubiquitous Log4j tool poses a grave threat to the Internet |last=Goodin |first=Dan |date=December 9, 2021 |website=[[Ars Technica]] |access-date=December 10, 2021 |quote=}}</ref><ref>{{cite web |url=https://www.cyberkendra.com/2021/12/worst-log4j-rce-zeroday-dropped-on.html |title=Worst Apache Log4j RCE Zero day Dropped on Internet  |author=<!--Not stated--> |date=December 9, 2021 |website=Cyber Kendra |access-date=December 10, 2021 |quote=}}</ref><ref name="pcmag">{{cite web |url=https://www.pcmag.com/news/countless-serves-are-vulnerable-to-apache-log4j-zero-day-exploit |title=Countless Servers Are Vulnerable to Apache Log4j Zero-Day Exploit |last=Mott |first=Nathaniel |date=December 10, 2021 |website=[[PC Magazine]] |access-date=December 10, 2021 |quote=}}</ref> Apache Software Foundation ने Log4Shell को 10 की अधिकतम [[सामान्य भेद्यता स्कोरिंग सिस्टम]] गंभीरता रेटिंग दी, क्योंकि लाखों सर्वर संभावित रूप से शोषण के प्रति संवेदनशील हो सकते हैं।<ref name="pcmag"/>भेद्यता की विशेषता साइबर सुरक्षा फर्म टेनेबल, इंक। द्वारा पिछले दशक की सबसे बड़ी, सबसे महत्वपूर्ण भेद्यता के रूप में की गई थी<ref name="guardian">{{Cite web|url=https://www.theguardian.com/technology/2021/dec/10/software-flaw-most-critical-vulnerability-log-4-shell|title=हाल ही में खुला सॉफ्टवेयर दोष 'पिछले दशक की सबसे महत्वपूर्ण भेद्यता'|agency=Associated Press|date=December 11, 2021|website=the Guardian}}</ref> और लुनासेक के फ्री वोर्टली ने इसे आपदाजनक अनुपात की डिजाइन विफलता के रूप में चित्रित किया।<ref>{{Cite magazine|url=https://www.wired.com/story/log4j-flaw-hacking-internet/|title=इंटरनेट आग पर है|first=Lily Hay|last=Newman|magazine=Wired |date=10 December 2021|via=www.wired.com}}</ref>
संयुक्त राज्य अमेरिका में, साइबर [[साइबर सुरक्षा और बुनियादी ढांचा सुरक्षा एजेंसी]] (CISA) के निदेशक, [[जेन ईस्टरली]] ने शोषण को महत्वपूर्ण करार दिया और विक्रेताओं को सॉफ़्टवेयर अपडेट को प्राथमिकता देने की सलाह दी,<ref>{{Cite web|url=https://www.cisa.gov/news/2021/12/11/statement-cisa-director-easterly-log4j-vulnerability|title=Statement from CISA Director Easterly on "Log4j" Vulnerability|date=2021-12-11|work=CISA|location=Washington}}</ref> और जर्मन एजेंसी [[सूचना सुरक्षा के लिए संघीय कार्यालय]] (BSI) ने शोषण को अपने उच्चतम खतरे के स्तर पर होने के रूप में नामित किया, इसे अत्यंत महत्वपूर्ण खतरे की स्थिति (अनुवादित) कहा।<ref>{{Cite web|url=https://www.tagesschau.de/inland/bsi-schadsoftware-101.html|title=BSI warnt vor Sicherheitslücke|language=de|trans-title=BSI warns of security vulnerabilities|date=2021-12-12|work=[[Tagesschau (German TV series)|Tagesschau]]}}</ref><ref>{{Cite web
|url=https://www.bsi.bund.de/DE/Service-Navi/Presse/Pressemitteilungen/Presse2021/211211_log4Shell_WarnstufeRot.html
|url=https://www.bsi.bund.de/DE/Service-Navi/Presse/Pressemitteilungen/Presse2021/211211_log4Shell_WarnstufeRot.html
|title=Warnstufe Rot: Schwachstelle Log4Shell führt zu extrem kritischer Bedrohungslage|language=de
|title=Warnstufe Rot: Schwachstelle Log4Shell führt zu extrem kritischer Bedrohungslage|language=de
|trans-title=Red alarm: Log4Shell vulnerability causes extremely critical threat situation
|trans-title=Red alarm: Log4Shell vulnerability causes extremely critical threat situation
|date=2021-12-12|work=[[Federal Office for Information Security|BSI]] press service
|date=2021-12-12|work=[[Federal Office for Information Security|BSI]] press service
}}</ref> [[साइबर सुरक्षा के लिए कनाडाई केंद्र]] (CCCS) ने संगठनों से तत्काल कार्रवाई करने का आह्वान किया।<ref>{{Cite web|url=https://cyber.gc.ca/en/news/statement-minister-national-defence-apache-vulnerability|title=अपाचे भेद्यता पर राष्ट्रीय रक्षा मंत्री का बयान और कनाडा के संगठनों को तत्काल कार्रवाई करने का आह्वान|language=en|date=2021-12-12|work=Government of Canada|access-date=December 12, 2021|archive-date=December 20, 2021|archive-url=https://web.archive.org/web/20211220032436/https://www.cyber.gc.ca/en/news/statement-minister-national-defence-apache-vulnerability|url-status=dead}}</ref>
}}</ref> [[साइबर सुरक्षा के लिए कनाडाई केंद्र]] (CCCS) ने संगठनों से तत्काल कार्रवाई करने का आह्वान किया।<ref>{{Cite web|url=https://cyber.gc.ca/en/news/statement-minister-national-defence-apache-vulnerability|title=अपाचे भेद्यता पर राष्ट्रीय रक्षा मंत्री का बयान और कनाडा के संगठनों को तत्काल कार्रवाई करने का आह्वान|language=en|date=2021-12-12|work=Government of Canada|access-date=December 12, 2021|archive-date=December 20, 2021|archive-url=https://web.archive.org/web/20211220032436/https://www.cyber.gc.ca/en/news/statement-minister-national-defence-apache-vulnerability|url-status=dead}}</ref> भेद्यता उत्पन्न करने वाली सुविधा को विन्यास सेटिंग के साथ अक्षम किया जा सकता है, जिसे हटा दिया गया था<ref>{{cite web|title=LOG4J2-3198: Log4j2 no longer formats lookups in messages by default|url=https://github.com/apache/logging-log4j2/commit/001aaada7dab82c3c09cde5f8e14245dc9d8b454|date=2021-12-05|website=[[GitHub]]|language=en}}</ref> लॉग4जे संस्करण 2.15.0-rc1 में (आधिकारिक तौर पर भेद्यता प्रकाशित होने से तीन दिन पहले 6 दिसंबर, 2021 को जारी किया गया), और दूरस्थ लुकअप को प्रतिबंधित करने वाली विभिन्न समायोजन द्वारा प्रतिस्थापित किया गया, जिससे भेद्यता कम हो गई।<ref>{{Cite web|title=Restrict LDAP access via JNDI by rgoers · Pull Request #608 · apache/logging-log4j2|url=https://github.com/apache/logging-log4j2/pull/608|date=|website=GitHub|language=en}} 30 November–5 December 2021</ref><ref>{{cite web|url=https://logging.apache.org/log4j/2.x/security.html|title=Apache Log4j Security Vulnerabilities|date=2021-12-06}}</ref> अतिरिक्त सुरक्षा के लिए, [[जावा नामकरण और निर्देशिका इंटरफ़ेस]] का उपयोग करने वाली सभी सुविधाएँ, जिस पर यह भेद्यता आधारित थी, डिफ़ॉल्ट रूप से अक्षम हो जाएंगी, और संस्करण 2.16.0 से संदेश लुकअप के लिए समर्थन हटा दिया जाएगा।<ref>{{cite web|url=https://issues.apache.org/jira/browse/LOG4J2-3208|title=LOG4J2-3208: Disable JNDI by default|date=December 11, 2021|access-date=2021-12-14}}</ref><ref>{{cite web|url=https://issues.apache.org/jira/browse/LOG4J2-3211|title=LOG4J2-3211: Remove support for Lookups in messages|date=2021-12-13|access-date=2021-12-14}}</ref>
भेद्यता पैदा करने वाली सुविधा को कॉन्फ़िगरेशन सेटिंग के साथ अक्षम किया जा सकता है, जिसे हटा दिया गया था<ref>{{cite web|title=LOG4J2-3198: Log4j2 no longer formats lookups in messages by default|url=https://github.com/apache/logging-log4j2/commit/001aaada7dab82c3c09cde5f8e14245dc9d8b454|date=2021-12-05|website=[[GitHub]]|language=en}}</ref> लॉग4जे संस्करण 2.15.0-rc1 में (आधिकारिक तौर पर भेद्यता प्रकाशित होने से तीन दिन पहले 6 दिसंबर, 2021 को जारी किया गया), और दूरस्थ लुकअप को प्रतिबंधित करने वाली विभिन्न सेटिंग्स द्वारा प्रतिस्थापित किया गया, जिससे भेद्यता कम हो गई।<ref>{{Cite web|title=Restrict LDAP access via JNDI by rgoers · Pull Request #608 · apache/logging-log4j2|url=https://github.com/apache/logging-log4j2/pull/608|date=|website=GitHub|language=en}} 30 November–5 December 2021</ref><ref>{{cite web|url=https://logging.apache.org/log4j/2.x/security.html|title=Apache Log4j Security Vulnerabilities|date=2021-12-06}}</ref> अतिरिक्त सुरक्षा के लिए, [[जावा नामकरण और निर्देशिका इंटरफ़ेस]] का उपयोग करने वाली सभी सुविधाएँ, जिस पर यह भेद्यता आधारित थी, डिफ़ॉल्ट रूप से अक्षम हो जाएंगी, और संस्करण 2.16.0 से संदेश लुकअप के लिए समर्थन हटा दिया जाएगा।<ref>{{cite web|url=https://issues.apache.org/jira/browse/LOG4J2-3208|title=LOG4J2-3208: Disable JNDI by default|date=December 11, 2021|access-date=2021-12-14}}</ref><ref>{{cite web|url=https://issues.apache.org/jira/browse/LOG4J2-3211|title=LOG4J2-3211: Remove support for Lookups in messages|date=2021-12-13|access-date=2021-12-14}}</ref>
== यह भी देखें{{Portal|Computer programming|Free and open-source software}}==
 
* चेनसॉ (लॉग फ़ाइल दर्शक)
 
== यह भी देखें ==
{{Portal|Computer programming|Free and open-source software}}
* चेनसॉ (लॉग फाइल व्यूअर)
==संदर्भ==
==संदर्भ==
{{Reflist|30em}}
{{Reflist|30em}}


==अग्रिम पठन==
==अग्रिम पठन==
Line 303: Line 287:


{{Apache Software Foundation}}
{{Apache Software Foundation}}
[[Category: अपाचे सॉफ्टवेयर फाउंडेशन]] [[Category: जावा (प्रोग्रामिंग भाषा) में मुफ्त सॉफ्टवेयर प्रोग्राम किया गया]] [[Category: लॉग फ़ाइल स्वरूप]] [[Category: सॉफ्टवेयर अपाचे लाइसेंस का उपयोग कर रहा है]]


[[Category: Machine Translated Page]]
[[Category:All articles containing potentially dated statements]]
[[Category:Articles containing potentially dated statements from 2021]]
[[Category:Articles containing potentially dated statements from 2022]]
[[Category:Articles with hatnote templates targeting a nonexistent page]]
[[Category:CS1 Deutsch-language sources (de)]]
[[Category:CS1 English-language sources (en)]]
[[Category:CS1 errors]]
[[Category:Citation Style 1 templates|M]]
[[Category:Collapse templates]]
[[Category:Created On 11/05/2023]]
[[Category:Created On 11/05/2023]]
[[Category:Machine Translated Page]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages with empty portal template]]
[[Category:Pages with script errors]]
[[Category:Portal templates with redlinked portals]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates based on the Citation/CS1 Lua module]]
[[Category:Templates generating COinS|Cite magazine]]
[[Category:Templates generating microformats]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates using TemplateData]]
[[Category:Wikipedia fully protected templates|Cite magazine]]
[[Category:Wikipedia metatemplates]]
[[Category:अपाचे सॉफ्टवेयर फाउंडेशन]]
[[Category:जावा (प्रोग्रामिंग भाषा) में मुफ्त सॉफ्टवेयर प्रोग्राम किया गया]]
[[Category:लॉग फ़ाइल स्वरूप]]
[[Category:सॉफ्टवेयर अपाचे लाइसेंस का उपयोग कर रहा है]]

Latest revision as of 15:03, 23 May 2023

अपाचे लॉग 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.