Logging

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,
ich hab da mal eine Frage und zwar arbeite ich mich gerade ins "logging" ein (soll ja besser als System.out. ... sein). Nur hab ich keine Ahnung wie ich damit anfangen soll. Hab mal was gegoogelt und gelesen und ne ganz simple Klasse geschrieben. Aber wie ich da jetzt irgendwas mit ausgeben oder wegschreiben kann ist mir ein Rätsel. Dank für eure Hilfe!!

Code:
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;


public class Test {

    private int a;
    private int b;
    private Log log;

  
    public CheckstyleTester(int a, int b) {
        this.a = a;
        this.b = b;
        out();
    }


    private void test() {

            getLog().debug(a + " + " + b + " = " + (a + b));
        
    }

    protected Log getLog() {
        if (this.log == null) {
            this.log = LogFactory.getLog(getClass());
        }
        return log;
    }

}
 
G

Guest

Gast
Mir ist da ein Kleiner Syntaxfehler beim post unterlaufen, hatte den noch etwas geändert beim posten. Auf jeden Fall hab ich einmal vergessen eine Methode umzubennen. out == test


Code:
out() 

test()
 
G

Guest

Gast
Danke für den Tipp.

Hab in der zwischenzeit auch noch was gesucht und eine funktionierende alternative gefunden.


Code:
import java.io.IOException;
import java.util.logging.*;

public class LogDemo {

  private static final Logger logger = Logger.getLogger( "Logging" );

  public static void main( String[] args ) throws IOException {

    FileHandler fh = new FileHandler( "log.xml.txt" );
    logger.addHandler( fh );

//    logger.setLevel( Level.ALL );

    logger.fine( "Dann mal los." );

    try
    {
      ((Object)null).toString();
    }
    catch ( Exception e )
    {
      logger.log( Level.WARNING, "oh oh", e );
    }

    logger.fine( "Ging alles glatt." );

  }

}

[//code]

Aber falls jemand weiß wie ich aus dem Code meines 1. Postes ne Datei/Meldung rausbekomme, würd ich mich über eine Antwort freuen!
 

Niki

Top Contributor
bei der commons-logging bibliothek hast du den vorteil, dass sie erkennt welcher logging-mechansimus verwendet werden soll/kann. ich bevorzuge dafür die log4j library (muss natürlich im klassenpfad aufgenommen werden). damit man mit log4j bzw. commons-logging sinnvoll loggen kann brauchst du ein log4j.properties file, welches sich ebenfalls irgendwo im klassenpfad befinden muss. ich würde aber an deiner stelle einfach mal die doku auf der apache homepage vom log4j anschaun

die log4j.properties datei (muss auch genauso heißen) kann z.b. so aussehn:

log4j.rootLogger=ERROR, stdout

log4j.logger.MyLogger=DEBUG, file


# -----------------------------------------------------------------------------
# Console
# -----------------------------------------------------------------------------

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.conversionPattern=%d{ISO8601}: %X{ClientIP} %X{UserId} %p [%t] %l: %m%n

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=logs/log4j.log
log4j.appender.file.MaxFileSize=100KB
log4j.appender.file.MaxBackupIndex=3
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.conversionPattern=%d{ISO8601}: %X{ClientIP} %X{UserId} %p [%t] %l: %m%n
log4j.appender.file.Append=true



kurze Beschreibung:

log4j.rootLogger=.... das ist der rootlogger, wenn im code kein logger mit angegebenem namen gefunden wird, wird dieser genommen (sozusagen der defaultlogger)

ERROR = traceleve
alles was nach ERROR kommt sind die Appender, du kannst also mehrere Appender für einen Logger verwenden und dadurch auf mehrere destinations loggen (file, console, sockets, db,...)

den Logger holst du so:

private static Log logger = LogFactory.getLog("MyLogger");

und schon sollte es funktionieren[/code]
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
8u3631984 Strukturiertes Logging : Jedes Feld in eine seperate Zeile - aber wie ? Allgemeine Java-Themen 2
T Logging mit org.apache.logging.log4j Allgemeine Java-Themen 1
MiMa Logging mit log4j2 in verschiedene Dateien? Allgemeine Java-Themen 22
S Input/Output Jave.utill.logging ohne Default-Locale also in Englisch Allgemeine Java-Themen 3
A Automatisches Methoden Laufzeiten logging? Allgemeine Java-Themen 7
M JVM: Client Software Logging und Profiling aktivieren Allgemeine Java-Themen 1
AssELAss Log4j Logging Ausgabe für jede Klasse in seperates File Allgemeine Java-Themen 2
P Logging levels Allgemeine Java-Themen 2
X Logging Messages - mehr Details? Allgemeine Java-Themen 4
F Error Logging - best practices? Allgemeine Java-Themen 3
L util.logging Log Rotation Allgemeine Java-Themen 3
W Java Logging Problem Allgemeine Java-Themen 3
H java.util.logging Formatter Optionen setzen Allgemeine Java-Themen 2
D Logging XMLFormatter Allgemeine Java-Themen 3
B OOP java.util.logging.Logger: Wie kann ich mehre Klassen in ein Logfile schreiben lassen? Allgemeine Java-Themen 12
D Technologiefragen, logging, JMX Allgemeine Java-Themen 3
S Tomcat java.util.logging - keine Logs Allgemeine Java-Themen 12
J Logging mehrerer Methoden Allgemeine Java-Themen 21
S log4j - doppeltes Logging Allgemeine Java-Themen 4
B Logging von Exceptions Allgemeine Java-Themen 7
S log4j Logging über mehrere Klassen Allgemeine Java-Themen 13
P SLF4J Logging Level einstellen Allgemeine Java-Themen 2
DamienX Google Guice AOP + Logging Allgemeine Java-Themen 3
T CP Problem: Webstart + Logging properties file + eigener Handler Allgemeine Java-Themen 7
A java logging api scheint nicht thread save zu sein Allgemeine Java-Themen 22
T Java Logging API in Multi Threaded API Allgemeine Java-Themen 2
P fehlende Mehrfachvererbung logging.Handler impl. Observable Allgemeine Java-Themen 5
M Verbieten Applets die Nutzung von Commons Logging? Allgemeine Java-Themen 7
F Java logging Allgemeine Java-Themen 4
F Java logging Leerzeile als Standardeinstellung Allgemeine Java-Themen 4
S Java logging konfigurieren? Allgemeine Java-Themen 5
DEvent log4j, commons logging, log4j.properties and co Allgemeine Java-Themen 12
J Logging Allgemeine Java-Themen 10
J Log4j / commons-logging Allgemeine Java-Themen 3
K Logging mit Log4j Allgemeine Java-Themen 2
S Logging mit log4j Allgemeine Java-Themen 17
S Logging Allgemeine Java-Themen 9
M Rat gesucht: Logging (log4J oder java.util.logging oder .) Allgemeine Java-Themen 5
T Logging Allgemeine Java-Themen 12
T Transaction Logging Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben