2012-04-25 2 views
0

log4jでSeleniumサーバーを起動して、すべてのサーバー関連のログがそこに届くようにしたいとします。私はlog4jでSeleniumサーバーを起動する方法

<target name="startserver" depends="setClassPath"> 
<java jar="${test.home}/lib/selenium-server-standalone-2.20.0.jar" fork="true"> 
<arg line="-Djava.util.logging.config.file=log4j.properties"/> 
<arg line="-firefoxProfileTemplate 'D:\selenium.default'"/> 
<arg line="-browserSideLog"/> 
</java> 
</target>  
は私のlog4j.properties

次ANTターゲットを使用してANTでサーバを起動しています以下の通りです:

log4j.rootLogger=INFO, R, stdout 

log4j.appender.R=org.apache.log4j.RollingFileAppender 
log4j.appender.R.File=./logs/sellog.log 
log4j.appender.R.MaxFileSize=10MB 
log4j.appender.R.MaxBackupIndex=1 
log4j.appender.R.layout=org.apache.log4j.PatternLayout 
log4j.appender.R.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n 

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.Target=System.out 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n 

しかし、私はからサーバを起動した後、私は、任意のサーバーのログを取得していませんよターゲット。

はまた、私は以下のようにlog4jにログを投げてるセレンテストを持っている:

private LogManager lm; 
private Logger logger = lm.getLogger(this.getClass().getName()); 
logger.info("Selenium Client started..."); 

私はlog4jのログでアプリケーションログを取得しています。

私が望むのは、log4jログにすべてのログ(selenium server log + app log)を持つことです。

ご協力いただきまして誠にありがとうございます。

答えて

0

あなたはここでは2つのロギングフレームワークを混同しました:

java.util.logging.config.file=log4j.properties 

定数のjava.util.logging、AKA 'JDKロギング' を設定するためのものであること。

Selenium Serverは実際にlog4jを使用していますか?それはJDKロギングを使用するようにhttp://code.google.com/p/selenium/source/browse/trunk/java/server/src/org/openqa/selenium/server/log/LoggingManager.javaに基づいて、見えますので、あなたは(簡単に)のlog4jにリダイレクトすることはできません。それがない場合は、

log4j.configuration=log4j.properties 

編集が必要です。

0

セレンはslf4jを使用します。これはlog4jにログデータを送信するよう指示できます。しかし、-jarオプションを使用する代わりに、JARマニフェストを開いてクラスパスとメインクラスを明示的に指定する必要があります。次に、slf4jのlog4jアダプタjar(slf4j-log4j12-1.6.4.jar)をクラスパスに追加すると、すべて動作します。

+0

セレンがslf4jを使用するという主張がありますか?私は 'java.util.logging.Logger'sを参照しているselenium v​​2.32.0のクラスを見ています –

+0

最近私はロギングコードを見ていませんが、これは次のように始まります:' java "-Dlog4j.configuration =。/ local.log4j.properties "-cp" ./slf4j-log4j12-1.3.1.jar;./log4j-1.2.16.jar;./selenium-server.jar ;. " org.openqa.grid.selenium.GridLauncher -port 4464 -userExtensions "./user-extensions.js" -browserSideLog'これは正常に動作します。 –

関連する問題