JavaRush /Blog Jawa /Random-JV /Kita nyambungake log menyang proyek JavaRush (slf4f lan l...

Kita nyambungake log menyang proyek JavaRush (slf4f lan log4j)

Diterbitake ing grup
Sampeyan bisa maca carane nyambungake Maven menyang proyek JavaRush ing artikelku iki . Ing ngisor iki nganggep sampeyan ngerti carane nindakake iki. Yen kita pengin nggunakake slf4j, kita butuh dependensi:
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.30</version>
</dependency>
Sawise iki kita nindakake:
public static void main(String[] args) throws IOException {
    Logger logger = LoggerFactory.getLogger(Solution.class);
    logger.info("hello world!");
}
Lan kita entuk kesalahan:
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.
Sing umume logis. slf4j minangka bungkus, nanging apa sing kita bungkus? ora apa-apa? Inggih, kita entuk kesalahan. Sampeyan bisa mbungkus salah siji saka ing ngisor iki: log4j, util.logging, NOP, System.err, JCL, logback. Rincian liyane ing pandhuan asli . Ayo kang katon ing conto log4j lan System.err: 1) Ayo dadi miwiti karo soko prasaja, karo System.err . Kanggo nindakake iki, nambah siji iki (slf4j-simple) menyang dependensi sadurungé (slf4j-api).
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.7.30</version>
</dependency>
Kita njupuk versi sing padha, wiwit 10 Mei 2021 yaiku 1.7.30. Yen sampeyan njupuk dependensi saka https://mvnrepository.com/ , aja lali mbusak
<scope>test</scope>
Yen ora, log sampeyan mung bisa digunakake ing tes. 2) Saiki ayo nyoba kanggo ngatur log4j , iki kita kudu nambah 2 dependensi: log4j dhewe lan lapisan antarane slf4j lan log4j (slf4j-log4j12). Katon kaya mangkene:
<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>
Cetha yen kita kudu mbusak (slf4j-prasaja) supaya slf4j ora bingung karo logger sing kudu digarap. Lan ninggalake (slf4j-api), amarga iki slf4j. Babagan 2 dependensi sing ditambahake. log4j kita nambah sing lawas (saka Mei 2012, aku ora ngerti apa, sampeyan bisa eksprimen karo wong liya). Versi 1.2.17. Supaya slf4j bisa karo, sampeyan kudu lapisan cocok - slf4j-log4j12, ngendi karakter pungkasan (12) tegese versi log4j. Ing kasus iki, versi slf4j-api lan slf4j-log4j12 kudu 1.7.30 - sing paling anyar stabil saiki. Sawise sampeyan nyambungake dependensi lan nganyari proyek Maven. Kanggo log4j bisa digunakake, sampeyan butuh 2 liyane: 1) Nggawe file konfigurasi. Kita maca, milih, nyalin. 2) Waca konfigurasi log4j sadurunge kerja:
PropertyConfigurator.configure("d:\\Java\\JavaRushTasks\\4.JavaCollections\\log4j.properties");
Inggih, utawa ngendi sampeyan duwe file. Yen sampeyan pengin ndeleng kabeh log, aja lali nyetel level log menyang ALL. Kita nambah menyang resume - log4j & slf4j. Koe ayu! Yen mbantu - like, subscribe, lonceng!)))
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION