需要在robotium中设置脚本级别日志记录

时间:2014-01-09 07:36:16

标签: android logback robotium

我正在尝试在我的测试脚本中设置日志记录(无论出于何种原因),例如:

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

我在使用Java时使用了log4j,它似乎工作正常,但不是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在控制台上发送文本的方式,在这种情况下我想将其发送到文件) 。 我已经尝试将配置文件放在类路径中但是看起来没有帮助。 非常感谢任何有关此问题的帮助。

1 个答案:

答案 0 :(得分: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() ;