लॉग4जे: Difference between revisions
No edit summary |
No edit summary |
||
Line 19: | Line 19: | ||
}} | }} | ||
Apache Log4j | Apache Log4j Java (सॉफ़्टवेयर प्लेटफ़ॉर्म)-आधारित लॉगिंग (सॉफ़्टवेयर) उपयोगिता है जिसे मूल रूप से Ceki Gülcü द्वारा लिखा गया है। यह [[ अपाचे लॉगिंग सेवाएं ]]ेज का हिस्सा है, जो [[अपाचे सॉफ्टवेयर फाउंडेशन]] की परियोजना है। Log4j कई [[जावा लॉगिंग फ्रेमवर्क]] में से है। | ||
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}} जो Log4j के विकल्प हैं।<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> | 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}} जो Log4j के विकल्प हैं।<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> | ||
Apache Log4j टीम ने Log4j 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> Log4j 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> इसके अलावा, Log4j 2 ने | Apache Log4j टीम ने Log4j 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> Log4j 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> इसके अलावा, Log4j 2 ने प्लगइन आर्किटेक्चर पेश किया जो इसे अपने पूर्ववर्ती की तुलना में अधिक विस्तार योग्य बनाता है। Log4j 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 को, Ceki Gülcü द्वारा Reload4j संस्करण 1.2.18.0 के रूप में कांटा और नया नाम दिया गया log4j संस्करण 1.2 जारी किया गया था, जिसका उद्देश्य log4j 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 को, | 9 दिसंबर, 2021 को, [[शून्य-दिन (कंप्यूटिंग)]] | शून्य-दिन की भेद्यता जिसमें Log4j 2 में [[मनमाना कोड निष्पादन]] शामिल है, को [[अलीबाबा क्लाउड]] सिक्योरिटी टीम द्वारा प्रकाशित किया गया था और विवरणक [[Log4Shell]] दिया गया था।<ref name="lawfare"/>इसे Tenable, Inc. द्वारा पिछले दशक की सबसे बड़ी, सबसे महत्वपूर्ण भेद्यता के रूप में चित्रित किया गया है।<ref name="guardian"/> | ||
== अपाचे लॉग 4 जे 2 == | == अपाचे लॉग 4 जे 2 == | ||
Apache Log4j 2, Log4j 1 का उत्तराधिकारी है जिसे जुलाई 2014 में सॉफ़्टवेयर रिलीज़ जीवन चक्र #सामान्य उपलब्धता .28GA.29 के रूप में जारी किया गया था। फ्रेमवर्क को स्क्रैच से फिर से लिखा गया था और यह मौजूदा लॉगिंग समाधानों से प्रेरित है, जिसमें Log4j 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> Log4j 1 से हैं: | Apache Log4j 2, Log4j 1 का उत्तराधिकारी है जिसे जुलाई 2014 में सॉफ़्टवेयर रिलीज़ जीवन चक्र #सामान्य उपलब्धता .28GA.29 के रूप में जारी किया गया था। फ्रेमवर्क को स्क्रैच से फिर से लिखा गया था और यह मौजूदा लॉगिंग समाधानों से प्रेरित है, जिसमें Log4j 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> Log4j 1 से हैं: | ||
* बेहतर विश्वसनीयता। Log4j 1 या Logback जैसे ढांचे को पुन: कॉन्फ़िगर करते समय संदेश गुम नहीं होते हैं | * बेहतर विश्वसनीयता। Log4j 1 या Logback जैसे ढांचे को पुन: कॉन्फ़िगर करते समय संदेश गुम नहीं होते हैं | ||
* एक्स्टेंसिबिलिटी: उपयोगकर्ताओं को कस्टम घटकों को परिभाषित और कॉन्फ़िगर करने देने के लिए Log4j 2 | * एक्स्टेंसिबिलिटी: उपयोगकर्ताओं को कस्टम घटकों को परिभाषित और कॉन्फ़िगर करने देने के लिए Log4j 2 प्लगइन सिस्टम का समर्थन करता है | ||
* सरलीकृत कॉन्फ़िगरेशन सिंटैक्स | * सरलीकृत कॉन्फ़िगरेशन सिंटैक्स | ||
* एक्सएमएल, जेसन, [[यमल]] और गुण विन्यास के लिए समर्थन | * एक्सएमएल, जेसन, [[यमल]] और गुण विन्यास के लिए समर्थन | ||
Line 41: | Line 41: | ||
* लिनक्स के लिए बेहतर समर्थन | * लिनक्स के लिए बेहतर समर्थन | ||
Log4j 2 की सबसे अधिक पहचानी जाने वाली विशेषताओं में से | Log4j 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> Log4j 2 [[ विघ्नकर्ता (सॉफ्टवेयर) ]] का उपयोग करता है।<ref>{{cite web|url=https://lmax-exchange.github.io/disruptor/ |title=एलएमएक्स-एक्सचेंज द्वारा विघटनकर्ता|publisher=Lmax-exchange.github.io |access-date=2014-07-24}}</ref> पुस्तकालय कर्नेल लॉकिंग की आवश्यकता को कम करता है और लॉगिंग प्रदर्शन को 12 गुना बढ़ा देता है। उदाहरण के लिए, उसी वातावरण में Log4j 2 प्रति सेकंड 18,000,000 से अधिक संदेश लिख सकता है, जबकि अन्य फ्रेमवर्क जैसे Logback और Log4j 1 केवल <2,000,000 संदेश लिखते हैं प्रति सेकंड। | ||
== सुविधाएँ == | == सुविधाएँ == | ||
Line 77: | Line 77: | ||
==== कस्टम लॉग स्तर ==== | ==== कस्टम लॉग स्तर ==== | ||
Log4j 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> लॉगर्स बनाने के लिए | Log4j 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> लॉगर्स बनाने के लिए स्रोत कोड जनरेटर उपकरण प्रदान किया जाता है जो कस्टम लॉग स्तरों को अंतर्निहित लॉग स्तरों के समान समर्थन करता है। कस्टम लॉग स्तर या तो अंतर्निर्मित लॉग स्तरों को पूरक या प्रतिस्थापित कर सकते हैं। | ||
=== Log4j कॉन्फ़िगरेशन === | === Log4j कॉन्फ़िगरेशन === | ||
Log4j को कॉन्फ़िगर किया जा सकता है<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 का उपयोग करने वाले एप्लिकेशन को संशोधित किए बिना लॉगिंग को चालू या बंद किया जा सकता है। उदाहरण के लिए, जब तक कोई समस्या न हो, एप्लिकेशन को लॉगिंग ऑफ के साथ चलाने की अनुमति दी जा सकती है, और फिर कॉन्फ़िगरेशन फ़ाइल को संशोधित करके लॉगिंग को वापस चालू किया जा सकता है। | Log4j को कॉन्फ़िगर किया जा सकता है<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 का उपयोग करने वाले एप्लिकेशन को संशोधित किए बिना लॉगिंग को चालू या बंद किया जा सकता है। उदाहरण के लिए, जब तक कोई समस्या न हो, एप्लिकेशन को लॉगिंग ऑफ के साथ चलाने की अनुमति दी जा सकती है, और फिर कॉन्फ़िगरेशन फ़ाइल को संशोधित करके लॉगिंग को वापस चालू किया जा सकता है। | ||
वालों<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, आदि) पर लॉग करता है। Log4j के शुरुआती संस्करणों में, इन्हें श्रेणी और प्राथमिकता कहा जाता था, लेकिन अब इन्हें क्रमशः लकड़हारा और स्तर कहा जाता है। | वालों<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, आदि) पर लॉग करता है। Log4j के शुरुआती संस्करणों में, इन्हें श्रेणी और प्राथमिकता कहा जाता था, लेकिन अब इन्हें क्रमशः लकड़हारा और स्तर कहा जाता है। लकड़हारा कई परिशिष्टों को लॉग संदेश भेज सकता है। | ||
वास्तविक आउटपुट परिशिष्ट द्वारा किया जाता है।<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। Log4j 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> वर्णनात्मक नामों के साथ कई परिशिष्ट उपलब्ध हैं, जैसे FileAppender, RollingFileAppender, ConsoleAppender, सॉकेटएपेंडर, SyslogAppender, और SMTPAppender। Log4j 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/layouts.html |title=लेआउट|publisher=Logging.apache.org |date=2016-07-05 |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 ]]। जब [[HTML]] या XML प्रारूप क्रमशः अधिक सुविधाजनक होते हैं, तो उपयोग के लिए HTMLLayout और XMLLayout स्वरूपक भी होते हैं। Log4j 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> | ||
Log4j 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> अधिक सुक्ष्म नियंत्रण देने के लिए कॉन्फ़िगरेशन तत्वों पर परिभाषित किया जा सकता है कि कौन से लॉग प्रविष्टियों को संसाधित किया जाना चाहिए जिनके द्वारा लॉगर और परिशिष्ट। संदेश स्ट्रिंग पर लॉग लेवल और रेगुलर एक्सप्रेशन मैचिंग द्वारा फ़िल्टर करने के अलावा, Log4j 2 ने बर्स्ट फ़िल्टर, टाइम फ़िल्टर, अन्य लॉग इवेंट विशेषताओं जैसे मार्कर या थ्रेड कॉन्टेक्स्ट मैप और [[JSR 223]] स्क्रिप्ट फ़िल्टर द्वारा फ़िल्टर किया। | Log4j 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> अधिक सुक्ष्म नियंत्रण देने के लिए कॉन्फ़िगरेशन तत्वों पर परिभाषित किया जा सकता है कि कौन से लॉग प्रविष्टियों को संसाधित किया जाना चाहिए जिनके द्वारा लॉगर और परिशिष्ट। संदेश स्ट्रिंग पर लॉग लेवल और रेगुलर एक्सप्रेशन मैचिंग द्वारा फ़िल्टर करने के अलावा, Log4j 2 ने बर्स्ट फ़िल्टर, टाइम फ़िल्टर, अन्य लॉग इवेंट विशेषताओं जैसे मार्कर या थ्रेड कॉन्टेक्स्ट मैप और [[JSR 223]] स्क्रिप्ट फ़िल्टर द्वारा फ़िल्टर किया। | ||
Line 92: | Line 92: | ||
* Log4j 2 कॉन्फ़िगरेशन में सेट करें <code>status</code> मानक स्ट्रीम में आंतरिक स्थिति लॉगिंग आउटपुट भेजने के लिए TRACE को विशेषता। कॉन्फ़िगरेशन मिलने से पहले स्थिति लॉगिंग सक्षम करने के लिए, Java VM गुण का उपयोग करें <code>-Dorg.apache.logging.log4j.simplelog.StatusLogger.level=trace</code>. | * Log4j 2 कॉन्फ़िगरेशन में सेट करें <code>status</code> मानक स्ट्रीम में आंतरिक स्थिति लॉगिंग आउटपुट भेजने के लिए TRACE को विशेषता। कॉन्फ़िगरेशन मिलने से पहले स्थिति लॉगिंग सक्षम करने के लिए, Java VM गुण का उपयोग करें <code>-Dorg.apache.logging.log4j.simplelog.StatusLogger.level=trace</code>. | ||
* Log4j 1 में, Java VM गुण का उपयोग करें <code>-Dlog4j.debug</code>. | * Log4j 1 में, Java VM गुण का उपयोग करें <code>-Dlog4j.debug</code>. | ||
यह पता लगाने के लिए कि | यह पता लगाने के लिए कि log4j2.xml कॉन्फ़िगरेशन फ़ाइल को निरीक्षण से कहाँ लोड किया गया था <code>getClass().getResource("/log4j2.xml")</code>. | ||
Log4j का | Log4j का अंतर्निहित अपुष्ट या डिफ़ॉल्ट कॉन्फ़िगरेशन भी है, जो कि Log4j-इंस्ट्रूमेंटेड Java एप्लिकेशन का है जिसमें किसी भी Log4j कॉन्फ़िगरेशन का अभाव है। यह चेतावनी को प्रिंट करता है कि प्रोग्राम अपुष्ट है, और Log4j वेब साइट का URL जहां चेतावनी और कॉन्फ़िगरेशन पर विवरण मिल सकता है। इस चेतावनी को प्रिंट करने के साथ-साथ, अपुष्ट Log4j एप्लिकेशन केवल ERROR या FATAL लॉग प्रविष्टियों को मानक आउट में प्रिंट करेगा। | ||
==== Log4j 2==== के लिए उदाहरण | ==== Log4j 2==== के लिए उदाहरण | ||
Line 203: | Line 203: | ||
=== टीटीसीसी === | === टीटीसीसी === | ||
TTCC | TTCC संदेश प्रारूप है जिसका उपयोग log4j द्वारा किया जाता है।<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 | ||
Line 242: | Line 242: | ||
== पोर्ट्स == | == पोर्ट्स == | ||
*log4c - C के लिए | *log4c - C के लिए पोर्ट। ''Log4C'' C-आधारित [[कंप्यूटर डेटा लॉगिंग]] लाइब्रेरी है, जिसे [[LGPL]] लाइसेंस के तहत [[SourceForge]] पर जारी किया गया है। विभिन्न [[यूनिक्स]] ऑपरेटिंग सिस्टम के लिए [[ autoconf ]]़ और [[ automake ]] फ़ाइलें प्रदान की जाती हैं। [[ माइक्रोसॉफ़्ट विंडोज़ ]]़ पर [[एमएसवीसी]] के साथ उपयोग के लिए [[ मेकफाइल ]] प्रदान की जाती है। [[सॉफ्टवेयर डेवलपर]] अपनी निर्माण इंजीनियरिंग आवश्यकताओं के आधार पर स्रोत को संकलित करने के लिए अपने स्वयं के मेक सिस्टम का उपयोग करना चुन सकते हैं। ''Log4c'' लाइब्रेरी का उदाहरण तीन तरीकों से कॉन्फ़िगर किया जा सकता है: पर्यावरण चर का उपयोग करके, प्रोग्रामेटिक रूप से, या XML कॉन्फ़िगरेशन फ़ाइल के माध्यम से। log4c में फ़ाइलें, स्ट्रीम और मेमोरी मैप की गई फ़ाइलों के लिए परिशिष्ट हैं। (कोई सॉकेट एडेप्टर नहीं।) अंतिम संस्करण 1.2.4 है, जो 2013 में जारी किया गया था, और परियोजना अब सक्रिय रूप से विकसित नहीं हुई है।<ref>{{cite web|url=http://sourceforge.net/projects/log4c/ |title=Logging Framework for C | Free System Administration software downloads at |publisher=Sourceforge.net |access-date=2014-07-24}}</ref> | ||
*log4js - [[जावास्क्रिप्ट]] के लिए | *log4js - [[जावास्क्रिप्ट]] के लिए पोर्ट। Log4js Apache Software Foundation के लाइसेंस के अंतर्गत उपलब्ध है। Log4js की विशेष विशेषता ब्राउज़र की घटनाओं को सर्वर पर दूरस्थ रूप से लॉग करने की क्षमता है। [[अजाक्स (प्रोग्रामिंग)]] का उपयोग करके लॉगिंग घटनाओं को कई प्रारूपों (एक्सएमएल, जेएसओएन, सादा [[एएससीआईआई]], आदि) में मूल्यांकन के लिए सर्वर पर भेजना संभव है। निम्न परिशिष्ट ''log4js'' के लिए लागू किए गए हैं: 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> | ||
*log4javascript - जावास्क्रिप्ट के लिए | *log4javascript - जावास्क्रिप्ट के लिए और पोर्ट। log4javascript ''log4j'' पर आधारित जावास्क्रिप्ट लॉगिंग फ्रेमवर्क है। नवीनतम संस्करण {{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 - जावास्क्रिप्ट के लिए | *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> | ||
*Apache Log4net - Microsoft .NET Framework के लिए | *Apache Log4net - Microsoft .NET Framework के लिए पोर्ट। प्रारंभिक कार्य [[Neoworks]] द्वारा किया गया था और फरवरी 2004 में Apache Software Foundation को दान कर दिया गया था। .NET रनटाइम में नई सुविधाओं का लाभ उठाते हुए रूपरेखा मूल log4j के समान है। नेस्टेड डायग्नोस्टिक कॉन्टेक्स्ट (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 - log4j का [[पर्ल]] पोर्ट। फरवरी 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> | *log4perl - log4j का [[पर्ल]] पोर्ट। फरवरी 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]] के लिए | *Apache log4php - [[PHP]] के लिए बहुमुखी लॉगिंग फ्रेमवर्क। मूल रूप से PHP के लिए Apache log4j का पोर्ट, यह विभिन्न PHP विशिष्ट विशेषताओं को शामिल करने के लिए विकसित हुआ है।<ref>{{cite web|url=http://logging.apache.org/|title=अपाचे लॉगिंग सेवाएं|publisher=Apache.org |access-date=2015-03-11}}</ref> | ||
*पीएल-एसक्यूएल-लॉगिंग-यूटिलिटी पीएल/एसक्यूएल में लॉग4जे का | *पीएल-एसक्यूएल-लॉगिंग-यूटिलिटी पीएल/एसक्यूएल में लॉग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 के लिए | *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> | ||
*Apache Log4cxx - Apache log4j के बाद प्रतिरूपित C++ के लिए | *Apache Log4cxx - Apache log4j के बाद प्रतिरूपित 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> | ||
*Log4r - रूबी कार्यक्रमों में उपयोग के लिए रूबी में लिखित | *Log4r - रूबी कार्यक्रमों में उपयोग के लिए रूबी में लिखित व्यापक और लचीली लॉगिंग लाइब्रेरी। यह Apache Log4j प्रोजेक्ट की अधिकांश विशेषताओं से प्रेरित था और प्रदान करता है।<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> | ||
== Log4Shell भेद्यता == | == Log4Shell भेद्यता == | ||
{{main|Log4Shell}} | {{main|Log4Shell}} | ||
ज़ीरो-डे (कंप्यूटिंग) | ज़ीरो-डे भेद्यता जिसमें Log4j 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) ने शोषण को अपने उच्चतम खतरे के स्तर पर होने के रूप में नामित किया, इसे | संयुक्त राज्य अमेरिका में, साइबर [[साइबर सुरक्षा और बुनियादी ढांचा सुरक्षा एजेंसी]] (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 |
Revision as of 11:24, 14 May 2023
Developer(s) | Apache Software Foundation |
---|---|
Initial release | January 8, 2001[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.[2] |
Repository | github |
Written in | Java |
Operating system | Cross-platform |
Type | Logging |
License | Apache License 2.0 |
Website | logging |
Apache Log4j Java (सॉफ़्टवेयर प्लेटफ़ॉर्म)-आधारित लॉगिंग (सॉफ़्टवेयर) उपयोगिता है जिसे मूल रूप से Ceki Gülcü द्वारा लिखा गया है। यह अपाचे लॉगिंग सेवाएं ेज का हिस्सा है, जो अपाचे सॉफ्टवेयर फाउंडेशन की परियोजना है। Log4j कई जावा लॉगिंग फ्रेमवर्क में से है।
Gülcü ने तब से SLF4J, Reload4j, बनाया है।[3] और लॉगबैक[4][better source needed] जो Log4j के विकल्प हैं।[5]
Apache Log4j टीम ने Log4j 2 विकसित किया[6] Log4j 1.2, 1.3 की समस्याओं के जवाब में, java.util.logging
और लॉगबैक, उन मुद्दों को संबोधित करते हुए जो उन रूपरेखाओं में प्रकट हुए।[7] इसके अलावा, Log4j 2 ने प्लगइन आर्किटेक्चर पेश किया जो इसे अपने पूर्ववर्ती की तुलना में अधिक विस्तार योग्य बनाता है। Log4j 2 1.x संस्करणों के साथ पीछे संगत नहीं है,[8] हालांकि एडेप्टर उपलब्ध है। 5 अगस्त 2015 को, अपाचे लॉगिंग सर्विसेज प्रोजेक्ट मैनेजमेंट कमेटी ने घोषणा की कि लॉग 4 जे 1 जीवन के अंत तक पहुंच गया था और लॉग 4 जे 1 के उपयोगकर्ताओं को अपाचे लॉग 4 जे 2 में अपग्रेड करने की सलाह दी गई थी।[9] 12 जनवरी, 2022 को, Ceki Gülcü द्वारा Reload4j संस्करण 1.2.18.0 के रूप में कांटा और नया नाम दिया गया log4j संस्करण 1.2 जारी किया गया था, जिसका उद्देश्य log4j 1.2.17 में सबसे जरूरी मुद्दों को ठीक करना था जो 2013 में इसकी रिलीज के बाद से जमा हो गए थे।[10]
9 दिसंबर, 2021 को, शून्य-दिन (कंप्यूटिंग) | शून्य-दिन की भेद्यता जिसमें Log4j 2 में मनमाना कोड निष्पादन शामिल है, को अलीबाबा क्लाउड सिक्योरिटी टीम द्वारा प्रकाशित किया गया था और विवरणक Log4Shell दिया गया था।[11]इसे Tenable, Inc. द्वारा पिछले दशक की सबसे बड़ी, सबसे महत्वपूर्ण भेद्यता के रूप में चित्रित किया गया है।[12]
अपाचे लॉग 4 जे 2
Apache Log4j 2, Log4j 1 का उत्तराधिकारी है जिसे जुलाई 2014 में सॉफ़्टवेयर रिलीज़ जीवन चक्र #सामान्य उपलब्धता .28GA.29 के रूप में जारी किया गया था। फ्रेमवर्क को स्क्रैच से फिर से लिखा गया था और यह मौजूदा लॉगिंग समाधानों से प्रेरित है, जिसमें Log4j 1 और java.util शामिल हैं। .लॉगिंग। मुख्य अंतर[13][14] Log4j 1 से हैं:
- बेहतर विश्वसनीयता। Log4j 1 या Logback जैसे ढांचे को पुन: कॉन्फ़िगर करते समय संदेश गुम नहीं होते हैं
- एक्स्टेंसिबिलिटी: उपयोगकर्ताओं को कस्टम घटकों को परिभाषित और कॉन्फ़िगर करने देने के लिए Log4j 2 प्लगइन सिस्टम का समर्थन करता है
- सरलीकृत कॉन्फ़िगरेशन सिंटैक्स
- एक्सएमएल, जेसन, यमल और गुण विन्यास के लिए समर्थन
- बेहतर फिल्टर
- कॉन्फ़िगरेशन फ़ाइल, सिस्टम गुण, पर्यावरण चर, थ्रेडकॉन्टेक्स्ट मानचित्र और घटना में मौजूद डेटा में परिभाषित मूल्यों के लिए संपत्ति लुकअप समर्थन
- एकाधिक एपीआई के लिए समर्थन: लॉग4जे 2 का उपयोग लॉग4जे 2, लॉग4जे 1.2, एसएलएफ4जे, कॉमन्स लॉगिंग और जावा.यूटिल.लॉगिंग (जेयूएल) एपीआई का उपयोग करने वाले अनुप्रयोगों के साथ किया जा सकता है।
- कस्टम लॉग स्तर
- आलसी लॉगिंग के लिए जावा 8-शैली लैम्ब्डा समर्थन
- मार्कर
- उपयोगकर्ता परिभाषित संदेश वस्तुओं के लिए समर्थन
- सामान्य विन्यास में कचरा मुक्त या कम कचरा
- बेहतर गति
- लिनक्स के लिए बेहतर समर्थन
Log4j 2 की सबसे अधिक पहचानी जाने वाली विशेषताओं में से एसिंक्रोनस लॉगर्स का प्रदर्शन है।[15] Log4j 2 विघ्नकर्ता (सॉफ्टवेयर) का उपयोग करता है।[16] पुस्तकालय कर्नेल लॉकिंग की आवश्यकता को कम करता है और लॉगिंग प्रदर्शन को 12 गुना बढ़ा देता है। उदाहरण के लिए, उसी वातावरण में Log4j 2 प्रति सेकंड 18,000,000 से अधिक संदेश लिख सकता है, जबकि अन्य फ्रेमवर्क जैसे Logback और Log4j 1 केवल <2,000,000 संदेश लिखते हैं प्रति सेकंड।
सुविधाएँ
Log4j लॉग स्तर
निम्न तालिका गंभीरता के घटते क्रम में Log4j में अंतर्निहित लॉग स्तरों और संदेशों को परिभाषित करती है। बायाँ स्तंभ Log4j में लॉग स्तर पदनाम को सूचीबद्ध करता है और दायाँ स्तंभ प्रत्येक लॉग स्तर का संक्षिप्त विवरण प्रदान करता है।
Level | Description |
---|---|
OFF | The highest possible rank and is intended to turn off logging. |
FATAL | Severe errors that cause premature termination. Expect these to be immediately visible on a status console. |
ERROR | Other runtime errors or unexpected conditions. Expect these to be immediately visible on a status console. |
WARN | 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. |
INFO | Interesting runtime events (startup/shutdown). Expect these to be immediately visible on a console, so be conservative and keep to a minimum. |
DEBUG | 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. |
TRACE | Most detailed information. Expect these to be written to logs only. Since version 1.2.12.[17] |
कस्टम लॉग स्तर
Log4j 2 उपयोगकर्ताओं को अपने स्वयं के लॉग स्तरों को परिभाषित करने की अनुमति देता है।[18] लॉगर्स बनाने के लिए स्रोत कोड जनरेटर उपकरण प्रदान किया जाता है जो कस्टम लॉग स्तरों को अंतर्निहित लॉग स्तरों के समान समर्थन करता है। कस्टम लॉग स्तर या तो अंतर्निर्मित लॉग स्तरों को पूरक या प्रतिस्थापित कर सकते हैं।
Log4j कॉन्फ़िगरेशन
Log4j को कॉन्फ़िगर किया जा सकता है[19] कॉन्फ़िगरेशन फ़ाइल या जावा कोड के माध्यम से। कॉन्फ़िगरेशन फ़ाइलें XML, JSON, YAML, या .properties प्रारूप में लिखी जा सकती हैं। कॉन्फ़िगरेशन के भीतर, आप तीन मुख्य घटकों को परिभाषित कर सकते हैं: लकड़हारे, परिशिष्ट और लेआउट। फ़ाइल के माध्यम से लॉगिंग को कॉन्फ़िगर करने का लाभ यह है कि लॉग 4j का उपयोग करने वाले एप्लिकेशन को संशोधित किए बिना लॉगिंग को चालू या बंद किया जा सकता है। उदाहरण के लिए, जब तक कोई समस्या न हो, एप्लिकेशन को लॉगिंग ऑफ के साथ चलाने की अनुमति दी जा सकती है, और फिर कॉन्फ़िगरेशन फ़ाइल को संशोधित करके लॉगिंग को वापस चालू किया जा सकता है।
वालों[20] लॉग संदेश गंतव्य नामित हैं। वे नाम हैं जो जावा एप्लिकेशन के लिए जाने जाते हैं। प्रत्येक लकड़हारा स्वतंत्र रूप से कॉन्फ़िगर करने योग्य है कि वह वर्तमान में लॉगिंग के किस स्तर (FATAL, ERROR, आदि) पर लॉग करता है। Log4j के शुरुआती संस्करणों में, इन्हें श्रेणी और प्राथमिकता कहा जाता था, लेकिन अब इन्हें क्रमशः लकड़हारा और स्तर कहा जाता है। लकड़हारा कई परिशिष्टों को लॉग संदेश भेज सकता है।
वास्तविक आउटपुट परिशिष्ट द्वारा किया जाता है।[21] वर्णनात्मक नामों के साथ कई परिशिष्ट उपलब्ध हैं, जैसे FileAppender, RollingFileAppender, ConsoleAppender, सॉकेटएपेंडर, SyslogAppender, और SMTPAppender। Log4j 2 ने उन परिशिष्टों को जोड़ा जो Apache Flume, Java Persistence API, Apache Kafka, NoSQL डेटाबेस, मेमोरी-मैप की गई फ़ाइलों, रैंडम एक्सेस फ़ाइलों को लिखते हैं[22] और ज़ीरोएमक्यू एंडपॉइंट्स। एकाधिक परिशिष्ट किसी भी लकड़हारे से जुड़े हो सकते हैं, इसलिए ही जानकारी को कई आउटपुट में लॉग करना संभव है; उदाहरण के लिए स्थानीय रूप से फ़ाइल और दूसरे कंप्यूटर पर इंटरनेट सॉकेट श्रोता के लिए।
परिशिष्ट लेआउट का उपयोग करते हैं[23] लॉग प्रविष्टियों को प्रारूपित करने के लिए। एक-पंक्ति-पर-एक-समय लॉग फ़ाइलों को प्रारूपित करने का लोकप्रिय तरीका पैटर्न लेआउट है, जो पैटर्न स्ट्रिंग का उपयोग करता है, जैसे सी (प्रोग्रामिंग भाषा) / सी ++ फ़ंक्शन printf । जब HTML या XML प्रारूप क्रमशः अधिक सुविधाजनक होते हैं, तो उपयोग के लिए HTMLLayout और XMLLayout स्वरूपक भी होते हैं। Log4j 2 ने कोमा से अलग किए गए मानों के लिए लेआउट जोड़े, ग्रेलॉग एक्सटेंडेड लॉग फॉर्मेट (GELF),[24] JSON, YAML और RFC-5424।[25] Log4j 2 में, फ़िल्टर[26] अधिक सुक्ष्म नियंत्रण देने के लिए कॉन्फ़िगरेशन तत्वों पर परिभाषित किया जा सकता है कि कौन से लॉग प्रविष्टियों को संसाधित किया जाना चाहिए जिनके द्वारा लॉगर और परिशिष्ट। संदेश स्ट्रिंग पर लॉग लेवल और रेगुलर एक्सप्रेशन मैचिंग द्वारा फ़िल्टर करने के अलावा, Log4j 2 ने बर्स्ट फ़िल्टर, टाइम फ़िल्टर, अन्य लॉग इवेंट विशेषताओं जैसे मार्कर या थ्रेड कॉन्टेक्स्ट मैप और JSR 223 स्क्रिप्ट फ़िल्टर द्वारा फ़िल्टर किया।
दुर्व्यवहार करने वाले कॉन्फ़िगरेशन को डीबग करने के लिए:
- Log4j 2 कॉन्फ़िगरेशन में सेट करें
status
मानक स्ट्रीम में आंतरिक स्थिति लॉगिंग आउटपुट भेजने के लिए TRACE को विशेषता। कॉन्फ़िगरेशन मिलने से पहले स्थिति लॉगिंग सक्षम करने के लिए, Java VM गुण का उपयोग करें-Dorg.apache.logging.log4j.simplelog.StatusLogger.level=trace
. - Log4j 1 में, Java VM गुण का उपयोग करें
-Dlog4j.debug
.
यह पता लगाने के लिए कि log4j2.xml कॉन्फ़िगरेशन फ़ाइल को निरीक्षण से कहाँ लोड किया गया था getClass().getResource("/log4j2.xml")
.
Log4j का अंतर्निहित अपुष्ट या डिफ़ॉल्ट कॉन्फ़िगरेशन भी है, जो कि Log4j-इंस्ट्रूमेंटेड Java एप्लिकेशन का है जिसमें किसी भी Log4j कॉन्फ़िगरेशन का अभाव है। यह चेतावनी को प्रिंट करता है कि प्रोग्राम अपुष्ट है, और Log4j वेब साइट का URL जहां चेतावनी और कॉन्फ़िगरेशन पर विवरण मिल सकता है। इस चेतावनी को प्रिंट करने के साथ-साथ, अपुष्ट Log4j एप्लिकेशन केवल ERROR या FATAL लॉग प्रविष्टियों को मानक आउट में प्रिंट करेगा।
==== Log4j 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>
==== Log4j 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 संदेश प्रारूप है जिसका उपयोग log4j द्वारा किया जाता है।[27] TTCC टाइम थ्रेड कैटेगरी कंपोनेंट के लिए संक्षिप्त शब्द है। यह निम्न पैटर्न का उपयोग करता है:
%r [%t] %-5p %c %x - %m%n
कहाँ
Mnemonic | Description |
---|---|
%r | Used to output the number of milliseconds elapsed from the construction of the layout until the creation of the logging event. |
%t | Used to output the name of the thread that generated the logging event. |
%p | Used to output the priority of the logging event. |
%c | Used to output the category of the logging event. |
%x | Used to output the NDC (nested diagnostic context) associated with the thread that generated the logging event.[28] |
%X{key} | Used to output the MDC (mapped diagnostic context) associated with the thread that generated the logging event for specified key.[29] |
%m | Used to output the application supplied message associated with the logging event. |
%n | Used to output the platform-specific newline character or characters. |
उदाहरण आउटपुट
467 [मुख्य] जानकारी org.apache.log4j.examples.Sort - मुख्य विधि से बाहर निकलना।
पोर्ट्स
- log4c - C के लिए पोर्ट। Log4C C-आधारित कंप्यूटर डेटा लॉगिंग लाइब्रेरी है, जिसे LGPL लाइसेंस के तहत SourceForge पर जारी किया गया है। विभिन्न यूनिक्स ऑपरेटिंग सिस्टम के लिए autoconf ़ और automake फ़ाइलें प्रदान की जाती हैं। माइक्रोसॉफ़्ट विंडोज़ ़ पर एमएसवीसी के साथ उपयोग के लिए मेकफाइल प्रदान की जाती है। सॉफ्टवेयर डेवलपर अपनी निर्माण इंजीनियरिंग आवश्यकताओं के आधार पर स्रोत को संकलित करने के लिए अपने स्वयं के मेक सिस्टम का उपयोग करना चुन सकते हैं। Log4c लाइब्रेरी का उदाहरण तीन तरीकों से कॉन्फ़िगर किया जा सकता है: पर्यावरण चर का उपयोग करके, प्रोग्रामेटिक रूप से, या XML कॉन्फ़िगरेशन फ़ाइल के माध्यम से। log4c में फ़ाइलें, स्ट्रीम और मेमोरी मैप की गई फ़ाइलों के लिए परिशिष्ट हैं। (कोई सॉकेट एडेप्टर नहीं।) अंतिम संस्करण 1.2.4 है, जो 2013 में जारी किया गया था, और परियोजना अब सक्रिय रूप से विकसित नहीं हुई है।[30]
- log4js - जावास्क्रिप्ट के लिए पोर्ट। Log4js Apache Software Foundation के लाइसेंस के अंतर्गत उपलब्ध है। Log4js की विशेष विशेषता ब्राउज़र की घटनाओं को सर्वर पर दूरस्थ रूप से लॉग करने की क्षमता है। अजाक्स (प्रोग्रामिंग) का उपयोग करके लॉगिंग घटनाओं को कई प्रारूपों (एक्सएमएल, जेएसओएन, सादा एएससीआईआई, आदि) में मूल्यांकन के लिए सर्वर पर भेजना संभव है। निम्न परिशिष्ट log4js के लिए लागू किए गए हैं: AjaxAppender, ConsoleAppender, FileAppender, JSConsoleAppender, MetatagAppender, और WindowsEventsAppender। निम्नलिखित लेआउट कक्षाएं प्रदान की जाती हैं: बेसिकलाउट, एचटीएमएल लेआउट, जेएसओएन लेआउट, और एक्सएमएल लेआउट। नवीनतम संस्करण as of 2021[update] 18 अक्टूबर 2018 का 2.0 था।[31]
- log4javascript - जावास्क्रिप्ट के लिए और पोर्ट। log4javascript log4j पर आधारित जावास्क्रिप्ट लॉगिंग फ्रेमवर्क है। नवीनतम संस्करण as of 2021[update] 1.4.13 था, 23 मई 2015 को जारी किया गया।[32]
- JSNLog - जावास्क्रिप्ट के लिए पोर्ट। Log4Net, NLog, Elmah या Common.Logging के साथ इंटरफेस करने वाले .NET सर्वर साइड घटक का उपयोग करके सर्वर साइड लॉग में जावास्क्रिप्ट लॉगर से संदेशों को स्वचालित रूप से रखता है। यह क्लाइंट और सर्वर साइड इवेंट्स के लिए एकीकृत लॉग प्रदान करने के लिए है। अनुरोध आईडी विशिष्ट उपयोगकर्ता से संबंधित घटनाओं से संबंधित हैं। कॉन्फ़िगरेशन सर्वर साइड web.config फ़ाइल के माध्यम से होता है। स्टैक ट्रेस सहित अपवाद लॉगिंग का समर्थन करता है। As of 2021[update] नवीनतम संस्करण 3.0.0 था और अद्यतन नियमित रूप से किए गए थे।[33]
- Apache Log4net - Microsoft .NET Framework के लिए पोर्ट। प्रारंभिक कार्य Neoworks द्वारा किया गया था और फरवरी 2004 में Apache Software Foundation को दान कर दिया गया था। .NET रनटाइम में नई सुविधाओं का लाभ उठाते हुए रूपरेखा मूल log4j के समान है। नेस्टेड डायग्नोस्टिक कॉन्टेक्स्ट (NDC) और मैप्ड डायग्नोस्टिक कॉन्टेक्स्ट (MDC) प्रदान करता है। नवीनतम संस्करण as of 2022[update] 2.0.15 था।[34]
- log4perl - log4j का पर्ल पोर्ट। फरवरी 2017 का संस्करण 1.49 चालू था as of 2021[update].[35]
- Apache log4php - PHP के लिए बहुमुखी लॉगिंग फ्रेमवर्क। मूल रूप से PHP के लिए Apache log4j का पोर्ट, यह विभिन्न PHP विशिष्ट विशेषताओं को शामिल करने के लिए विकसित हुआ है।[36]
- पीएल-एसक्यूएल-लॉगिंग-यूटिलिटी पीएल/एसक्यूएल में लॉग4जे का अनुकूलन है।[37]
- Log4db2 LUW के लिए DB2 के लिए लॉगिंग यूटिलिटी है जो SQL PL कोड के साथ SQL निर्देशों का उपयोग करता है।[38]
- Apache Log4cxx - Apache log4j के बाद प्रतिरूपित C++ के लिए लॉगिंग फ्रेमवर्क, जो अधिकांश प्लेटफ़ॉर्म-विशिष्ट कोड के लिए Apache अपाचे पोर्टेबल रनटाइम उपयोग करता है और APR द्वारा समर्थित किसी भी प्लेटफ़ॉर्म पर प्रयोग करने योग्य होना चाहिए। नवीनतम संस्करण 0.13.0 है, जो 2022 में जारी किया गया था।[39]
- Log4r - रूबी कार्यक्रमों में उपयोग के लिए रूबी में लिखित व्यापक और लचीली लॉगिंग लाइब्रेरी। यह Apache Log4j प्रोजेक्ट की अधिकांश विशेषताओं से प्रेरित था और प्रदान करता है।[40]
Log4Shell भेद्यता
ज़ीरो-डे (कंप्यूटिंग) | ज़ीरो-डे भेद्यता जिसमें Log4j 2 में मनमाना कोड निष्पादन शामिल है, डिस्क्रिप्टर Log4Shell (सामान्य भेद्यता और एक्सपोजर-2021-44228) दिया गया था, पाया गया और 24 नवंबर, 2021 को अलीबाबा समूह द्वारा अपाचे को रिपोर्ट किया गया। और 9 दिसंबर, 2021 को ट्विटर पर प्रकाशित किया गया।[11] प्रभावित सेवाओं में शामिल हैं Cloudflare, iCloud, Minecraft: Java Edition,[41] स्टीम (सेवा), Tencent QQ और Twitter।[42][43][44] Apache Software Foundation ने Log4Shell को 10 की अधिकतम सामान्य भेद्यता स्कोरिंग सिस्टम गंभीरता रेटिंग दी, क्योंकि लाखों सर्वर संभावित रूप से शोषण के प्रति संवेदनशील हो सकते हैं।[44]भेद्यता की विशेषता साइबर सुरक्षा फर्म टेनेबल, इंक। द्वारा पिछले दशक की सबसे बड़ी, सबसे महत्वपूर्ण भेद्यता के रूप में की गई थी[12] और लुनासेक के फ्री वोर्टली ने इसे आपदाजनक अनुपात की डिजाइन विफलता के रूप में चित्रित किया।[45] संयुक्त राज्य अमेरिका में, साइबर साइबर सुरक्षा और बुनियादी ढांचा सुरक्षा एजेंसी (CISA) के निदेशक, जेन ईस्टरली ने शोषण को महत्वपूर्ण करार दिया और विक्रेताओं को सॉफ़्टवेयर अपडेट को प्राथमिकता देने की सलाह दी,[46] और जर्मन एजेंसी सूचना सुरक्षा के लिए संघीय कार्यालय (BSI) ने शोषण को अपने उच्चतम खतरे के स्तर पर होने के रूप में नामित किया, इसे अत्यंत महत्वपूर्ण खतरे की स्थिति (अनुवादित) कहा।[47][48] साइबर सुरक्षा के लिए कनाडाई केंद्र (CCCS) ने संगठनों से तत्काल कार्रवाई करने का आह्वान किया।[49] भेद्यता पैदा करने वाली सुविधा को कॉन्फ़िगरेशन सेटिंग के साथ अक्षम किया जा सकता है, जिसे हटा दिया गया था[50] Log4j संस्करण 2.15.0-rc1 में (आधिकारिक तौर पर भेद्यता प्रकाशित होने से तीन दिन पहले 6 दिसंबर, 2021 को जारी किया गया), और दूरस्थ लुकअप को प्रतिबंधित करने वाली विभिन्न सेटिंग्स द्वारा प्रतिस्थापित किया गया, जिससे भेद्यता कम हो गई।[51][52] अतिरिक्त सुरक्षा के लिए, जावा नामकरण और निर्देशिका इंटरफ़ेस का उपयोग करने वाली सभी सुविधाएँ, जिस पर यह भेद्यता आधारित थी, डिफ़ॉल्ट रूप से अक्षम हो जाएंगी, और संस्करण 2.16.0 से संदेश लुकअप के लिए समर्थन हटा दिया जाएगा।[53][54]
यह भी देखें
- चेनसॉ (लॉग फाइल व्यूअर)
संदर्भ
- ↑ "Apache Log4j 1.2 Release History". apache.org. Apache Software Foundation. Retrieved 2014-09-02.
- ↑ "Log4j – Changes - Apache Log4j 2". apache.org. Apache Software Foundation. Archived from the original on April 25, 2022. Retrieved 2021-12-18.
- ↑ "Reload4j Home". reload4j.qos.ch. Retrieved 2022-01-12.
- ↑ "लॉगबैक होम". Logback.qos.ch. Retrieved 2014-07-24.
- ↑ Grigg, Kadi. "Wicked Good Development - Cybersecurity Experts Talk Log4J, Open Source and More". blog.sonatype.com (in English). Retrieved 2022-08-16.
- ↑ "Log4j 2 Guide - Apache Log4j 2". Logging.apache.org. 2014-07-12. Retrieved 2014-07-24.
- ↑ Goers, Ralph (15 December 2019). "Why was Log4j 2 created?". Ralph Goers.
- ↑ "Log4j 2 Guide - Apache Log4j 2: News". Logging.apache.org. 2014-07-12. Retrieved 2014-07-24.
- ↑ "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.
- ↑ "Reload4j Project; Easy migration from log4j 1.2.x". qos.ch. 2022-01-12. Retrieved 2022-01-12.
- ↑ 11.0 11.1 "What's the Deal with the Log4Shell Security Nightmare?". Lawfare. December 10, 2021.
- ↑ 12.0 12.1 "हाल ही में खुला सॉफ्टवेयर दोष 'पिछले दशक की सबसे महत्वपूर्ण भेद्यता'". the Guardian. Associated Press. December 11, 2021.
- ↑ "The new log4j 2.0". Grobmeier.de. 2012-12-05. Retrieved 2014-07-24.
- ↑ "Log4j – Overview - Apache Log4j 2". logging.apache.org. 2016-06-05. Retrieved 2016-07-03.
- ↑ "Log4j 2 Asynchronous Loggers for Low-Latency Logging - Apache Log4j 2". Logging.apache.org. 2014-07-12. Retrieved 2014-07-24.
- ↑ "एलएमएक्स-एक्सचेंज द्वारा विघटनकर्ता". Lmax-exchange.github.io. Retrieved 2014-07-24.
- ↑ "Level (Apache Log4j 1.2.17 API)". Logging.apache.org. 2012-06-09. Retrieved 2014-07-24.
- ↑ "कस्टम लॉग स्तर". Logging.apache.org. 2014-07-12. Retrieved 2016-07-16.
- ↑ "विन्यास". Logging.apache.org. 2016-07-05. Retrieved 2016-07-16.
- ↑ "वास्तुकला". Logging.apache.org. 2016-07-05. Retrieved 2016-07-16.
- ↑ "परिशिष्ट". Logging.apache.org. 2016-07-05. Retrieved 2016-07-16.
- ↑ एक्सेसफाइल.html "रैंडम एक्सेसफाइल". docs.oracle.com. 2011-07-28. Retrieved 2016-07-16.
{{cite web}}
: Check|url=
value (help) - ↑ "लेआउट". Logging.apache.org. 2016-07-05. Retrieved 2016-07-16.
- ↑ "कला". docs.graylog.org. 2016-06-08. Archived from the original on February 9, 2020. Retrieved 2016-07-16.
- ↑ 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) - ↑ "फिल्टर". Logging.apache.org. 2016-07-05. Retrieved 2016-07-16.
- ↑ "TTCCLayout (Apache Log4j 1.2.17 API)". Logging.apache.org. 2012-06-09. Retrieved 2014-07-24.
- ↑ "Class NDC". Archived from the original on 2007-08-20. Retrieved 2021-12-11.
- ↑ "MDC (Apache Log4j 1.2.17 API)". Logging.apache.org. 2012-06-09. Retrieved 2014-07-24.
- ↑ "Logging Framework for C | Free System Administration software downloads at". Sourceforge.net. Retrieved 2014-07-24.
- ↑ "stritti/Log4js - The Logging Framework for JavaScript with no runtime dependencies". GitHub. Retrieved 11 December 2021.
- ↑ "एक जावास्क्रिप्ट लॉगिंग फ्रेमवर्क". log4javascript. Retrieved 2021-12-11.
- ↑ "अपने सर्वर साइड लॉग में जावास्क्रिप्ट त्रुटियों को लॉग करना". JSNLog. Retrieved 2021-12-11.
- ↑ "Apache log4net". Logging.apache.org. Retrieved 2021-12-11.
- ↑ Schilli, Mike; Goess, Kevin. "log4perl - log4j for Perl". log4perl. Retrieved 2021-12-11.
- ↑ "अपाचे लॉगिंग सेवाएं". Apache.org. Retrieved 2015-03-11.
- ↑ "tmuth/Logger-A-PL-SQL-Logging-Utility — GitHub". Github.com. Retrieved 2014-07-24.
- ↑ "Log4db2 by angoca". Angoca.github.io. Retrieved 2014-07-24.
- ↑ "log4cxx - Changelog". logging.apache.org.
- ↑ "Log4r Manual". log4r.rubyforge.org. Archived from the original on 2012-12-25. Retrieved 2017-04-13.
- ↑ "Security Vulnerability in Minecraft: Java Edition". Minecraft. 10 December 2021.
- ↑ Goodin, Dan (December 9, 2021). "Zeroday in ubiquitous Log4j tool poses a grave threat to the Internet". Ars Technica. Retrieved December 10, 2021.
- ↑ "Worst Apache Log4j RCE Zero day Dropped on Internet". Cyber Kendra. December 9, 2021. Retrieved December 10, 2021.
- ↑ 44.0 44.1 Mott, Nathaniel (December 10, 2021). "Countless Servers Are Vulnerable to Apache Log4j Zero-Day Exploit". PC Magazine. Retrieved December 10, 2021.
- ↑ Newman, Lily Hay (10 December 2021). "इंटरनेट आग पर है". Wired – via www.wired.com.
- ↑ "Statement from CISA Director Easterly on "Log4j" Vulnerability". CISA. Washington. 2021-12-11.
- ↑ "BSI warnt vor Sicherheitslücke" [BSI warns of security vulnerabilities]. Tagesschau (in Deutsch). 2021-12-12.
- ↑ "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.
- ↑ "अपाचे भेद्यता पर राष्ट्रीय रक्षा मंत्री का बयान और कनाडा के संगठनों को तत्काल कार्रवाई करने का आह्वान". Government of Canada (in English). 2021-12-12. Archived from the original on December 20, 2021. Retrieved December 12, 2021.
- ↑ "LOG4J2-3198: Log4j2 no longer formats lookups in messages by default". GitHub (in English). 2021-12-05.
- ↑ "Restrict LDAP access via JNDI by rgoers · Pull Request #608 · apache/logging-log4j2". GitHub (in English). 30 November–5 December 2021
- ↑ "Apache Log4j Security Vulnerabilities". 2021-12-06.
- ↑ "LOG4J2-3208: Disable JNDI by default". December 11, 2021. Retrieved 2021-12-14.
- ↑ "LOG4J2-3211: Remove support for Lookups in messages". 2021-12-13. Retrieved 2021-12-14.
अग्रिम पठन
- Gülcü, Ceki (February 2010), The Complete Log4j Manual (2nd ed.), QOS.ch, p. 204, ISBN 978-2-9700369-0-6
- Gupta, Samudra (June 22, 2005), Pro Apache Log4j (2nd ed.), Apress, p. 224, ISBN 978-1-59059-499-5
बाहरी संबंध
- No URL found. Please specify a URL here or add one to Wikidata.