it-swarm.com.de

Wie lautet der Standardpfad für die Protokolldatei von log4j?

Hallo, ich bin neu in der Programmierung Konzepte und ich neige dazu, etwas mit log4j auszuarbeiten. Daher lese ich gerade Log4j-Tutorials, in denen ich den folgenden Code gefunden habe:

package test;
import org.Apache.log4j.Logger;
import Java.io.*;
import Java.sql.SQLException;


public class Log4jExample {

    /* Get actual class name to be printed on */
        static Logger log = Logger.getLogger(Log4jExample.class.getName());
        public static void main(String[] args)throws IOException,SQLException
        {
            log.debug("Hello this is an debug message");
            log.info("Hello this is an info message");
        }

}

Aber nachdem ich dies in Eclipse ausgeführt habe, kann ich die generierte Protokolldatei nicht finden. Kann jemand sagen, wo die Datei gespeichert wird? Helfen Sie mir auch mit einigen der besten Sites, von denen ich Log4j und Java Doc von Grund auf lernen kann. Danke !!

31
manisha

Um Ihre Protokollausgaben in eine Datei umzuleiten, müssen Sie den FileAppender verwenden und andere Dateidetails in Ihrer Datei log4j.properties/xml definieren. Hier ist ein Beispiel für eine Eigenschaftendatei:

# Root logger option
log4j.rootLogger=INFO, file

# Direct log messages to a log file
log4j.appender.file=org.Apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\loging.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.Apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

Befolgen Sie dieses Tutorial, um mehr über die Verwendung von log4j zu erfahren:

http://www.mkyong.com/logging/log4j-log4j-properties-examples/

31
Juned Ahsan

Standardmäßig protokolliert Log4j Auf Standardausgabe und das bedeutet, dass Sie Protokollnachrichten in der Konsole Ansicht Ihrer Eclipse sehen können. Um sich in eine Datei einzuloggen, müssen Sie ein FileAppender explizit verwenden, indem Sie es in einer log4j.properties - Datei in Ihrem Klassenpfad definieren.

Erstellen Sie die folgende log4j.properties - Datei in Ihrem Klassenpfad. Auf diese Weise können Sie Ihre Nachricht sowohl in einer Datei als auch in Ihrer Konsole protokollieren.

log4j.rootLogger=debug, stdout, file

log4j.appender.stdout=org.Apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.Apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.appender.file=org.Apache.log4j.FileAppender
log4j.appender.file.File=example.log
log4j.appender.file.layout=org.Apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%p %t %c - %m%n

Hinweis: Das oben Genannte erstellt ein example.log in Ihrem aktuelles Arbeitsverzeichnis (dh das Projektverzeichnis von Eclipse), sodass dasselbe log4j.properties mit verschiedenen Projekten arbeiten kann, ohne die Protokolle der anderen zu überschreiben.

Referenzen :
Apache log4j 1.2 - Kurze Einführung in log4j

7
Ravi Thapliyal

Sie haben diesen Beispielcode von hier kopiert, richtig?
Nun, wie Sie sehen können, haben Sie das Gleiche getan, wie die von ihnen definierte property -Datei? Wenn nicht, fügen Sie in Ihrem Projekt den folgenden Code mit der Eigenschaftendatei für log4j hinzu

Der Inhalt der Datei log4j.properties lautet also wie folgt:

# Define the root logger with appender file
log = /usr/home/log4j
log4j.rootLogger = DEBUG, FILE

# Define the file appender
log4j.appender.FILE=org.Apache.log4j.FileAppender
log4j.appender.FILE.File=${log}/log.out

# Define the layout for file appender
log4j.appender.FILE.layout=org.Apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n

nehmen Sie die gewünschten Änderungen vor, z. B. log

7
Jubin Patel

Sie können die Protokollinformationen in der Konsolenansicht von IDE) anzeigen, wenn Sie keine log4j-Eigenschaften zum Generieren der Protokolldatei verwenden. Sie können log4j.properties in Ihrem Projekt definieren, sodass diese Eigenschaften angezeigt werden wird zum Generieren der Protokolldatei verwendet. Ein kurzes Beispiel ist unten aufgeführt.

# Global logging configuration
log4j.rootLogger=DEBUG, stdout, R

# SQL Map logging configuration...
log4j.logger.com.ibatis=INFO
log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=INFO
log4j.logger.com.ibatis.common.jdbc.ScriptRunner=INFO
log4j.logger.com.ibatis.SQLMap.engine.impl.SQL MapClientDelegate=INFO

log4j.logger.Java.sql.Connection=INFO
log4j.logger.Java.sql.Statement=DEBUG
log4j.logger.Java.sql.PreparedStatement=DEBUG
log4j.logger.Java.sql.ResultSet=INFO

log4j.logger.org.Apache.http=ERROR

log4j.appender.stdout=org.Apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.Apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.appender.R=org.Apache.log4j.RollingFileAppender
log4j.appender.R.File=MyLog.log
log4j.appender.R.MaxFileSize=50000KB
log4j.appender.R.Encoding=UTF-8

# Keep one backup file
log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.Apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d %5p [%t] (%F\:%L) - %m%n
0
IConfused