Chciałbym mieć plik logback.xml do produkcji i inny z innymi parametrami w moim środowisku pomostowym. Mój kod jest w stanie automatycznie rozpoznać w czasie wykonywania, jeśli jest on w fazie produkcyjnej lub wykonawczej. Czy istnieje sposób na ustawienie pliku konfiguracyjnego logback w środowisku wykonawczym?Jak ustawić plik konfiguracyjny logowania w środowisku wykonawczym?
Odpowiedz
Metoda 1: Ładowanie z różnych plików
można trzymać dwa różne pliki konfiguracji i załadować plik dla konkretnego środowisku z JoranConfiguratior#doConfigure
przy starcie aplikacji.
Zobacz http://logback.qos.ch/manual/configuration.html#joranDirectly. Przykład kodu również wziąć stamtąd ze zmianami w Twoim przypadku:
public class MyApp3 {
final static String STAGING_CONFIGURATION = "/path/to/statging.xml";
final static String PRODUCTION_CONFIGURATION = "/path/to/production.xml";
final static Logger logger = LoggerFactory.getLogger(MyApp3.class);
public static void main(String[] args) {
// assume SLF4J is bound to logback in the current environment
LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
// determine environmental specific configuration path
final String path = isProdcution() ? PRODUCTION_CONFIGURATION : STAGING_CONFIGURATION;
try {
JoranConfigurator configurator = new JoranConfigurator();
configurator.setContext(context);
// Call context.reset() to clear any previous configuration, e.g. default
// configuration. For multi-step configuration, omit calling context.reset().
context.reset();
configurator.doConfigure(path);
} catch (JoranException je) {
// StatusPrinter will handle this
}
StatusPrinter.printInCaseOfErrorsOrWarnings(context);
logger.info("Entering application.");
Foo foo = new Foo();
foo.doIt();
logger.info("Exiting application.");
}
}
Oczywiście, kod dla uzyskania prawidłowego pliku może być regulowane dopasowanie potrzeb. Co więcej, istnieją pewne przeciążone metody doConfigure
(http://logback.qos.ch/apidocs/ch/qos/logback/core/joran/GenericConfigurator.html#doConfigure%28java.io.File%29), które dobrze odbierają również pliki InputStreams, pliki i adresy URL.
Metoda 2: Korzystanie warunkowe w jednym pliku
Jeśli można określić otoczenie przy użyciu build logbag w lub właściwości systemowych, można użyć konfiguracje warunkowe:
http://logback.qos.ch/manual/configuration.html#conditional
<!-- if-then form -->
<if condition="condition for your production">
<then>
...
</then>
<else>
...
</else>
</if>
- 1. Konfiguracja hibernacji w środowisku wykonawczym
- 2. Jak mogę ustawić klasy javafx w środowisku wykonawczym?
- 3. Jak wykonać plik RowClick (sklep ExtNet) w środowisku wykonawczym
- 4. Plik konfiguracyjny w AngularJS
- 5. Rozmiar obiektu w środowisku wykonawczym
- 6. Dodawanie obrazu w środowisku wykonawczym
- 7. włączyć HeapDumpOnOutOfMemoryError w środowisku wykonawczym
- 8. Jak odczytać plik konfiguracyjny w Javie
- 9. Jak konwertować typy w środowisku wykonawczym?
- 10. Jak zmienić AndroidManifest w środowisku wykonawczym?
- 11. Załaduj kod bajtów Java w środowisku wykonawczym
- 12. NoClassDefFoundError w środowisku wykonawczym z Gradle
- 13. Jak zmienić kolor etykiety w środowisku wykonawczym w ActionScript 3.0?
- 14. jak utworzyć klasę dynamiczną w środowisku wykonawczym w Javie
- 15. Plik konfiguracyjny aplikacji iOS
- 16. Jak wstępnie załadować plik konfiguracyjny w angular2
- 17. . Własny plik konfiguracyjny .NET
- 18. Znajdź zależne pakiety w środowisku Eclipse w środowisku wykonawczym
- 19. Określenie hierarchii klas obiektu w środowisku wykonawczym
- 20. Jak przesłonić FetchType.EAGER, aby być leniwym w środowisku wykonawczym
- 21. Android - Zmień układ fragmentów w środowisku wykonawczym
- 22. Sprawdzanie wersji modułu Python w środowisku wykonawczym
- 23. Dodawanie adnotacji Java w środowisku wykonawczym
- 24. Architektura wtyczek do załadowania w środowisku wykonawczym
- 25. Wykryj przyspieszenie sprzętowe w środowisku wykonawczym: Android
- 26. Aktualizacja tekstury/obrazu Three.js w środowisku wykonawczym
- 27. Plik konfiguracyjny rejestrowania w języku Python
- 28. Uzyskiwanie tożsamości podpisywania kodu w środowisku wykonawczym?
- 29. Dlaczego okno jest większe w środowisku wykonawczym?
- 30. Tworzenie tabel dynamicznie w środowisku wykonawczym
używasz Springa? – John
nie! Zwykły stary java. – poiuytrez