禁用网络连接的事件日志

时间:2013-01-22 10:16:56

标签: java blackberry event-log

在eventlogger中,如果我将Min日志级别更改为“Debug info”并进行一些网络调用,我注意到连接工厂会记录网络URL。例如,我看到了这个

指南:0x287F0A38583E7BC6时间:1月21日星期一18:29:15严重程度:5类型:2 app:net.rim.networkapi数据:FcoC https://xyz.co.uk/abc/test?appversion=1.2.3&;deviceside=false;ConnectionType=mds-public;ConnectionTimeout=20000;EndToEndRequired

这适用于我工作的所有应用。我们有什么方法可以做些事情来避免connectionfactory在事件记录器中记录这些信息

1 个答案:

答案 0 :(得分:3)

您是对的,应用EventLogger.DEBUG_INFO以严重性5(net.rim.networkapi data)记录完整网址。有时,在使用Wi-Fi或直接TCP时,URL甚至会被记录两次。这可能是一个安全问题,因为记录了主机和查询字符串。

将严重性级别更改为EventLogger.INFORMATION似乎可以防止意外的日志记录。

示例应用(首先手动清理事件记录器):

    public class Main extends Application{

        public Main(){
            doTest();
        }

        private void doTest(){
            long GUID = 0x9cf1bac07b565732L; 
            EventLogger.register(GUID, "conn_factory_logging_test", EventLogger.VIEWER_STRING);
            EventLogger.setMinimumLevel(EventLogger.INFORMATION);

            ConnectionFactory factory = new ConnectionFactory();
            factory.setPreferredTransportTypes(new int[]{ TransportInfo.TRANSPORT_TCP_WIFI, TransportInfo.TRANSPORT_TCP_CELLULAR});
            ConnectionDescriptor cd = factory.getConnection("http://www.google.com");
            HttpConnection httpConnection = (HttpConnection) cd.getConnection();
            try {
                httpConnection.setRequestMethod(HttpConnection.GET);
                int responseCode = httpConnection.getResponseCode();
                String result = "Server Response: " + responseCode;

                EventLogger.logEvent(GUID, result.getBytes(), EventLogger.INFORMATION);
                EventLogger.startEventLogViewer();          
            } catch (Exception e) {
                System.err.println(e);
            } finally {
                try {
                    httpConnection.close();
                } catch (IOException e) {}
            }       
            System.exit(0);
        }

        public static void main(String[] args){
             new Main().enterEventDispatcher();
        }
    }