Mam zamiar przeprowadzić migrację wcześniej utworzonej aplikacji WWW Java na platformę Azure. Aplikacja poprzednio użyła log4j
dla dzienników aplikacji, które zostały zapisane w pliku utworzonym lokalnie. Problem polega na tym, że w przypadku roli Azure o wielu wystąpieniach muszę gromadzić i agregować te dzienniki, a także upewnić się, że są przechowywane w trwałym magazynie zamiast na dysku twardym maszyn wirtualnych.Logowanie do serwera Azure Java Tomcat
Rejestrowanie jest kluczowym elementem aplikacji, ale nie może spowalniać rzeczywistej pracy. Rozważyłem wiele opcji i jestem ciekaw najlepszej praktyki, najlepszego rozwiązania, biorąc pod uwagę bezpieczeństwo, spójność logów i wydajność zarówno w czasie przechowywania, jak i późniejszym przetwarzaniu. Oto lista opcji:
- Używanie log4j z niestandardowym
Appender
do przechowywania informacji w usłudze Azure SQL. - Użycie log4j z niestandardowym
Appender
do przechowywania informacji w pamięci podręcznej Azure Tables. - Pisanie dodatkowego narzędzia, które przenosi dane z lokalnego dysku twardego do jednego z powyższych trwałych magazynów.
Czy jest jakaś inna metoda lub są jakieś kompletne rozwiązania tego problemu dla Javy? Które z powyższych byłoby najlepiej biorąc pod uwagę wyżej wymienione kryteria?
Zmieniano wyjaśnienia konieczności oddzielny .aplikacja sieciowa tylko podczas budowania aplikacji z projektów Eclipse, które nie mają kodu .net rusztowania (za @ Avkash odniesienie do WorkerRole.cs). –
Nadal nie mogę się doczekać, aby przeczytać post na blogu! – hpityu
Wystarczy edytować link, aby dołączyć. Występują błędy formatowania, ale są one naprawiane przez Persistent w tym tygodniu. –