2017-08-29 3 views
0

Je travaille sur l'automatisation des tests BDD. Initialement, j'ai commencé à utiliser log4j logger dans StepDefs, c'est-à-dire en utilisant le constructeur ci-dessous dans la classe BaseTestClass qui est étendue par d'autres classes StepDef.Réutilisation de l'instance Log4j dans différents packages

public BaseTestClass(){ 
    logger = Logger.getLogger(this.getClass()); 
    PropertyConfigurator.configure("Log4j.properties"); 
} 

Maintenant, à la page niveau d'objet (par exemple dans la hiérarchie de classes différentes package &), je voudrais commencer à utiliser l'enregistreur de log4j. Puis-je réutiliser la même instance? Comment pourrais-je y parvenir?

Merci

log4j.rootLogger=INFO,CONSOLE,R,HTML,TTCC 

#// Here we define the appender 
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender 
log4j.appender.R=org.apache.log4j.RollingFileAppender 
log4j.appender.TTCC=org.apache.log4j.RollingFileAppender 
log4j.appender.HTML=org.apache.log4j.FileAppender 
log4j.appender.DEBUG=org.apache.log4j.EnhancedThrowableRenderer 


#// Here we define log file location 
log4j.appender.R.File=./log/testlog.log 
log4j.appender.TTCC.File=./log/testlog1.log 
log4j.appender.HTML.File=./log/application.html 

#// Here we define the layout and pattern 
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout 
log4j.appender.CONSOLE.layout.ConversionPattern= %5p [%t] (%F:%L)- %m%n 
log4j.appender.R.layout=org.apache.log4j.PatternLayout 
log4j.appender.R.layout.ConversionPattern=%d - %c -%p - %m%n 
log4j.appender.TTCC.layout=org.apache.log4j.TTCCLayout 
log4j.appender.TTCC.layout.DateFormat=ISO8601 
log4j.appender.HTML.layout=org.apache.log4j.HTMLLayout 
log4j.appender.HTML.layout.Title=Application log 
log4j.appender.HTML.layout.LocationInfo=true 

Répondre

0

Je vous recommande d'écrire la ligne suivante dans chacune de vos classes qui veut se connecter.

private static Logger LOG = Logger.getLogger(<actualClass>.class); 

Ensuite, votre enregistreur est configuré correctement.

Ici http://logging.apache.org/log4j/1.2/manual.html est un point de départ parfaitement parfait.