Wo ist meine log-Datei?
Ich habe Schwierigkeiten, meine körperliche log-Dateien. Ich bin mit dem java.util.logging-Klassen. Ich habe eine triviale sandbox-Klasse mit dem folgenden code:
package test;
import java.util.logging.Level;
import java.util.logging.Logger;
public class TestLogging {
public static void main(String[] args) {
@SuppressWarnings("unused")
TestLogging test = new TestLogging();
}
public TestLogging() {
System.out.println(getClass().getClassLoader().getResource("logging.properties"));
Logger logger = Logger.getLogger("test");
logger.logp(Level.CONFIG, "myClass", "myMethod", "Monday");
logger.logp(Level.FINE, "myClass", "myMethod", "Tuesday");
logger.logp(Level.FINER, "myClass", "myMethod", "Wednesday");
logger.logp(Level.FINEST, "myClass", "myMethod", "Thursday");
logger.logp(Level.INFO, "myClass", "myMethod", "Friday");
logger.logp(Level.SEVERE, "myClass", "myMethod", "Saturday");
logger.logp(Level.WARNING, "myClass", "myMethod", "Sunday");
}
}
Meine Anmeldung.Eigenschaften-Datei (wieder, ohne Kommentare) ist:
handlers= java.util.logging.FileHandler, java.util.logging.ConsoleHandler
.level= ALL
java.util.logging.FileHandler.pattern = %h/java%u.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
x.y.level = SEVERE
x.y.z.level = WARNING
org.sscce.level = WARNING
org.sscce.baz3.level = INFO
Die Protokollierung.properties-Datei im classpath unter Benutzer-Einträge in der Run Configuration für diese Klasse.
Wenn ich execute der Klasse, bekomme ich diese auf der Konsole:
file:/C:/Program%20Files/Java/jdk1.6.0_18/jre/lib/logging.properties
28-Feb-2012 2:05:55 PM myClass myMethod
INFO: Friday
28-Feb-2012 2:05:56 PM myClass myMethod
SEVERE: Saturday
28-Feb-2012 2:05:56 PM myClass myMethod
WARNING: Sunday
Fragte ich für das logging-level auf der Konsole INFO und dass alles, was ich auf der Konsole so, das Teil scheint zu funktionieren. Aber wenn ich mir für meine körperliche java-logs in %h, was C:\Documents und Einstellungen[Meine Windows-ID], es gibt keine Dateien, die dem Muster Folgen, javaX.log wobei X eine Ganzzahl ist.
Was mache ich falsch? Ist das Programm nicht zu sehen, das logging.Eigenschaften-Datei? Oder sind die Werte, die in irgendeiner Weise zu verhindern, dass irgendwelche physische Protokoll geschrieben wird?
Ich brauche etwas Hilfe beim Debuggen, denn ich sehe nicht ein, was offensichtlich falsch ist. Irgendwelche Abnehmer?
paths with spaces + Java == pain and suffering
!möglich, Duplikat der Wie einrichten von java-logging mit properties-Datei? (java.util.Protokollierung)
InformationsquelleAutor Anonymous Coward | 2012-02-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Finden Sie Ihre log-Dateien, die Sie benötigen, zu wissen, dass
%h
steht für den Wert in Ihrenuser.home
variable.Bekommen ausführen:
System.out.println("%h: " + System.getProperty("user.home"));
Müssen Sie die Eigenschaften der Datei, die Sie verwenden, mit einem System.Eigenschaft als gut.
Hier ist ein Weg, es zu tun, sonst wird es verwendet ein Standard, der nicht, wo Sie wahrscheinlich denken, es ist.
Kann man es auch programmgesteuert bevor Sie beginnen mit der logging-Klassen.
auch
verwenden immer
/
als Pfad-separator, Java tun das richtige, auch auf Windows.verwenden Sie immer
/
im Java-Pfad-Separatoren, auch in Windows, es funktioniert, dann ist es aus. Wickeln Sie alles in"
nur um sicher zu sein.Never mind! Kopiert habe ich die Protokollierung.Eigenschaften von C:\ und schrieb die parameter genau wie diese in der VM Parameter: -Djava.util.die Protokollierung.config.Datei=C:\logging.Eigenschaften. Der code funktioniert nun perfekt und ich habe ein Protokoll mit allen 7 Tagen der Woche genau dort, wo es sein soll. Dank Jarrod! Jetzt weiß ich, was ich tun muss, um diese Arbeit zu machen, wie ich will.
Verwenden Sie immer Anführungszeichen, immer Schrägstriche verwenden. Okay, Jarrod. Nochmals vielen Dank!
InformationsquelleAutor