Простой, красивый, мощный и расширяемый openHormony и Java-логгер, который может одновременно печатать логи в нескольких каналах, таких как hilog, консоль и файл. При желании можно даже печатать на удалённый сервер (или любое другое место).
Как запустить проект:
Использование:
allprojects{
repositories{
mavenCentral()
}
}
implementation 'io.openharmony.tpc.thirdlib:XLog:1.0.1'
Что умеет XLog:
Отличия от других логгеров:
XLog.init(LogLevel.ALL);
Или если вы хотите запретить ведение журнала в официальной версии:
XLog.init(BuildConfig.DEBUG ? LogLevel.ALL : LogLevel.NONE);
LogConfiguration config = new LogConfiguration.Builder()
.logLevel(BuildConfig.DEBUG ? LogLevel.ALL // Уровень журнала ниже этого уровня не будет печататься, по умолчанию LogLevel.ALL
: LogLevel.NONE)
.tag("MY_TAG") // По умолчанию "X-LOG"
.enableThreadInfo() // Разрешить печать информации о потоках, по умолчанию запрещено
.enableStackTrace(2) // Разрешить печать стека вызовов глубиной 2, по умолчанию запрещено
.enableBorder() // Разрешить печать границ журнала, по умолчанию запрещено
.jsonFormatter(new MyJsonFormatter()) // Настроить форматтер JSON, по умолчанию DefaultJsonFormatter
.xmlFormatter(new MyXmlFormatter()) // Настроить XML-форматтер, по умолчанию используется DefaultXmlFormatter
.throwableFormatter(new MyThrowableFormatter()) // Настроить форматер исключений, по умолчанию используется DefaultThrowableFormatter
.threadFormatter(new MyThreadFormatter()) // Настроить форматировщик информации о потоке, по умолчанию используется DefaultThreadFormatter
.stackTraceFormatter(new MyStackTraceFormatter()) // Настроить форматер стека вызовов, по умолчанию используется DefaultStackTraceFormatter
.borderFormatter(new MyBoardFormatter()) // Настроить формирователь границ, по умолчанию используется DefaultBorderFormatter
.addObjectFormatter(AnyClass.class, // Добавить форматер для указанного класса
new AnyClassObjectFormatter()) // По умолчанию использовать Object.toString()
.addInterceptor(new BlacklistTagsFilterInterceptor( // Добавить фильтр чёрного списка перехватчиков
"blacklist1", "blacklist2", "blacklist3"))
.addInterceptor(new MyInterceptor()) // Добавить лог-перехватчик
.build();
Printer ohosPrinter = new OhosPrinter(); // Использовать openHormonyHilog для печати журналов
Printer consolePrinter = new ConsolePrinter(); // Печатать журналы в консоли через System.out
Printer filePrinter = new FilePrinter // Печатать журналы в файл
.Builder("/sdcard/xlog/") // Установить путь сохранения файла журнала
.fileNameGenerator(new DateFileNameGenerator()) // Установить генератор имени файла журнала, по умолчанию ChangelessFileNameGenerator("log")
.backupStrategy(new NeverBackupStrategy() // Установить стратегию резервного копирования файла журнала, по умолчанию FileSizeBackupStrategy(1024 * 1024)
.cleanStrategy(new FileLastModifiedCleanStrategy(MAX_TIME)) // Установить стратегию очистки файла журнала, по умолчанию NeverCleanStrategy()
.flattener(new MyFlattener()) // Установить выравниватель журнала, по умолчанию используется DefaultFlattener
.build();
XLog.init( // Инициализировать XLog
config, // Настроить конфигурацию журнала, если не настроено, будет использоваться new LogConfiguration.Builder().build() по умолчанию
ohosPrinter, // Добавить несколько принтеров. Если принтер не добавлен, по умолчанию будет использоваться OhosPrinter (Android)/ConsolePrinter (Java)
consolePrinter,
filePrinter);
XLog.d("Simple message")
XLog.d("My name is %s", "Elvis");
XLog.d("An exception caught", exception);
XLog.d(object);
XLog.d(array);
XLog.json(unformattedJsonString);
XLog.xml(unformattedXmlString);
... // Другие глобальные методы
Создайте [Logger].
Logger partial = XLog.tag("PARTIAL-LOG")
... // Другая конфигурация
.build();
Затем используйте этот [Logger] для локального диапазона, все методы печати журналов такие же, как и в классе [XLog].
partial.d("Simple message 1");
partial.d("Simple message 2");
... // Другое локальное использование
Проведите настройку на основе одной записи журнала, после чего вы сможете напрямую печатать журналы, и все связанные с печатью журналов методы будут такими же, как в классе [XLog].
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )