logger README

The project's README from github.com/orhanobut/logger. As one markdown file: README.md.

Android Arsenal Join the chat at https://gitter.im/orhanobut/logger Build Status

Logger

Simple, pretty and powerful logger for android

Setup

Download

implementation 'com.orhanobut:logger:2.2.0'

Initialize

Logger.addLogAdapter(new AndroidLogAdapter());

And use

Logger.d("hello");

Output

Options

Logger.d("debug");
Logger.e("error");
Logger.w("warning");
Logger.v("verbose");
Logger.i("information");
Logger.wtf("What a Terrible Failure");

String format arguments are supported

Logger.d("hello %s", "world");

Collections are supported (only available for debug logs)

Logger.d(MAP);
Logger.d(SET);
Logger.d(LIST);
Logger.d(ARRAY);

Json and Xml support (output will be in debug level)

Logger.json(JSON_CONTENT);
Logger.xml(XML_CONTENT);

Advanced

FormatStrategy formatStrategy = PrettyFormatStrategy.newBuilder()
  .showThreadInfo(false)  // (Optional) Whether to show thread info or not. Default true
  .methodCount(0)         // (Optional) How many method line to show. Default 2
  .methodOffset(7)        // (Optional) Hides internal method calls up to offset. Default 5
  .logStrategy(customLog) // (Optional) Changes the log strategy to print out. Default LogCat
  .tag("My custom tag")   // (Optional) Global tag for every log. Default PRETTY_LOGGER
  .build();

Logger.addLogAdapter(new AndroidLogAdapter(formatStrategy));

Loggable

Log adapter checks whether the log should be printed or not by checking this function. If you want to disable/hide logs for output, override isLoggable method. true will print the log message, false will ignore it.

Logger.addLogAdapter(new AndroidLogAdapter() {
  @Override public boolean isLoggable(int priority, String tag) {
    return BuildConfig.DEBUG;
  }
});

Save logs to the file

//TODO: More information will be added later

Logger.addLogAdapter(new DiskLogAdapter());

Add custom tag to Csv format strategy

FormatStrategy formatStrategy = CsvFormatStrategy.newBuilder()
  .tag("custom")
  .build();
  
Logger.addLogAdapter(new DiskLogAdapter(formatStrategy));

How it works

More

// Set methodOffset to 5 in order to hide internal method calls
Timber.plant(new Timber.DebugTree() {
  @Override protected void log(int priority, String tag, String message, Throwable t) {
    Logger.log(priority, tag, message, t);
  }
});

License

Copyright 2018 Orhan Obut

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

logger (orhanobut/logger)

Searching Database…

13.8K ·GitHub
Что это такое?Logger — это простая, красивая и мощная библиотека для логирования в Android, которая делает вывод Logcat более читаемым.
Это самостоятельное приложение или библиотека, которую я добавляю в проект Android?Это библиотека для Android/Java/Kotlin, которую вы подключаете как зависимость и инициализируете в коде приложения. У неё нет ни интерфейса, ни собственного приложения.
Как мне добавить её в мой проект Android?Скачайте библиотеку (добавьте её как зависимость), один раз инициализируйте Logger в приложении, а затем вызывайте её методы логирования там, где нужен отформатированный вывод.
Чем вывод Logger отличается от обычных вызовов Android Log?Судя по темам репозитория на GitHub ('pretty-printer', 'json-logging'), Logger оформляет вывод структурированными рамками и умеет красиво выводить JSON, поэтому логи в Logcat гораздо легче просматривать, чем простой вывод Log.d.
Это похоже на библиотеку Timber от Джейка Уортона?В репозитории тема 'timber' указана как связанная, что говорит о похожей роли Logger: это обёртка над классом Log Android, которую можно подключить без лишних изменений кода, но с акцентом на красивый вывод и вывод в формате JSON.
Подходит ли она и для Java, и для Kotlin проектов Android?Да, сама библиотека написана на Kotlin, а в её темах указаны и 'java', и 'kotlin', поэтому приложения Android на любом из этих языков могут её использовать.
Creator
orhanobut
Size
1.9 MB
Stars
13.8K
Age
11y
Commits · 90 Days