Mark: Java Formatter

Hi,

Ich bräuchte etwas Hilfe beim umschreiben des Java Formatters.

Ich bräuchte einen, der wie der SimpleFormatter ist

Bsp. SimpleFormatter:

17.06.2010 08:50:48 testing main
WARNUNG: My first log

Nur zusätzlich noch die Millisekunden.

SOLL:

17.06.2010 08:50:48:142 testing main
WARNUNG: My first log

(in etwa)

Bisheriger Code:
                      fh = new FileHandler("MyLogFile.log", true);
      logger.addHandler(fh);
      logger.setLevel(Level.ALL);
      SimpleFormatter formatter = new SimpleFormatter();
      fh.setFormatter(formatter);

	      logger.log(Level.WARNING,"My first log");  

Falls jemand eine Idee hat bitte melden!

Gruß
Mark

  1. Hi!

    Ich bräuchte einen, der wie der SimpleFormatter ist

    Nur zusätzlich noch die Millisekunden.

    Dann erweitere SimpleFormatter doch und überschreibe die entsprechende Methode.

    off:PP

    --
    "You know that place between sleep and awake, the place where you can still remember dreaming?" (Tinkerbell)
    1. Erstmal Danke.

      Dann erweitere SimpleFormatter doch und überschreibe die entsprechende Methode.

      Wäre nett wenn man mir nen Hinweis geben könnte welche Methode das ist,
      ich hab die Methode noch nicht gefunden, die das Layout festlegt.

      Grüße
      Mark

      1. Hi,

        Ich hab jetzt den Log4j genommen, allerdings besteht jetzt das Problem beim PatternLayout die Milisekunden anzufügen..

        PatternLayout layout = new PatternLayout( "%d{???????} %-5p [%t] %c: %m%n" );
                 DailyRollingFileAppender fileAppender = new DailyRollingFileAppender( layout, "MeineLogDatei.txt", "'.'yyyy-MM-dd_HH-mm" );
                 logger.addAppender( fileAppender );
                 logger.setLevel( Level.ALL );

        Hinter das %d kommt die Formatangabe.

        Vielleicht kann mir da jemand weiterhelfen.
        Eines von beiden Loggermöglichkeiten brauch ich!

        Grüße
        Mark

        1. Hi,

          Ich hab's gelöst, fall es noch jemand sucht:

          import java.text.SimpleDateFormat;
          import java.util.Date;
          import java.util.logging.Formatter;
          import java.util.logging.LogRecord;

          public class LogFileFormatter extends Formatter
          {
            private final static SimpleDateFormat DATE = new SimpleDateFormat("dd.MM.yyyy - HH:mm:ss.SSS");

          public String format(LogRecord record)
            {
              String output = record.getLevel()                         + " - "
                            + DATE.format(new Date(record.getMillis())) + ": "
                            + record.getMessage()                       + "\r\n";

          return output;
            }
          }

          Frohes Schaffen!

          Mark