Dhaptar appenders
Logger ngidini sampeyan nyimpen data menyang sawetara file sekaligus. Aliran data output kasebut diarani appenders (saka append). Ana sawetara appenders standar, mula kita mung bakal nutupi sing paling populer:
Lampiran | Katrangan | |
---|---|---|
1 | Konsol | Prints data menyang console |
2 | berkas | Output data menyang file |
3 | DailyRollingFile | Outputs data menyang file, file wis cyclically timpa |
4 | Async | Ngidini sampeyan nulis data menyang appender liyane kanthi asinkron |
5 | Soket | Nulis data menyang soket tartamtu |
6 | JDBC | Nulis pesen menyang database nggunakake protokol JDBC |
7 | JPA | Nulis pesen menyang database nggunakake protokol JPA |
8 | http | Ngirim acara liwat protokol HTTP menyang server remot |
9 | SMTP | Nyimpen pesen ing buffer, banjur dikirim minangka email |
Dokumentasi sing apik kanggo kabeh appenders ana ing situs web resmi
Lan ing ngisor iki kita bakal nimbang sing paling populer lan prasaja.
ConsoleAppender
Appender sing paling gampang yaikuConsoleApender
. Kaya sing wis sampeyan duga, dheweke mung nulis pesen menyang konsol. Nduwe sawetara paramèter sing menarik kanggo kita:
Atribut | ||
---|---|---|
1 | jeneng | Jeneng appender |
2 | nyaring | Ngidini sampeyan nyaring sawetara pesen |
3 | tata letak | Nemtokake format pesen nalika output |
4 | target | Nemtokake ngendi kanggo nulis: SYTEM_OUT utawaSYSTEM_ERR |
Gampang banget kanggo ngatur:
<?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>
FileAppender
Appender sing paling migunani yaikuFileAppender
. Ora kaya ConsoleAppender
dheweke nulis pesen menyang file. Sing migunani banget nalika aplikasi sampeyan mlaku ing endi wae ing server. Wis akeh paramèter, amarga iku kudu bisa kanggo nulis file ing sistem operasi beda.
Nanging kita bakal nimbang mung sing paling populer.
1 | jeneng | Nemtokake jeneng appender |
2 | nyaring | Ngidini sampeyan nyaring sawetara pesen |
3 | tata letak | Nemtokake format pesen nalika output |
4 | jeneng berkas | Nemtokake jeneng file kanggo nulis pesen |
5 | nambahi | Yen true , banjur pesen bakal ditambahake menyang log lawas, yen false - file log bakal digawe maneh saben aplikasi diwiwiti. |
6 | bufferSize | Nyetel ukuran buffer ing bita |
7 | immediateFlush | Yen true , banjur saben pesen bener ditulis menyang disk langsung (tanpa buffer). Log wiwit mlaku alon-alon, nanging iki nylametake sampeyan saka kelangan data nalika program nabrak. |
Sampeyan wis ngerti cara nggarap file kanthi apik, mula setelan kasebut ora anyar kanggo sampeyan. Ngonfigurasi logger kuwi malah luwih gampang tinimbang console logger:
<?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>
RollingFileAppender
Appender sing paling populer yaikuRollingFileAppender
. Boten kados FileAppender
iku, iku ngijini sampeyan kanggo pamisah log menyang akeh file cilik. Iki penting banget kanggo log gedhe. Kajaba iku, ngidini sampeyan nyetel aturan apa sing kudu dilakoni karo file lawas sawise sing anyar wis diwiwiti.
Lan appender iki wis meh satus setelan beda. Sampeyan bisa ngerteni luwih akeh babagan dheweke ing link .
Coba atribut paling populer saka appender iki:
Atribut | ||
---|---|---|
1 | jeneng | Nemtokake jeneng appender |
2 | nyaring | Ngidini sampeyan nyaring sawetara pesen |
3 | tata letak | Nemtokake format pesen nalika output |
4 | jeneng berkas | Nemtokake jeneng file kanggo nulis pesen |
5 | filePola | Nemtokake pola jeneng kanggo file arsip sing ora ditulis maneh |
6 | kawicaksanan | Nemtokake kondisi nalika file kudu diwiwiti ditindih |
7 | strategi | Njlèntrèhaké apa sing kudu dilakoni karo file lawas: arsip, riwayat nganti pirang-pirang dina disimpen, lsp. |
Punika conto ingkang sae:
<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>
Parameter kasebut filePattern
nemtokake cithakan kanggo arsip log lawas. Ana uga loro, nalika dipicu, file anyar bakal ditulis:
TimeBasedTriggeringPolicy
- bakal bisa digunakake yen dina anyar diwiwiti (tanggal saiki ganti)SizeBasedTriggeringPolicy
- bakal bisa digunakake yen ukuran file tekan 250MB
GO TO FULL VERSION