我正在尝试在我的测试脚本中设置日志记录(无论出于何种原因),例如:
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在控制台上发送文本的方式,在这种情况下我想将其发送到文件) 。 我已经尝试将配置文件放在类路径中但是看起来没有帮助。 非常感谢任何有关此问题的帮助。
答案 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() ;