Как написать логгер, который сохраняет все логи приложения в Room?

У меня есть приложение и нужно сделать так, чтобы все логи записывались непрерывно в Room. Как такое можно реализовать?

UPDATE Возможно ли такое сделать без сторонних библиотек и запустить его лишь в одном месте - классе Application()


Ответы (1 шт):

Автор решения: Sergei Buvaka

Ничего сложного тут нет. Пишете свой класс Logger (можно Object в Kotlin или Singleton в Java) который принимает на вход какую-то сущность типа:

class Log(
    val message: String,
    val tag: String
    // any other parameters
)

Создаете DAO для ваших логов и пусть ваш логгер сохраняет все поля в эту БД.

→ Ссылка