CodeGym /Java tanfolyam / /Függelékek a Log4j-ben

Függelékek a Log4j-ben

Szint , Lecke
Elérhető

A mellékletek listája

A naplózó lehetővé teszi, hogy egyszerre több fájlba mentse az adatokat. Az ilyen kimeneti adatfolyamokat hozzáfűzőknek (append-ből) nevezzük. Elég sok szabványos függelék létezik, ezért csak a legnépszerűbbeket fogjuk ismertetni:

Függelékek Leírás
1 Konzol Adatokat nyomtat a konzolra
2 Fájl Az adatokat egy fájlba adja ki
3 DailyRollingFile Adatokat ad ki egy fájlba, a fájl ciklikusan felülíródik
4 async Lehetővé teszi, hogy aszinkron módon adatokat írjon egy másik csatolóba
5 Foglalat Adatokat ír egy adott aljzatba
6 JDBC Üzeneteket ír az adatbázisba a JDBC protokoll használatával
7 JPA Üzeneteket ír az adatbázisba a JPA protokoll használatával
8 HTTP Az eseményeket HTTP protokollon keresztül küldi el egy távoli szervernek
9 SMTP Az üzeneteket egy pufferben tárolja, majd e-mailként küldi el

Az összes csatoló jó dokumentációja megtalálható a hivatalos weboldalukon

Az alábbiakban a legnépszerűbb és legegyszerűbbet vesszük figyelembe.

ConsoleAppender

A legegyszerűbb toldalék aConsoleApender . Amint azt sejteni lehetett, egyszerűen a konzolra írja üzeneteit. Számos érdekes paramétere van számunkra:

Attribútumok
1 név Függelék neve
2 szűrő Lehetővé teszi bizonyos üzenetek szűrését
3 elrendezés Meghatározza az üzenetek formázását a kimenetkor
4 cél Megadja, hogy hova kell írni: SYTEM_OUTvagySYSTEM_ERR

Nagyon egyszerű konfigurálni:


    <?xml version="1.0" encoding="UTF-8"?>
    <Configuration status="warn" name="MyApp" packages="">
    <Appenders>
        <Console name="STDOUT" target="SYSTEM_OUT">
        <PatternLayout pattern="%m%n"/>
        </Console>
    </Appenders>
      <Loggers>
        <Root level="error">
        <AppenderRef ref="STDOUT"/>
        </Root>
    </Loggers>
    </Configuration>

FileApender

A leghasznosabb függelék aFileAppender . Ellentétben ConsoleAppenderazzal, hogy az üzeneteit fájlba írja. Ez nagyon hasznos, ha az alkalmazás fut valahol a szerveren. Nagyon sok paramétere van, mert képesnek kell lennie fájlok írására különböző operációs rendszereken.

De csak a legnépszerűbbeket vesszük figyelembe.

1 név Megadja a függelék nevét
2 szűrő Lehetővé teszi bizonyos üzenetek szűrését
3 elrendezés Meghatározza az üzenetek formázását a kimenetkor
4 fájl név Megadja annak a fájlnak a nevét, ahová üzeneteket kell írni
5 mellékel Ha true, akkor az üzenetek hozzáadódnak a régi naplóhoz, if false- a naplófájl minden alkalommal újra létrejön az alkalmazás indításakor.
6 pufferméret Beállítja a puffer méretét bájtokban
7 azonnaliFlush Ha true, akkor minden üzenet ténylegesen azonnal lemezre kerül (puffer nélkül). A napló lassan kezd működni, de ezzel megóvja Önt attól, hogy a program összeomlásakor adatvesztést szenvedjen.

Már tudja, hogyan kell jól dolgozni a fájlokkal, így ezek a beállítások nem jelentenek újdonságot az Ön számára. Egy ilyen naplózó konfigurálása még egyszerűbb, mint egy konzolnaplózóé:


    <?xml version="1.0" encoding="UTF-8"?>
    <Configuration status="warn" name="MyApp" packages="">
    <Appenders>
        <File name="MyFile" fileName="logs/app.log">
        <PatternLayout>
            <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
        </PatternLayout>
        </File>
    </Appenders>
    <Loggers>
        <Root level="error">
        <AppenderRef ref="MyFile"/>
        </Root>
    </Loggers>
    </Configuration>

RollingFileApender

A legnépszerűbb melléklet aRollingFileAppender . Ezzel ellentétben FileAppenderlehetővé teszi a napló felosztását sok kis fájlra. Ez nagy rönköknél nagyon fontos. Ezenkívül lehetővé teszi, hogy szabályokat állítson fel arra vonatkozóan, hogy mit tegyen a régi fájlokkal, miután újak írása megkezdődött.

És ez a függelék majdnem száz különböző beállítással rendelkezik. A linken tudhatsz meg többet róluk .

Tekintsük ennek a függeléknek a legnépszerűbb attribútumait:

Attribútumok
1 név Megadja a függelék nevét
2 szűrő Lehetővé teszi bizonyos üzenetek szűrését
3 elrendezés Meghatározza az üzenetek formázását a kimenetkor
4 fájl név Megadja annak a fájlnak a nevét, ahová üzeneteket kell írni
5 filePattern Megadja a már nem írt archív fájlok elnevezési mintáját
6 irányelv Megadja azt a feltételt, amikor a fájl felülírása megkezdődik
7 stratégia Leírja, hogy mit kell tenni a régi fájlokkal: archívum, előzmények, hány napig kell megőrizni stb.

Íme egy jó példa:


<Configuration status="warn" name="MyApp" packages="">
  <Appenders>
    <RollingFile name="RollingFile" fileName="logs/app.log" filePattern="logs/app-%d{MM-dd-yyyy}-%i.log.gz">
    <PatternLayout>
        <Pattern>%d %p %c{1.} [%t] %m%n</Pattern>
    </PatternLayout>
    <Policies>
        <TimeBasedTriggeringPolicy />
        <SizeBasedTriggeringPolicy size="250 MB"/>
    </Policies>
    </RollingFile>
  </Appenders>
  <Loggers>
    <Root level="error">
    <AppenderRef ref="RollingFile"/>
    </Root>
  </Loggers>
</Configuration>

A paraméter filePatternmegad egy sablont a régi naplók archívumához. Kettő is van, amikor aktiválódik, egy új fájl íródik:

  • TimeBasedTriggeringPolicy- akkor működik, ha új nap kezdődik (az aktuális dátum megváltozik)
  • SizeBasedTriggeringPolicy– akkor működik, ha a fájl mérete eléri a 250 MB-ot
Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION