web-dev-qa-db-fra.com

Quel est le chemin de vidage du fichier journal par défaut de log4j

Salut, je suis nouveau dans les concepts de programmation et j'ai tendance à travailler sur quelque chose avec log4j. Donc, je lis des tutoriels Log4j où j'ai trouvé le code suivant:

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");
        }

}

Mais après avoir exécuté ceci dans Eclipse, je ne parviens pas à localiser le fichier journal généré. Quelqu'un peut-il dire où le fichier est en cours de vidage? Aidez-moi également avec certains des meilleurs sites d'où je peux apprendre Log4j et Java Doc from the scratch. Merci !!!

31
manisha

Pour rediriger la sortie de vos journaux vers un fichier, vous devez utiliser FileAppender et définir d'autres détails dans le fichier log4j.properties/xml. Voici un exemple de fichier de propriétés pour le même:

# 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

Suivez ce tutoriel pour en savoir plus sur l’utilisation de log4j:

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

31
Juned Ahsan

Par défaut, Log4j Se connecte à la sortie standard , ce qui signifie que vous devriez pouvoir voir les messages de journalisation sur la console de votre Eclipse vue. Pour vous connecter à un fichier, vous devez utiliser explicitement FileAppender en le définissant dans un fichier log4j.properties Dans votre chemin de classe .

Créez le fichier log4j.properties Suivant dans votre chemin de classe . Cela vous permet de consigner votre message à la fois dans un fichier et sur votre console.

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

Remarque: Ce qui précède crée un exemple .log dans votre répertoire de travail actuel (c'est-à-dire le répertoire de projet d'Eclipse) afin que le même log4j.properties puisse fonctionner avec différents projets sans écraser les journaux de l'autre.

Références :
Apache log4j 1.2 - Brève introduction à log4j

7
Ravi Thapliyal

Vous avez copié cet exemple de code de Ici , n'est-ce pas?
maintenant, comme vous pouvez le voir, property fichier qu’ils ont défini, avez-vous fait la même chose? sinon ajoutez ensuite le code ci-dessous dans votre projet avec le fichier de propriétés pour log4j

Le contenu du fichier log4j.properties serait donc le suivant:

# 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

faire des changements selon vos besoins comme chemin log

7
Jubin Patel

Vous pouvez voir les informations du journal dans la vue de la console de votre IDE si vous n'utilisez aucune propriété log4j pour générer un fichier journal. Vous pouvez définir log4j.properties dans votre projet afin que ces propriétés utilisé pour générer le fichier journal. Un exemple rapide est répertorié ci-dessous.

# 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