tinylog – Lekka, uproszczona platforma rejestrowania dla Javy. Samouczek HelloWorld i szczegóły poziomu logowania
Opublikowany: 2021-11-09
Czym jest tinylog?
Tinylog to lekka i uproszczona platforma rejestrowania dla tak wielu języków JVM. Posiada statyczny rejestrator. Nie ma potrzeby tworzenia innych instancji rejestratora na klasę.
Jak każda inna standardowa platforma rejestrowania (log4j) obsługuje również 5 różnych poziomów rejestrowania.
- NAMIERZAĆ
- ODPLUSKWIĆ
- INFORMACJE – Domyślnie
- OSTRZEŻENIE
- BŁĄD
Miej swój poziom rejestrowania do trace
, aby włączyć całe rejestrowanie.
Co obsługuje wszystkie frameworki tinylog:
- Jawa
- Kotlin
- Scala
- inny język JVM
Jakie są główne zalety platformy rejestrowania tinylog?
- Jest lekki (~170kb lib)
- To jest szybsze
- To bardzo proste w implementacji.
- Jest zgodny ze standardowymi wzorcami log4j
- To open source
Zacznijmy od kodowania i przykładowego HelloWorld Przykład
Krok 1
- Dodaj zależności tinylog maven do pliku pom.xml projektu.

Otwórz plik pom.xml projektu produkcyjnego i dodaj poniżej dwie zależności.
1 2 3 4 5 6 7 8 9 10 |
< dependency > < groupId > org . tinylog < / groupId > < artifactId > tinylog - api < / artifactId > < version > 2.3.2 < / version > < / dependency > < dependency > < groupId > org . tinylog < / groupId > < artifactId > tinylog - impl < / artifactId > < version > 2.3.2 < / version > < / dependency > |
Przebuduj projekt.
Krok 2
- Dodaj tinylog.properties w folderze /resources.
- Plik: tinylog.properties

1 2 3 4 5 6 7 8 9 10 |
# logs to Console writerCrunchifyConsole = console writerCrunchifyConsole . format = { date : HH : mm : ss . SSS } { level } : { message } writerCrunchifyConsole . level = trace # logs to File writerCrunchifyFile = file writerCrunchifyFile . file = crunchifyLog . txt writerCrunchifyFile . level = trace |
Tutaj mamy dwa adaptery tinylog.
- Adapter
console
tinylog- To drukuje log w konsoli Eclipse / IntelliJ IDEA
- adapter
file
tinylog- To drukuje log w pliku crunchifyLog.txt

