2017-08-29 5 views
0

私はBDDテスト自動化に取り組んでいます。 最初にStepDefsでlog4j loggerを使用し始めました。つまり、他のStepDefクラスによって拡張されたBaseTestClassクラスの下のコンストラクタを使用しています。今異なるパッケージ間でLog4jインスタンスを再利用する

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

、(すなわち、異なるパッケージ&クラス階層の)ページオブジェクトレベルで、Iは、log4jのロガーの使用を開始したいと思います。 同じインスタンスを再利用できますか? これをどのように達成できますか?

おかげ

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 

答えて

0

私はあなたがログインしようと、あなたのクラスのそれぞれに以下の行を記述することをお勧めします。

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

ロガーが正しく設定されています。

ここでhttp://logging.apache.org/log4j/1.2/manual.htmlは完璧な出発点です。

関連する問題