在显示Twitter流时阻止twitter4j打印输出

时间:2014-12-16 10:45:37

标签: java twitter twitter4j

我如何使用twitter4j获取实时Twitter提要(或Twitter提供的任何部分,1%来自我所听到的),而没有twitter4j将所有内容打印到控制台输出?虽然我最初认为这意味着必须关闭日志记录,但尝试关闭日志记录并没有帮助。我更喜欢" in-code"一个需要我传递VM Argument的解决方案。

我面临的问题的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()方法。不确定这是非常相关的,但我想我会把它放在那里以防万一。

1 个答案:

答案 0 :(得分:2)

如果您通过提及here的twitter4j.properties提供Twitter凭据,则将twitter4j.properties文件的第一行更改为

debug=false

这将在接收Twitter Stream时停止打印到控制台!