Z jakiego systemu logowania do systemu Android korzystać? [Zamknięte]

Moje pytanie wydaje się być łatwe do odpowiedzi, ale istnieje kilka dobrych rozwiązań. Lubię wybierać „najlepszy”.

Dostępne ramy (sugeruj więcej):AndrologSLF4J AndroidLog4J - AndroidZa I przeciw:Androlog:Pro: podobny do systemu logowania Android, więc w istniejącym kodzie są tylko niewielkie zmiany; Potrafi wysyłać raporty o awariach z większą szczegółowością w raporcie o błędzie (logi wokół wyjątku); Ładne dziennikiCon: Brak standardowego podejścia java „getLogger”; Osiągalna konfiguracja produkcyjna poprzez przesłanie pliku właściwości do sdcard; Muszę ręcznie wywołać logowanie init; Należy utworzyć stałe LOG_TAG lub zhakować je, aby utworzyć stałe znacznika logu przez Aspect, aby osiągnąć standardowe zachowanie: tagi są nazwami klas; Kiedy logowanie jest wymogiem biznesowym, musimy to przetestować. Testowanie wywołań statycznych na Androida jest prawie niemożliwe; Logger nie może być wstrzykiwany przez frameworkLog4J-Android:Pro: standardowy sposób logowania w Javie; Kompatybilny z SLF4J; Potrafi analizować pliki właściwości;Con: Brak wbudowanego systemu raportowania awarii; Wydaje mi się: nie jest powszechnie używany, więc używanie go może być niebezpieczne;SLF4J-Android:Pro: Wydaje się, że jest rozwijany przez więcej osób, takich jak Log4J-Android; Thelogger.debug("Some log message. Details: {}", someObject.toString()); jest dobrym i skutecznym sposobem na pominięcie konkatenacji łańcuchów, jeśli rejestrator jest wyłączony; lekkie wiązanie rejestratora, który deleguje doandroid.util.Log.Con: Auto wygenerowane tagi dziennika o długości <= 23 znaki ze względu na ograniczenie długości tagów dziennika na platformie Android (np.com.example.myapp.MyClass tag przetłumaczony nac*.e*.m*.MyClass), co może skutkować tym samym znacznikiem dziennika dla różnych klas (np.com.example.app.MyClass icom.example.anotherapp.MyClass oba tłumaczą nac*.e*.a*.MyClass); Brak wbudowanego systemu raportowania awarii.

Poza tym lubię zachowanie Androloga, ale jestem devem Java, znanym z log4j / slf4j. Z pewnością będziemy potrzebować systemu raportów o awariach, ale istnieje kilka struktur do raportowania awarii (oprócz domyślnego raportu awarii systemu Android).

Mogę połączyć niektóre z nich, na przykład użyć Androida Log4J, ale stwórz appendera do korzystania z frameworku androlog, ale prędzej czy później będzie to bałagan, którego należy unikać.

Dziękujemy za sugestie, mam nadzieję, że wyniki pomogą w podjęciu decyzji w przyszłości.

Edycja: Jak wspomniano poniżej, mogę połączyć na przykład: log4j-android ze slf4j (co wolę zrobić, jeśli użyję log4j, ponieważ obsługa formatowania dziennika („{}”, ...)), ale to robi nie odpowiada na pytanie. Muszę wybrać ramy, a następnie udekorować je fasadą SLF4J.

questionAnswers(3)

yourAnswerToTheQuestion