Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
in meinem Home-Verzeichnis /home/otto finde ich folgende Log-Datei: /home/otto/java0.log
Diese beinhaltet dieselben Log-Einträge, die aus verschiedenen anderen Log-Dateien stammen, die wiederum von java-Anwendungen korrekt generiert werden.
So wie ich verstanden habe, gibt es in
/usr/lib/java/lib/logging.properties den Eintrag
java.util.logging.FileHandler.pattern = %h/java%u.log
Wie müßte ich diesen Eintrag ändern, damit in /home/otto keine überflüssige java0.log erzeugt wird?
Wenn ich diese Zeile auskommentiere, hat es dann vielleicht Auswirkungen auf andere user, die diese Log-datei vielleicht doch in ihrem Home-Verzeichnis haben möchten (z.B. /home/FRITZ/javao.log)?
was meinst du mit .java ? meinst du vielleicht im Quellcode? im Quellcode lese ich eigene Konfigurationsdateien, in denen das Log-verzeichnis (z.B. /export/meinLogVerzeichnis) explizit angegeben ist. Aber die Logausgaben werden zusätzlich noch in /home/otto/java0.log gespeichert, was ich gar nicht haben will.
noch was:
ich wollte gerade in dieser datei logging.properties die zeile auskommentiere; aber ich habe sogar als root nur Lese-Rechte. scheint sich doch um eine wichtige datei zu handeln
Ich verstehe aber immer nicht nicht, ob du das jetzt für alle, oder nur für dein Programm ändern willst.
Wenn nur für dein Programm, dann meine ich, dir die Antwort gegeben zu haben, wenn für alle:
Wie stellst du dir die Lösung denn vor?
ok, es soll dann für alle gelten, d.h. Logdateien sollen nur in denjenigen verzeichnissen erzeugt werden, die jeder user in seinen eigenen Konfiguartionsdateien angibt; im Home-Verzeichnis der User soll gar keine java0.log-Datei angelegt werden.
Ohne jetzt tiefer in die Konfiguration eingestiegen zu sein: wenn du die Log-Datei explizit in deiner Applikation einliest und trotzdem noch Ausgaben an einer Stelle erscheinen, die du nicht willst, dann kann das m.E. drei Ursachen haben:
a) deine Konfigurations-Datei ist nicht richtig; evtl. werden irgendwelche Defaults gesetzt, die du mit eigenen Werten überschreiben musst
b) dein Programm verarbeitet die Konfigurationsdatei nicht korrekt
c) dein Programm liest per Default (vielleicht beim Konstruieren eines Objekts?) auch noch eine andere Konfigurationsdatei.
Prüf das mal der Reihe nach durch und erzähl von deinen Erkenntnissen.
EDIT:
Ach ja - vielleicht testest du das mal mit einem ganz kleinen Programm, welches du dann, wenn das Problem auch da besteht, mitsamt der Konfigurationsdatei hier posten kannst.
Es liegt wohl an a) a) deine Konfigurations-Datei ist nicht richtig; evtl. werden irgendwelche Defaults gesetzt, die du mit eigenen Werten überschreiben musst
in der Logdatei ist folgende Einstellung nicht gesetzt
java.util.logging.FileHandler.formatter=... , daher wird standardmäßig
ich habe deswegen
java.util.logging.FileHandler.formatter=/dev/null/bloedelogdatei.log eingestellt.
Im home-Verzeichnis dagegen wird keine Logdatei mehr erzeugt.
jetzt gibt er auf der Kommandozeite die Fehlermeldung
Couldnt get lock for /dev/null/bloedelogdatei.log eingestellt, aber macht trotzdem weiter. Ist bissel unschön.
ich habe deswegen
java.util.logging.FileHandler.formatter=/dev/null/bloedelogdatei.log eingestellt.
jetzt gibt er auf der Kommandozeite die Fehlermeldung
Couldnt get lock for /dev/null/bloedelogdatei.log eingestellt, aber macht trotzdem weiter. Ist bissel unschön.
Nun ja, das ist klar: /dev/null enthält keine Dateien, kann keine Dateien enthalten und wird es auch nie. Daher kannst du dort auch keine Datei erzeugen, bekommst somit auch keinen FileHandle zurück und hast nichts, was gelockt werden könnte.
Mooooooment - ich habe gerade mal ein bisschen "gegoogelt": formatter hört sich ja spontan nicht so an, als ob da ein Dateiname stehen sollte. Im Wikibook findest du eine Beispiel-Konfiguration. Da wird für den ...formatter java.util.loggin.XMLFormatter gesetzt. Vielleicht hilft dir das ja weiter.
zwar bekomme ich die Meldung "Couldnt get lock for /dev/null/meinebloedeLogdate.log", aber danach wird das Programm normal durchlaufen, d.h. es wird eine Logdatei in dem von mir erünschten Verzeichnis erzeugt; die unerwünschte Logdatei in /home/otto taucht nicht mehr auf.
zwar bekomme ich die Meldung "Couldnt get lock for /dev/null/meinebloedeLogdate.log", aber danach wird das Programm normal durchlaufen, d.h. es wird eine Logdatei in dem von mir erünschten Verzeichnis erzeugt; die unerwünschte Logdatei in /home/otto taucht nicht mehr auf.
Vielleicht postest du einfach mal deine Konfigurations-Datei. Brauchst du den Abschnitt, in dem diese Datei definiert wird, denn überhaupt? Sonst lass doch alles, was zu diesem "Thema" (ich kenne mich wie gesagt nicht mit dem Logging-API aus, und weiß daher die korrekten Begriffe nicht; in log4j würde man das Category nennen) gehört einfach weg.