Je pense que ce n'est pas pris en charge, mais, fondamentalement, vous pouvez faire deux choses à apporter à vos variables d'environnement:
L'Utilisation Du Système.setProperty avant de Log4J se configure
Convertir vos variables d'environnement dans les propriétés du système dans votre lanceur
La première option, fondamentalement, se résume à ceci:
for (Map<String,String>.Entry entry : System.getenv().entrySet()) {
System.setProperty(entry.getKey(), entry.getValue());
}
... mais la question est bien sûr où placer ce code. En particulier si vous êtes en cours d'exécution dans une sorte de conteneur Tomcat ou similaires, cela pourrait être gênant.
L'autre dépend en grande partie de votre environnement. En gros si vous avez un script shell qui lance votre application, vous pouvez écrire quelques shell magie pour définir toutes les variables d'environnement comme des propriétés, ou seulement ceux dont vous avez besoin, par exemple:
java -DMY_ENV=$MY_ENV -DMY_OTHER_ENV=$MY_OTHER_ENV -cp ... com.example.Main
Il est également possible de modifier les scripts de démarrage de votre serveur à l'appui, par ex. catalina.sh ou similaire.