【发布时间】:2014-12-17 22:27:07
【问题描述】:
如果不让 twitter4j 将所有内容打印到控制台输出,我将如何使用 twitter4j 获取实时 Twitter 提要(或 Twitter 提供的任何部分,占我听到的 1%)?虽然我最初认为这意味着必须关闭日志记录,但尝试关闭日志记录并没有帮助。我更喜欢“代码内”解决方案,而不是需要我传递 VM 参数的解决方案。
我面临的问题的 SSCCE 是:
import twitter4j.*;
public class StreamTweets {
public static void main(String[] args) {
StatusListener listener = new StatusListener(){
public void onStatus(Status status) {
// do whatever I want here
}
public void onDeletionNotice(StatusDeletionNotice statusDeletionNotice) {}
public void onTrackLimitationNotice(int numberOfLimitedStatuses) {}
public void onException(Exception ex) {
ex.printStackTrace();
}
public void onScrubGeo(long arg0, long arg1) {}
public void onStallWarning(StallWarning arg0) {}
};
TwitterStream twitterStream = new TwitterStreamFactory().getInstance();
twitterStream.addListener(listener);
twitterStream.sample();
}
}
注意:无论我需要做什么,包括将所有内容存储到数据库中,我都将在 StatusListener() 的 onStatus() 方法中进行。不确定这是否非常相关,但我想我会把它放在那里以防万一。
【问题讨论】:
-
所以只是为了确认一下:使用 vm arg
-Dtwitter4j.loggerFactory=twitter4j.NullLoggerFactory运行后,您仍然看到一些控制台输出吗?请问可以在问题中添加输出示例吗?谢谢。