Krok 3
- Utwórz klasę CrunchifyTinyLogFirstTutorial.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
package crunchify . com . java . tutorials ; import org . tinylog . Logger ; /** * @author Crunchify.com * Program: tinylog Hello World Tutorial with log levels and properties * */ public class CrunchifyTinyLogFirstTutorial { public static void main ( String [ ] args ) { // Logs a message at INFO level. Logger . info ( "Howdy Cruncher! This is App Shah and welcome to Tinylog Tutorial! - INFO Log Level" ) ; // Logs a message at TRACE level. Logger . trace ( "Howdy Cruncher! This is App Shah and welcome to Tinylog Tutorial! - TRACE Log Level!" ) ; // Logs a message at DEBUG level. Logger . debug ( "Howdy Cruncher! This is App Shah and welcome to Tinylog Tutorial! - DEBUG Log Level!" ) ; // Logs a message at WARN level. Logger . warn ( "Howdy Cruncher! This is App Shah and welcome to Tinylog Tutorial! - WARN Log Level!" ) ; // Logs a message at ERROR level. Logger . error ( "Howdy Cruncher! This is App Shah and welcome to Tinylog Tutorial! - ERROR Log Level!" ) ; String crunchifyString = "Cruncher" ; Logger . info ( "Howdy {}! This is Tinylog tutorial by {}." , crunchifyString , "Crunchify.com" ) ; Logger . error ( "Oh.. This is not {} but it's {}" , "Meta.com" , "Crunchify.com" ) ; } } |
Skopiuj powyższy kod i zapisz plik.
Krok 4
Uruchom powyższy program jako Aplikację Java, a zobaczysz wynik jak poniżej.
1 2 3 4 5 6 7 8 9 10 11 |
/ Users / app / Library / Java / JavaVirtualMachines / openjdk - 17.0.1 / Contents / Home / bin / java - javaagent : / Applications / IntelliJ IDEA . app / Contents / lib / idea_rt . jar = 60075 : / Applications / crunchify . com . java . tutorials . CrunchifyTinyLogFirstTutorial 13 : 21 : 52.998 INFO : Howdy Cruncher ! This is App Shah and welcome to Tinylog Tutorial ! - INFO Log Level 13 : 21 : 53.001 TRACE : Howdy Cruncher ! This is App Shah and welcome to Tinylog Tutorial ! - TRACE Log Level ! 13 : 21 : 53.002 DEBUG : Howdy Cruncher ! This is App Shah and welcome to Tinylog Tutorial ! - DEBUG Log Level ! 13 : 21 : 53.002 INFO : Howdy Cruncher ! This is Tinylog tutorial by Crunchify . com . 13 : 21 : 53.002 WARN : Howdy Cruncher ! This is App Shah and welcome to Tinylog Tutorial ! - WARN Log Level ! 13 : 21 : 53.002 ERROR : Howdy Cruncher ! This is App Shah and welcome to Tinylog Tutorial ! - ERROR Log Level ! 13 : 21 : 53.002 ERROR : Oh . . This is not Meta . com but it ' s Crunchify . com Process finished with exit code 0 |
Jakie są formaty rejestrowania, których można używać z tinylog?

Imię | Opis |
---|---|
KLASA | W pełni kwalifikowana nazwa klasy, w której wystawiono żądanie logowania |
NAZWA KLASY | Nazwa klasy (bez pakietu), w której wysyłane jest żądanie logowania |
KONTEKST | Wszystkie ustawione wartości z kontekstu rejestrowania (nowość w tinylog 1.1) |
DATA | Data i godzina żądania logowania |
WYJĄTEK | Zgłoszony wyjątek ( null , jeśli żaden nie został zgłoszony) |
PLIK | Nazwa pliku źródłowego Java, z którego zostało wysłane żądanie logowania |
POZIOM | Poziom rejestrowania utworzonego wpisu w dzienniku |
LINIA | Numer wiersza, z którego zostało wysłane żądanie logowania |
WIADOMOŚĆ | Powiązana wiadomość z utworzonym wpisem w dzienniku |
METODA | Nazwa metody, z której zostało wysłane żądanie logowania |
PAKIET | Pakiet, w którym wystawiono żądanie logowania |
PROCESS_ID | Identyfikator procesu aplikacji |
RENDERED_LOG_ENTRY | Ostateczny wyrenderowany wpis w dzienniku, który byłby używany do danych wyjściowych tekstowych |
THREAD_ID | ID bieżącego wątku |
WĄTEK_NAZWA | Nazwa bieżącego wątku |
Ilu pisarzy mógłbyś użyć z tinylog?
Pisarz | Imię | Opis |
---|---|---|
KonsolaPisarz | konsola | Zapisuje wpisy dziennika w konsoli |
FileWriter | plik | Zapisuje wpisy dziennika do zdefiniowanego pliku |
JdbcWriter | jdbc | Przechowuje wpisy dziennika w bazie danych SQL |
LogcatWriter | logcat | Przekazuje wpisy dziennika do natywnego systemu rejestrowania Androida |
RollingFileWriter | Rollingfile | Jak FileWriter , ale używa wielu plików, obracając je |
SharedFileWriter | udostępniony plik | Obsługuje zapisywanie wielu wystąpień programu do tego samego pliku |
zero | zero | Odrzuca wszystkie wpisy dziennika |
Zaloguj się bez pliku tinylog.properties
Dla odniesienia, oto dziennik, jeśli nie masz żadnej struktury rejestrowania włączonej dla Twojej aplikacji.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
< meta charset = "utf-8" / > / Users / app / Library / Java / JavaVirtualMachines / openjdk - 17.0.1 / Contents / Home / bin / java - javaagent : / Applications / IntelliJ IDEA . app / Contents / lib / idea_rt . jar = 60075 : / Applications / crunchify . com . java . tutorials . CrunchifyTinyLogFirstTutorial 2021 - 11 - 08 13 : 28 : 30 [ main ] crunchify . com . java . tutorials . CrunchifyTinyLogFirstTutorial . main ( ) INFO : Howdy Cruncher ! This is App Shah and welcome to Tinylog Tutorial ! - INFO Log Level 2021 - 11 - 08 13 : 28 : 30 [ main ] crunchify . com . java . tutorials . CrunchifyTinyLogFirstTutorial . main ( ) TRACE : Howdy Cruncher ! This is App Shah and welcome to Tinylog Tutorial ! - TRACE Log Level ! 2021 - 11 - 08 13 : 28 : 30 [ main ] crunchify . com . java . tutorials . CrunchifyTinyLogFirstTutorial . main ( ) DEBUG : Howdy Cruncher ! This is App Shah and welcome to Tinylog Tutorial ! - DEBUG Log Level ! 2021 - 11 - 08 13 : 28 : 30 [ main ] crunchify . com . java . tutorials . CrunchifyTinyLogFirstTutorial . main ( ) INFO : Howdy Cruncher ! This is Tinylog tutorial by Crunchify . com . 2021 - 11 - 08 13 : 28 : 30 [ main ] crunchify . com . java . tutorials . CrunchifyTinyLogFirstTutorial . main ( ) WARN : Howdy Cruncher ! This is App Shah and welcome to Tinylog Tutorial ! - WARN Log Level ! 2021 - 11 - 08 13 : 28 : 30 [ main ] crunchify . com . java . tutorials . CrunchifyTinyLogFirstTutorial . main ( ) ERROR : Howdy Cruncher ! This is App Shah and welcome to Tinylog Tutorial ! - ERROR Log Level ! 2021 - 11 - 08 13 : 28 : 30 [ main ] crunchify . com . java . tutorials . CrunchifyTinyLogFirstTutorial . main ( ) ERROR : Oh . . This is not Meta . com but it ' s Crunchify . com Process finished with exit code 0 |
I wszystko gotowe. Daj mi znać, jeśli napotkasz jakiś problem podczas korzystania z tego samouczka tinylog.