In Glassfish v2.1 Ich konnte meine Web-Anwendungen alle stdout und stderr im Glassfish-Serverprotokoll ($ GF_HOME/domains/domain1/logs/server.log) protokollieren. Aber ich sehe nicht das gleiche in v3. Gibt es eine Einstellung, die geändert werden muss oder müssen Anwendungen nun ihre eigene Protokollierung unterstützen?Glassfish v3 Protokollierung
Antwort
http://blog.saddey.net/2010/03/27/how-to-deploy-a-grails-application-to-glassfish/
Dieses Tutorial erklärt kurz und bündig, was das Problem war und fixiert es, zumindest für Grails-Anwendungen, die in erster Linie ist das, was wir zu implementieren glassfish.
In der v3-Umgebung werden System.out und System.err über einen Logger an die Protokolldatei gesendet.
Der Name des Loggers lautet "javax.enterprise.system.std.com.sun.enterprise.v3.services.impl".
Eine Meldung an System.err wird auf Level.SEVERE protokolliert. Eine Nachricht an System.out wird auf Level.INFO protokolliert.
Sie können den Server starten und die Protokollierungsstufe für "javax.enterprise.system" in der Verwaltungskonsole überprüfen. Es ist der letzte Logger auf der Seite in diesem Screenshot, direkt über der Schaltfläche "Speichern".
Wenn dieser Logger auf OFF gesetzt ist, werden keine Meldungen an die Protokolldatei gesendet. Wenn der Logger auf SEVERE oder WARNING gesetzt ist, werden Nachrichten an System.out nicht protokolliert.
EDIT: Hinzugefügt Screenshot
Um die System.out.print() - Nachrichten anzuzeigen, sollten Sie javax Protokollierungsebene auf INFO setzen.
Ich sehe den "javax.enterprise.system.std.com.sun.enterprise.v3.services.impl" Logger nicht in meinen Protokolleinstellungen. Füge ich das zu meinen logging.properties hinzu? Ich sehe javax.enterprise.system entweder nicht, aber ich sehe javax.enterprise.system.core.web etc. – ankimal
wo ist der Screenshot ?? – Houcine