tinylog — легкая, упрощенная среда ведения журналов для Java. Учебник HelloWorld и сведения об уровне ведения журнала
Опубликовано: 2021-11-09
Что такое тинилог?
Tinylog — это легкая и упрощенная структура ведения журналов для многих языков JVM. Он имеет статический регистратор. Нет необходимости создавать какой-либо другой экземпляр регистратора для каждого класса.
Как и любой другой стандартный фреймворк ведения журнала (log4j), он также поддерживает 5 различных уровней ведения журнала.
- СЛЕД
- ОТЛАЖИВАТЬ
- ИНФОРМАЦИЯ — по умолчанию
- ПРЕДУПРЕЖДЕНИЕ
- ОШИБКА
trace
свой уровень ведения журнала, чтобы включить все журналы.
Какие фреймворки поддерживает tinylog:
- Джава
- Котлин
- Скала
- другой язык JVM
Каковы основные преимущества фреймворка ведения журнала tinylog?
- Это легкий (~ 170 КБ lib)
- Это быстрее
- Это очень просто реализовать.
- Он следует стандартным шаблонам log4j.
- Это с открытым исходным кодом
Давайте начнем кодировать и рассмотрим пример HelloWorld.
Шаг 1
- Добавьте зависимости tinylog maven в файл pom.xml вашего проекта.

Откройте файл pom.xml рабочего проекта и добавьте ниже две зависимости.
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 > |
Перестройте проект.
Шаг 2
- Добавьте tinylog.properties в папку /resources.
- Файл: 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 |
Здесь у нас есть два адаптера tinylog.
-
console
адаптер тинилог- Это печатает журнал в консоли Eclipse/IntelliJ IDEA.
- адаптер
file
тинилог- Это печатает журнал в файле crunchifyLog.txt.

Шаг 3
- Создайте класс 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" ) ; } } |
Скопируйте приведенный выше код и сохраните файл.
Шаг-4
Запустите вышеуказанную программу как Java-приложение, и вы увидите результат, как показано ниже.
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 |
Какие форматы ведения журнала вы можете использовать с tinylog?

Имя | Описание |
---|---|
СОРТ | Полное имя класса, в котором выдается запрос на регистрацию |
CLASS_NAME | Имя класса (без пакета), в котором выдается запрос на регистрацию |
КОНТЕКСТ | Все заданные значения из контекста ведения журнала (новое в tinylog 1.1) |
ДАТА | Дата и время запроса регистрации |
ИСКЛЮЧЕНИЕ | Выброшенное исключение ( null , если ни одно не было выброшено) |
ФАЙЛ | Имя исходного файла Java, из которого выдается запрос на регистрацию |
УРОВЕНЬ | Уровень ведения журнала созданной записи журнала |
ЛИНИЯ | Номер строки, из которой выдается запрос на регистрацию |
СООБЩЕНИЕ | Связанное сообщение созданной записи журнала |
МЕТОД | Имя метода, из которого выдается запрос на регистрацию |
УПАКОВКА | Пакет, в котором выдается запрос на регистрацию |
PROCESS_ID | Идентификатор процесса приложения |
RENDERED_LOG_ENTRY | Окончательная визуализированная запись в журнале, поскольку она будет использоваться для текстовых выходных данных. |
THREAD_ID | ID текущего потока |
THREAD_NAME | Имя текущего потока |
Сколько писателей вы могли бы использовать с tinylog?
Писатель | Имя | Описание |
---|---|---|
ConsoleWriter | приставка | Записывает записи журнала в консоль |
FileWriter | файл | Записывает записи журнала в определенный файл |
JdbcWriter | jdbc | Сохраняет записи журнала в базе данных SQL |
LogcatПисатель | бревенчатый кот | Перенаправляет записи журнала в собственную систему ведения журнала Android. |
RollingFileWriter | прокатный файл | Подобно FileWriter , но использует несколько файлов, чередуя их |
SharedFileWriter | общий файл | Поддерживает запись нескольких экземпляров программы в один и тот же файл. |
нулевой | нулевой | Отбрасывает все записи журнала |
Лог без файла tinylog.properties
Для справки, вот журнал, если у вас не включена какая-либо структура ведения журнала для вашего приложения.

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 |
И все готово. Дайте мне знать, если у вас возникнут какие-либо проблемы с запуском этого руководства по tinylog.