JavaRush /جاوا بلاگ /Random-SD /اسان لاگنگ کي اسان جي JavaRush پروجيڪٽ سان ڳنڍيون ٿا (slf...

اسان لاگنگ کي اسان جي 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 هجڻ گهرجي - هن وقت تازو مستحڪم هڪ. ان کان پوء توهان انحصار کي ڳنڍيو ۽ Maven پروجيڪٽ کي اپڊيٽ ڪيو. 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