Java Nicht auf die Konsole Schreiben
Ich arbeite an einer Java-EE web-Applikation, keine Ausgabe, nichts an die Konsole. Es nutzt log4j, die log4j.properties-Datei eingestellt ist, die Ausgabe an stdout. Es ist jedoch nicht funktionieren, keine Anmeldung erscheinen in der Konsole. Es stellt sich heraus, dass auch System.out ist nicht angezeigt in der console. Was könnte dies verursachen?
Ich bin mit MyEclipse 10.1, log4j-1.2.11, tomcat 5.5.35, java 1.6.0_31.
Pro Anfrage, hier ist meine .Eigenschaften Datei:
### direct log messages to stdout ###
# Configure Root Logger
log4j.rootLogger = DEBUG, stdout
log4j.logger.org.hibernate = DEBUG, stdout
#log4j.logger.org.springframework = ERROR, stdout
# Configure stdout Appender
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern =%d [%t] %-5p %c - %m%n
- Und log-handler:
public class LogHandler {
private static Logger sLog = Logger.getLogger(LogHandler.class);
public LogHandler(){
}
public void info_toLOG(String msg00) {
sLog.info("\n" + msg00 + "\n");
}
public void error_toLOG(Exception e) {
sLog.error("\n" + e.getClass() + "\n"
+ e.getCause() + "\n"
+ e.getMessage() + "\n"
+ e.getLocalizedMessage() + "\n"
+ e.getStackTrace().toString() + "\n");
}
public void warning_toLOG(String msg00) {
sLog.warn("\n" + msg00 + "\n");
}
}
Ich verwende MyEclipse zu starten und zu stoppen. Zeigen Sie einfach meine tomcat-Installationsverzeichnis. MyEclipse noch folgende VM-Argumente:
-Dcatalina.home="<tomcat dir>"
-Dcatalina.base="<tomcat dir> "
-Djava.endorsed.dirs="<tomcat dir>/common/endorsed"
-Djava.io.tmpdir="<tomcat dir>/temp"
-Djava.library.path=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin:"<tomcat dir>/bin"
-Dsun.io.useCanonCaches=false
-Xmx1024M
BEARBEITEN:
Vielen Dank an diejenigen die versucht haben zu helfen. Ich sollte haben erklärt, in der ursprünglichen Frage, ich bin unter Mac OS X 10.7.3. Es wurde eine Einstellung "unter" Werkzeuge -> Java-Einstellungen -> Erweitert -> Java-Konsole, die einmal eingestellt, um zu Zeigen, Konsole das Problem behoben.
- log4j-Konfiguration (logging.apache.org/log4j/1.2/manual.html) kann schwierig sein. In einem typischen setup gibt es Listener einrichten, mit bestimmten Kategorien von log-Meldungen, und jeder listener kann direkte Ausgabe auf verschiedene Destinationen (meiner Terminologie, nicht log4j ist). Wenn Sie buchen können Sie Ihre Eigenschaften-Datei und eine Beispiel-Zeile Java-code, der führt eine Protokollierung-operation, die wir vielleicht in der Lage sein, die Ursache des Problems.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Tomcat Ihrem System.out und System.err wird, gehen Sie zu catalina.aus log-Datei. Bitte überprüfen Sie Ihre Ausgabe dort.
UPDATE gerade getestet, Ihre genaue log4j-Konfiguration kann ich bestätigen, dass die Ausgabe gesendet wird, um
tomcat7-stdout.<date>.log
auf Tomcat 7 Windows.Diese log-Datei name wäre anders, für Tomcat 5.5, sollte es
catalina.out
in Linux, und es hätte einen anderen Namen in Windows (also die Dokumentation sagt, weiß ich nicht).Dies ist der code:
UPDATE2 Unter Eclipse dieser Art der Ausgabe gehen sollten, um Eclipse-Konsole, erstellen Sie Ihre war-Datei und setzt es in ein standalone Tomcat zu überprüfen, die oben genannten.
<TOMCAT_DIR>/logs
- Verzeichnis? Ich kann sein denken von einer früheren version von Tomcat.<TOMCAT_DIR>/logs/tomcat7-stdout.<date>.log
.log4j.properties
<YOUR_WORKPLACE_DIR>\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\logs
als gut.