Jestem nowy w Java API do logowania i potrzebuję pomocy w tym problemie: Podczas tworzenia aplikacji mój plik konfiguracyjny został zapisany w folderze głównym projektu, więc użyłem przełącznika -Djava.util.logging.config.file=logging.properties
, aby uruchomić program. Ale potem wyeksportowałem plik wykonywalny JAR. Jak skonfigurować rejestrowanie teraz? Nie działa, gdy określam ścieżkę do pliku konfiguracyjnego za pomocą przełącznika -D.Jak skonfigurować rejestrowanie przy uruchomieniu JAR?
Odpowiedz
Nie można podać argumenty JVM do pliku MANIFEST.MF więc trzeba określić właściwości rejestrowania w wierszu poleceń lub za pomocą skrótu:
java -Djava.util.logging.config.file=logging.properties -jar yourjar.jar
przeciwnym razie mógłby spakować plik właściwości (logging.properties w twoim przypadku) w JAR, przeczytaj to przy uruchamianiu i umieść te ustawienia we właściwościach systemu.
The javadoc mówi:
Ponadto LogManager wykorzystuje dwa opcjonalne właściwości systemowe umożliwiających lepszą kontrolę nad odczytu początkowego ustawienia:
"java.util.logging.config.class" "java.util.logging.config.file"
Te dwie właściwości mogą być ustawione poprzez preferencji API lub komendę definicji właściwości linii do komendy "java" lub jako właściwość systemu definicje przekazane do JNI_CreateJavaVM.
Jeśli ustawiono właściwość "java.util.logging.config.class", wówczas wartość właściwości jest traktowana jako nazwa klasy. Dana klasa zostanie załadowana , obiekt zostanie utworzony, a konstruktor obiektu jest odpowiedzialny za odczyt w początkowej konfiguracji. (Ten obiekt może używać innych właściwości systemu do kontrolowania swojej konfiguracji.) Alternatywna klasa konfiguracji może użyć readConfiguration (InputStream) do zdefiniowania właściwości w LogManager.
Więc, albo użyć właściwości systemu java.util.logging.config.file
i zapisać plik konfiguracyjny z pliku jar (co jest dobrym pomysłem, jeśli chcesz być w stanie dostosować właściwości rejestrowania w celu debugowania lub analizować niektóre dziwne zachowanie) lub przechowywać plik konfiguracyjny w dowolnym miejscu (na przykład w pliku jar) i użyć właściwości systemowej java.util.logging.config.class
, aby załadować i utworzyć instancję klasy, która odczyta plik w pliku jar (przy użyciu Class.getResourceAsStream()
).
- 1. Zamknij plik wsadowy po uruchomieniu pliku JAR
- 2. Awaria aplikacji przy uruchomieniu
- 3. Rejestrowanie sprężyny przy użyciu Log4j2
- 4. Jak skonfigurować program Visual Studio, aby nie wyświetlał monitów UAC przy każdym uruchomieniu?
- 5. Jak znaleźć błąd przy uruchomieniu ctest
- 6. Jak usunąć wszystkie wystąpienia tinymce przy uruchomieniu?
- 7. Jak wyświetlić widok przy pierwszym uruchomieniu?
- 8. metoda wywołania przy uruchomieniu serwera
- 9. Boot wyjątek przy ponownym uruchomieniu Zagraj
- 10. Django - kod wykonania przy uruchomieniu
- 11. Wykonaj metodę przy uruchomieniu wiosną
- 12. Rejestrowanie sparametryzowane przez SLF4J przy użyciu metody varargs
- 13. Czy można skonfigurować log4j, aby utworzyć nowy plik przy każdym uruchomieniu aplikacji?
- 14. Jak skonfigurować aplikację AngularJS przy użyciu AWS?
- 15. Rejestrowanie w Pythonie przy użyciu dekoratora
- 16. Rejestrowanie i przy użyciu protokołu zwyczaj java.net.URL
- 17. Jak skonfigurować logistykę klasy w dzienniku GWT?
- 18. wyłączyć rejestrowanie SQL przy zachowaniu ustawień. DRUGIE?
- 19. rejestrowanie błędów kolby przy użyciu mod_wsgi
- 20. Rejestrowanie rozruchowe z log4j2?
- 21. Rejestrowanie serwletów Tomcat
- 22. Jak dodać rejestrowanie commons commache przy użyciu maven2 z zaćmienie?
- 23. Jak powinienem obsługiwać zdalne rejestrowanie przy użyciu systemd?
- 24. Pokazywanie żądań przy uruchomieniu npm install
- 25. Wywoływanie usługi przy uruchomieniu w aplikacji Play
- 26. Debugowanie aplikacji iOS przy pierwszym uruchomieniu
- 27. Log4net losowo zatrzymuje rejestrowanie.
- 28. Pierwsze poprawki przy uruchomieniu na iOS
- 29. Tworzenie pliku wykonywalnego .jar przy użyciu Intellij
- 30. PHP: Wewnętrzny błąd serwera przy użyciu WAMP (przy uruchomieniu)