2011-07-18 10 views
5

Czy istnieje sposób, aby przechwycić połączenia do standardowego Zaloguj się Android i wykonać inne działania?Czy istnieje sposób na zastąpienie standardowego Logowanie w systemie Android?

W środowisku Java na komputer zazwyczaj można uzyskać program rejestrujący, więc istnieją sposoby instalacji innej procedury obsługi dzienników/implementacji. Wygląda jednak na to, że Android ma statyczne wezwanie do Logowania i nie mogłem znaleźć żadnych informacji na temat zastąpienia domyślnego zachowania.

Zdaję sobie sprawę, że mogę monitorować dziennik urządzenia za pomocą ADB, ale chciałbym mieć inne zachowanie w uruchomionych aplikacjach na urządzeniu, które się zdecyduje (np. Wykonując określoną instrukcję, gdy program zaczyna się).

+0

Jakie domyślne zachowanie chcesz zaimplementować, którego 'Log' nie obsługuje? – AedonEtLIRA

+0

@AedonEtLIRA: Pewna funkcja związana z logowaniem dla wewnętrznych aplikacji, niestety nie mogę tego wyjaśnić. – Uri

+0

Potem, tak, będę musiał trzymać się mojej odpowiedzi. Na szczęście dziennik jest dość mały, więc nie sądzę, że byłoby to dużo kłopotów. – AedonEtLIRA

Odpowiedz

2

Ponieważ Log jest ostateczny, myślę, że będziesz musiał napisać własny system logowania i wdrożyć go, jeśli chcesz coś zmienić.

+0

Myślałem, że jeśli emuluje się metody podpisów dziennika, i zrobić wyszukiwanie w całym projekcie i zastąpić import (nużący), jakoś można to zrobić. –

3

Myślę, że najlepszym rozwiązaniem byłoby, aby wymienić wszystkie Log połączeń w aplikacji z własnej klasy, MyLog, a następnie zadzwonić Log jeśli nie opt-in, i nazywają swoją szczególną funkcję rejestrowania jeśli opt-in .

Wymiana wszystkich połączeń dzienników nie powinna być trudna, wystarczy znaleźć i zastąpić.

4

Jak wskazuje AedonEtLIRA Log jest ostateczny, więc musisz rzucić/pożyczyć nowy. Używałem "MLog" Prasanty Paula: http://prasanta-paul.blogspot.com/2010/07/custom-logger-for-android.html

Ułatwia to zapisywanie logów do pliku tekstowego i/lub całkowite wyłączenie rejestrowania. Jeśli nie robi się już tego, czego potrzebujesz, jest to dobra baza do zarządzania rejestrowaniem.

+0

+1 dla linku. Może pisać, bardzo przydatne. – AedonEtLIRA

3

Oprócz MLog proponowanej przez @Darrell, istnieje kilka innych ram rejestrowania dla Androida, w tym:

Spośród trzech, logback (log4j następnej generacji) wydaje się być najzdolniejszym i ma najbogatszy API (i wiele części dokumentacji), podczas gdy microlog jest najbardziej kompaktowy (ale ma ograniczone funkcje ... ale może robi wszystko, czego potrzebujesz). Wszystkie trzy obsługują elewację rejestrowania SLF4J, dzięki czemu można łatwo zamienić mikrolog na logback, log4j, jul lub inną nowszą frameworka.

Tak jak w przypadku MLog, te frameworki wymagają wymiany wywołań na android.os.util.Log (nie "przechwytuje" wywołań, jak być może po).

Powiązane problemy