tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
671
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    kirina kirina ist offline Mitglied Bronze
    Registriert seit
    Mar 2008
    Beiträge
    38
    Wie kann ich einen Logfile den ich schreibe weiterführen und nicht immer überschreiben?

    Ich hab folgenden Code:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    
    import java.util.logging.ConsoleHandler;
    import java.util.logging.FileHandler;
    import java.util.logging.Level;
    import java.util.logging.Logger;
    import java.util.logging.SimpleFormatter;
     
    public class log_tester {
        private static final Logger log = Logger.getLogger(log_tester.class
                .getName());
        private static ConsoleHandler coh = new ConsoleHandler();
        private static FileHandler fh;
        private static SimpleFormatter sf;
     
        public static void main(String[] args) throws Exception{
            sf = new SimpleFormatter();
            fh = new FileHandler("C:/log_test.txt");
            fh.setFormatter(sf);
            log.setLevel(Level.FINE);
            coh.setLevel(Level.FINE);
            log.addHandler(coh);
            log.addHandler(fh);
            log.log(Level.FINE, "Start");
            int i = 0;
            if (i==0){
                log.warning("ACHTUNG 0");
            } else {
                log.info("ach ne");
            }
        }
    }


    es funktioniert so weit auch, wenn ich das log_test.txt öffne kann ich den log lesen.

    Mein Problem ist nur, starte ich das "programm" immer wieder, erscheint immer nur der letzte log. Aber ich möchte natürlich in meinem Logfile alles nacheinander aufgereiht haben was so passiert.

    Wie mache ich das? Ich hab bis jetzt leider einfach nichts gefunden
     

  2. #2
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    Nichts gefunden? Steht doch inner Doku: http://java.sun.com/javase/6/docs/ap...leHandler.html
     

  3. #3
    kirina kirina ist offline Mitglied Bronze
    Registriert seit
    Mar 2008
    Beiträge
    38
    Mmh, ja daran hing ich (ich hab mich wohl falsch ausgedrückt, ich hab nichts gefunden wie ich es sagen wir mal "umsetzen" soll, aber ich äußere mal am besten meine Vermutung ) und sorry, ich muss wohl noch lernen mal meine Frage besser zu stellen oder so =/

    also ich hab natürlich gesehen es gibt noch mehr Konstruktor (FileHandler(String pattern, int limit, int count) , FileHandler(String pattern, int limit, int count, boolean append) ) aber ich komm mit der Erklärung nicht zurecht.

    also ich versucht mal hinzuschreiben was ich glaube verstanden zu haben, und vieleicht hab ich es ja schon lange und bin nur zu blöd da zu merken

    limit ist wie groß die datei werden darf, das kann ich mir noch vorstellen

    count macht mir da schon mehr probleme (java.util.logging.FileHandler.count specifies how many output files to cycle through (defaults to 1). )... ich will ja nur 1 file mit allem drin stehen haben und nicht das er das gleich in mehrere reinschreibt so hab ich das jedenfalls bis jetzt verstanden....obwohl mir kommt grad noch ne zweite idee...ist das vieleicht sogar wie oft er in die datei reinschreiben soll? also wieviele "logs" er anfügen sollaber angenommen ich schreib da 5 rein, was passiert dann wenn ich 5 voll hab ? löscht er dann? oder löscht er den ältesten? mmh naja das krieg ich wohl am besten durch ausprobieren (falls der gedanke stimmt) und eigentlich möchte ich ja alles reinschreiben solange bis das file ne bestimmte größe erreicht hat und dann ein neues anfangen oder sowas. Naja wenn du sagst es steht doch da, dann hab ich es wohl falsch verstanden und es ist mein jetziger gedanke.

    und wozu ist append? append heißt anfügen aber wenn ich count ändere sollte es da nicht schon angefügt werden?


    ich hab das gefühl ich stell mich grad total doof an, sorry dafür
     

  4. #4
    Avatar von zeja
    zeja zeja ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Sep 2006
    Beiträge
    2.962
    pattern - the pattern for naming the output file

    Das war dir klar?

    count - the number of files to use

    Wieviele Dateien von limit bytes Größe sollen maximal entstehen? Auch wenn append auf false steht könnten ja in einem Programmlauf mehr Logginginformationen entstehen als in eine Datei passen.

    limit - the maximum number of bytes to write to any one file

    Die maximale Dateigröße einer Logdatei danach wird eine neue begonnen, sofern count größer als 1 ist.

    append - specifies append mode

    Wenn append auf false steht, wird bei jedem Neustart des Programms mit einem neuen Log begonnen und nicht an ein altes rangeschrieben.

    Ansonsten probies einfach mal aus in der du eine Schleife machst und daraus in dein Log schreibst und schaust was so passiert.
    Geändert von zeja (28.03.08 um 17:13 Uhr) Grund: Nun vertausch ich das auch noch...
     

  5. #5
    kirina kirina ist offline Mitglied Bronze
    Registriert seit
    Mar 2008
    Beiträge
    38
    Okay jetzt hab ich es verstanden, ich danke dir!

    Ich habe nur noch ein Problem, wenn ich count auf etwas anderes stelle als 1, dann legt er
    dateien an wie "teste_log.text.0" (was man natürlich erst umbenennen muss bevor man es lesen kann, außer man sagt für .0 immer editor verwenden oder so, aber das begeistert mich jetzt wenig, vor allem da das dann für jede aufkommende zahl gemacht werden muss)...kann man das irgendwie ändern? also das stattdessen "teste_log.0.txt" oder sowas geschrieben wird

    und an sich ist es mir auch egal wieviele dateien ich am ende hab, da will ich keine feste größe, ich will nur, das eine datei nicht größer als z.b. 4mb wird und wenn ich nach nem monat 200 davon hab ist mir das auch egal (also jetzt achte mal keiner auf genaue zahlenangaben bitte xD)
     

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 03.11.07, 10:50
  2. Zahl automatisch weiterführen lassen?
    Von paulee im Forum PHP
    Antworten: 11
    Letzter Beitrag: 27.12.06, 13:45
  3. Windows Logfiles
    Von exitboy im Forum Microsoft Windows
    Antworten: 6
    Letzter Beitrag: 09.08.06, 16:15
  4. Exel: Buchstaben alphabetisch weiterführen
    Von CreatorX im Forum Office-Anwendungen
    Antworten: 2
    Letzter Beitrag: 17.10.04, 01:40
  5. Hintergrund nahtlos weiterführen
    Von LeoZwentendorf im Forum Photoshop
    Antworten: 13
    Letzter Beitrag: 29.01.04, 08:47