Czy istnieje sposób przekazania informacji o zbieraniu śmieci (na przykład dane wyjściowe z -XX:+PrintGCDetails
lub -verbose:gc
) do programu rejestrującego w aplikacji Java (sl4j + logback w moim przypadku)?Rejestrowanie informacji GC w aplikacji
Odpowiedz
Komunikaty te są generowane przez natywną procesu JVM, a nie z kodu Java, więc po prostu może
- przekierować dane wyjściowe do pliku przy użyciu
-Xloggc
(bez rotacji) - Bezpośrednie stdout do rur (kilka opcji obrotu)
Interesującym rozwiązaniem byłoby przekierować gc.log do nazwanego potoku -Xloggc:/my/named/pipe
How to write GC log to named pipe
następnie odczytać tworzą że rura samej aplikacji : How to open a Windows named pipe from Java?
i zaloguj się do dowolnego użytkownika (np. asynchronizacja) logger logback z kodu.
Próbowałem tego na komputerze z systemem Windows. Niestety konfiguracja na Windowsie jest trudniejsza niż w Linuksie.
W systemie Windows działa zasadniczo za pomocą dodatkowego Powershell script (może to być również dedykowana aplikacja). Ta sample project zawiera również aplikację demonstracyjną, która może być od razu wykorzystana do przetestowania przekierowania logów GC do Logback za pośrednictwem SLF4J.
- 1. Gunicorn Django i rejestrowanie informacji w pliku
- 2. Rejestrowanie z aplikacji konsoli
- 3. Rejestrowanie w języku Python: wyświetlanie tylko informacji z poziomu debugowania
- 4. Rejestrowanie wszystkich wywołań metod w aplikacji Railsy
- 5. Rejestrowanie zmian jednostek w aplikacji internetowej Java
- 6. Jak symulować zabijania aplikacji Android GC
- 7. Rejestrowanie ostrzeżeń (nie błędów) w aplikacji szyny i zarządzanie nimi
- 8. Zapisywanie informacji o użytkowniku w ustawieniach aplikacji
- 9. Rejestrowanie produkcji w programie Flex
- 10. Java verbose: gc Jak odczytać wyjście?
- 11. Rejestrowanie Django tylko dla moich aplikacji
- 12. log4net rejestrowanie wszystkich nieobsługiwanych błędów aplikacji
- 13. GC zatrzymuje się w Haskell dla miękkich aplikacji czasu rzeczywistego
- 14. Enterprise Library 5.0 - Rejestrowanie aplikacji - Niepoprawny DateTime
- 15. Java GC safepoint
- 16. Rejestrowanie żądania protcol w nginx?
- 17. Awaria aplikacji .NET bez informacji o debugowaniu
- 18. Rejestrowanie PySpark?
- 19. Porównaj rejestrowanie bloku aplikacji w bibliotece Enterprise versus Log4net?
- 20. Rejestrowanie pliku GPX (lub XML) do otwarcia w aplikacji iOS
- 21. Jak zaimplementować rejestrowanie błędów w aplikacji Windows Phone?
- 22. Rejestrowanie NSNotifications
- 23. Rejestrowanie asynchroniczne
- 24. Jak znaleźć korzenie gc w maszynie stosu?
- 25. Rejestrowanie w $ .each()
- 26. Rejestrowanie w Pythonie typeerror
- 27. rejestrowanie httpModules w web.config
- 28. Rejestrowanie błędów w pliku
- 29. Wyłączyć rejestrowanie w trybie hibernacji
- 30. Automatyczne rejestrowanie zapytań DataMappera