JavaRush /جاوا بلاگ /Random-UR /ہم لاگنگ کو اپنے JavaRush پروجیکٹ سے جوڑتے ہیں (slf4f اور...

ہم لاگنگ کو اپنے JavaRush پروجیکٹ سے جوڑتے ہیں (slf4f اور log4j)

گروپ میں شائع ہوا۔
آپ میرے اس مضمون میں Maven کو اپنے JavaRush پروجیکٹ سے جوڑنے کا طریقہ پڑھ سکتے ہیں ۔ مندرجہ ذیل فرض کرتا ہے کہ آپ جانتے ہیں کہ یہ کیسے کرنا ہے۔ اگر ہم slf4j استعمال کرنا چاہتے ہیں، تو ہمیں انحصار کی ضرورت ہے:
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.30</version>
</dependency>
اس کے بعد ہم کرتے ہیں:
public static void main(String[] args) throws IOException {
    Logger logger = LoggerFactory.getLogger(Solution.class);
    logger.info("hello world!");
}
اور ہمیں غلطی ملتی ہے:
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
جو عموماً منطقی ہوتا ہے۔ slf4j ایک ریپر ہے، لیکن ہم نے اسے کیا لپیٹ دیا؟ کچھ نہیں؟ ٹھیک ہے، ہمیں ایک غلطی ہو گئی ہے۔ آپ اسے مندرجہ ذیل میں سے کسی ایک کے گرد لپیٹ سکتے ہیں: log4j، util.logging، NOP، System.err، JCL، logback۔ اصل ہدایات میں مزید تفصیلات ۔ آئیے log4j اور System.err کی مثال دیکھیں: 1) آئیے ایک سادہ سے شروع کریں، System.err کے ساتھ ۔ ایسا کرنے کے لیے، اس کو (slf4j-simple) کو پچھلی انحصار (slf4j-api) میں شامل کریں۔
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.7.30</version>
</dependency>
ہم وہی ورژن لیتے ہیں، 10 مئی 2021 تک یہ 1.7.30 ہے۔ اگر آپ https://mvnrepository.com/ سے انحصار لیتے ہیں تو اسے ہٹانا نہ بھولیں۔
<scope>test</scope>
بصورت دیگر، آپ کے نوشتہ جات صرف ٹیسٹوں میں کام کریں گے۔ 2) اب ہم log4j کو کنفیگر کرنے کی کوشش کرتے ہیں ، اس کے لیے ہمیں 2 انحصار شامل کرنے کی ضرورت ہے: log4j خود اور slf4j اور log4j (slf4j-log4j12) کے درمیان ایک تہہ۔ ایسا لگتا ہے:
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.7.30</version>
</dependency>
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>
یہ واضح ہے کہ ہمیں (slf4j-simple) کو ہٹانے کی ضرورت ہے تاکہ slf4j اس الجھن میں نہ پڑے کہ اسے کس لاگر کے ساتھ کام کرنا چاہیے۔ اور (slf4j-api) چھوڑ دیں، کیونکہ یہ slf4j ہے۔ 2 شامل کردہ انحصار کے بارے میں۔ log4j ہم پرانے کو شامل کر رہے ہیں (مئی 2012 سے، مجھے نہیں معلوم کیوں، آپ دوسروں کے ساتھ تجربہ کر سکتے ہیں)۔ اس کا ورژن 1.2.17 ہے۔ slf4j کے ساتھ کام کرنے کے لیے، آپ کو ایک مناسب پرت کی ضرورت ہے - slf4j-log4j12، جہاں آخری حروف (12) کا مطلب log4j ورژن ہے۔ اس صورت میں، slf4j-api اور slf4j-log4j12 کا ورژن 1.7.30 ہونا چاہیے - جو اس وقت تازہ ترین مستحکم ہے۔ آپ کے انحصار کو مربوط کرنے اور ماون پروجیکٹ کو اپ ڈیٹ کرنے کے بعد۔ log4j کے کام کرنے کے لیے، آپ کو مزید 2 چیزوں کی ضرورت ہے: 1) کنفیگریشن فائل سیٹ کریں۔ ہم پڑھتے ہیں، منتخب کرتے ہیں، کاپی کرتے ہیں۔ 2) کام سے پہلے log4j کنفیگریشن پڑھیں:
PropertyConfigurator.configure("d:\\Java\\JavaRushTasks\\4.JavaCollections\\log4j.properties");
ٹھیک ہے، یا آپ کے پاس فائل کہاں ہے۔ اگر آپ تمام لاگز دیکھنا چاہتے ہیں تو لاگنگ لیول کو ALL پر سیٹ کرنا نہ بھولیں۔ ہم ریزیومے میں شامل کرتے ہیں - log4j اور slf4j۔ آپ بہت خوبصورت ہیں! اگر اس نے مدد کی - پسند کریں، سبسکرائب کریں، گھنٹی!)))
تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION