2014-01-09 26 views
0

我想設置日誌記錄在我的測試腳本(不管是什麼原因),如:需要安裝腳本級別的日誌在robotium

Logger loggervariable = LoggerFactory.getLogger(TestRobotium.class); 
solo1.clickOnButton("7"); 
loggervariable.info("clicked on button 7"); 

我已經使用log4j的與Java工作時,它似乎做工精細,但不適用於android/robotium。 我已經使用slf4j-api-1.7.5.jar和logback-android-1.0.10-2.jar。 該腳本工作正常,但沒有在所需位置的文件中生成日誌。該配置文件設置:

<configuration> 
    <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
    <!-- "application-name" is a variable --> 
    <File>f:/Logger/test.log</File> 
    <layout class="ch.qos.logback.classic.PatternLayout"> 
    <Pattern>%d %p %t %c - %m%n</Pattern> 
    </layout> 
    </appender> 
    <root level="INFO"> 
     <appender-ref ref="FILE"/> 
    </root> 
</configuration> 

我想要實現的是輸入/發送所有文字磁盤上的日誌文件(我們使用的System.out.println對控制檯發送短信的方式,在這種情況下。我想把它發送到一個文件)。 我已經嘗試把配置文件放在classpath中,但沒有見過幫助。 任何有關這方面的幫助,不勝感激。

+0

試着給出簡單的文件名爲 test.log。 – AndRSoid

+0

這些回答您的問題嗎? – AndRSoid

+0

我試過給簡單的名字,不幸的是它沒有爲我工作。 我得到logcat中的日誌,使用microlog4android我能夠寫入SD卡但不寫入系統上的文件。 – bhardwaj

回答

0

我使用LoggerContext進行動態配置。

LoggerContext lc = (LoggerContext)LoggerFactory.getILoggerFactory(); 
PatternLayoutEncoder encoder1 = new PatternLayoutEncoder(); 
encoder1.setContext(lc); 
encoder1.setPattern(messageFormat); 
encoder1.start(); 

FileAppender<ILoggingEvent> appender = new FileAppender<ILoggingEvent>(); 
appender.setContext(lc); 
String logFileName = context.getDir(DEFAULT_LOGDIR, DEFAULT_LOGDIR_MODE).getAbsolutePath() + "/test.log" ; 
appender.setFile(logFileName); 
appender.setEncoder(encoder1); 

appender.start() ;