LogManager Exception dans JBOSS as 7.1 avec java.util.Enregistreur
J'ai créé une application java et initialiser un java.util.Enregistreur avec cette application et exécuter cette application, comme -javaagent
avec jboss as 7 serveur et j'ai eu IllegalStateException
(je suis à l'aide de l'IDE eclipse).Voici mon enregistreur de code d'initialisation
static public void setup() throws IOException {
//Get the global logger to configure it
Logger logger = Logger.getLogger(Logger.GLOBAL_LOGGER_NAME);
logger.setLevel(Level.INFO);
fileTxt = new FileHandler("C:/Users/abc/Desktop/ATAGENT/Logging.txt");
fileHTML = new FileHandler("C:/Users/abc/Desktop/ATAGENT/Logging.html");
//create txt Formatter
formatterTxt = new SimpleFormatter();
fileTxt.setFormatter(formatterTxt);
logger.addHandler(fileTxt);
//create HTML Formatter
formatterHTML = new BMITHtmlFormatter();
fileHTML.setFormatter(formatterHTML);
logger.addHandler(fileHTML);
}
Quand je créer -javaagent
pot ajouté au-dessus de lignes de code et l'exécuter avec jboss as7 serveur j'ai exception suivante
WARNING: Failed to load the specified log manager class org.jboss.logmanager.LogManager
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.jboss.as.server.Main.main(Main.java:73)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.modules.Module.run(Module.java:260)
at org.jboss.modules.Main.main(Main.java:291)
Caused by: java.lang.IllegalStateException: The LogManager was not properly installed (you must set the "java.util.logging.manager" system property to "org.jboss.logmanager.LogManager")
at org.jboss.logmanager.Logger.getLogger(Logger.java:60)
at org.jboss.logmanager.log4j.BridgeRepositorySelector.(BridgeRepositorySelector.java:42)
... 7 more
Et je serched dans les fourms et j'ai eu un solution qui est Ouvert le lancement de configuration pour le serveur de définition.
et d'ajouter -logmodule org.jboss.logmanager
pour le programme des arguments avant de org.jboss.as.standalone
.
Mais il en résulte la même exception avec certains d'avertissement supplémentaire. Voici l'exception
WARNING: -logmodule is deprecated. Please use the system property 'java.util.logging.manager' or the 'java.util.logging.LogManager' service loader.
WARNING: Failed to load the specified log manager class org.jboss.logmanager.LogManager
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.jboss.as.server.Main.main(Main.java:73)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.modules.Module.run(Module.java:260)
at org.jboss.modules.Main.main(Main.java:291)
Caused by: java.lang.IllegalStateException: The LogManager was not properly installed (you must set the "java.util.logging.manager" system property to "org.jboss.logmanager.LogManager")
at org.jboss.logmanager.Logger.getLogger(Logger.java:60)
at org.jboss.logmanager.log4j.BridgeRepositorySelector.(BridgeRepositorySelector.java:42)
... 7 more
OriginalL'auteur Anish Antony | 2014-01-15
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème avec JBOSS EAP 6, il me prendre 2 jours pour trouver une solution !.
La cause est que votre agent vous devez créer un Enregistreur au démarrage de windows, il faut être en mesure d'accéder à la logmanager classes avant de JBOSS Modules a été initialisé. Vous devez ajouter JBoss LogManager à la botte du chargeur de classe. Ensuite, il y aura un conflit entre LogManager disponible via ModuleClassLoader et les classes chargées par le système de chargeur de classe.
La solution est de faire du Java Agent et JBoss Modules utiliser le même chargeur de classe de charger le LogManager classes.
Pour EAP 6, Dans votre autonome.conf (ou domaine) (Il doit être à proximité de votre version)
ajouter
et pour faire du Java Agent et JBoss Modules utiliser le même chargeur de classe
modifier ce bout de code à ajouter org.jboss.logmanager comme ceci :
Espère que cela aidera.
merci, fonctionne très bien!
Dans windows, la syntaxe est différente: par exemple set "JAVA_OPTS=%JAVA_OPTS% -Djboss.les modules.système.pkgs=org.jboss.byteman,org.jboss.logmanager" et mettre "JAVA_OPTS=%JAVA_OPTS% -Xbootclasspath/p:%JBOSS_HOME%\modules\org\jboss\logmanager\main\jboss-logmanager-1.3.2.Final.jar
pour 6.4, le chemin d'accès correct est $JBOSS_HOME/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-1.5.4.Final-redhat-1.jar
un autre point important est que vous devez définir précisément tout le chemin, lorsque je l'ai utilisé * dans le bocal nom, Il n'a pas trouve les pots.
OriginalL'auteur bdurand
J'ai trouvé la solution après avoir cherché pendant quelques jours dans le lien ci-dessous.
https://github.com/jbossas/jboss-as-maven-plugin/issues/40#issuecomment-14943429
Je dois bidouiller un peu pour obtenir le travail est en Windows 7.
"-Djboss.les modules.système.pkgs=org.jboss.byteman,org.jboss.logmanager"
"-Djava.util.la journalisation.manager=org.jboss.logmanager.LogManager"
Maintenant, sélectionnez le Classpath de l'ONGLET
a) jboss-logmanager-1.2.0.GA.jar
b) jboss-logmanager-log4j-1.0.0.GA.jar
c) log4j-1.2.16.jar
Chemins
Cela va démarrer le programme d'installation autonome de jboss sans aucun problème.
OriginalL'auteur cyeluri
PAE de 6.4, le bon logmanager du chemin d'accès doit être
$JBOSS_HOME/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-1.5.4.Final-redhat-1.jar
OriginalL'auteur Matt