JavaRush /Java Blog /Random-TL /Ikinonekta namin ang pag-log sa aming proyekto ng JavaRus...

Ikinonekta namin ang pag-log sa aming proyekto ng JavaRush (slf4f at log4j)

Nai-publish sa grupo
Mababasa mo kung paano ikonekta ang Maven sa iyong proyekto ng JavaRush sa artikulo kong ito . Ipinapalagay ng sumusunod na alam mo kung paano ito gawin. Kung gusto naming gumamit ng slf4j, kailangan namin ng dependency:
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.30</version>
</dependency>
Pagkatapos nito ginagawa namin:
public static void main(String[] args) throws IOException {
    Logger logger = LoggerFactory.getLogger(Solution.class);
    logger.info("hello world!");
}
At nakukuha namin ang error:
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.
Na sa pangkalahatan ay lohikal. Ang slf4j ay isang wrapper, ngunit ano ang ibinalot namin dito? Wala? Well, nagkamali kami. Maaari mo itong ibalot sa isa sa mga sumusunod: log4j, util.logging, NOP, System.err, JCL, logback. Higit pang mga detalye sa orihinal na mga tagubilin . Tingnan natin ang halimbawa ng log4j at System.err: 1) Magsimula tayo sa isang bagay na simple, sa System.err . Upang gawin ito, idagdag ang isang ito (slf4j-simple) sa nakaraang dependency (slf4j-api).
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.7.30</version>
</dependency>
Kinukuha namin ang parehong mga bersyon, mula Mayo 10, 2021 ito ay 1.7.30. Kung kukuha ka ng mga dependency mula sa https://mvnrepository.com/ , huwag kalimutang tanggalin
<scope>test</scope>
Kung hindi, ang iyong mga log ay gagana lamang sa mga pagsubok. 2) Ngayon subukan nating i-configure ang log4j , para dito kailangan nating magdagdag ng 2 dependencies: log4j mismo at isang layer sa pagitan ng slf4j at log4j (slf4j-log4j12). Mukhang ganito:
<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>
Malinaw na kailangan nating tanggalin ang (slf4j-simple) para hindi malito ang slf4j kung aling logger ang dapat nitong gamitin. At umalis (slf4j-api), dahil ito ay slf4j. Tungkol sa 2 idinagdag na dependencies. log4j idinadagdag namin ang luma (mula Mayo 2012, hindi ko alam kung bakit, maaari kang mag-eksperimento sa iba). Ang bersyon nito ay 1.2.17. Upang gumana ang slf4j dito, kailangan mo ng naaangkop na layer - slf4j-log4j12, kung saan ang mga huling character (12) ay nangangahulugang ang bersyon ng log4j. Sa kasong ito, ang bersyon ng slf4j-api at slf4j-log4j12 ay dapat na 1.7.30 - ang pinakabagong stable sa ngayon. Pagkatapos mong maikonekta ang mga dependency at na-update ang proyekto ng Maven. Para gumana ang log4j, kailangan mo ng 2 pang bagay: 1) Mag-set up ng configuration file. Binabasa natin, pinipili, kinopya. 2) Basahin ang pagsasaayos ng log4j bago magtrabaho:
PropertyConfigurator.configure("d:\\Java\\JavaRushTasks\\4.JavaCollections\\log4j.properties");
Well, o kung saan mayroon kang file. Kung gusto mong makita ang lahat ng mga log, huwag kalimutang itakda ang antas ng pag-log sa LAHAT. Nagdagdag kami sa resume - log4j & slf4j. Ikaw ay maganda! Kung nakatulong ito - i-like, subscribe, bell!)))
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION