java - 禁用网络连接的事件日志

标签 java blackberry event-log

在事件记录器中,如果我将最小日志级别更改为“调试信息”并进行一些网络调用,我注意到连接工厂记录了网络 url。例如,我看到了这个

guid:0x287F0A38583E7BC6 时间:2013 年 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 在事件记录器中记录此信息

最佳答案

您是对的,完整的 URL 由应用 net.rim.networkapi data 记录,严重程度为 5 (EventLogger.DEBUG_INFO)。有时,当使用 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();
        }
    }

关于java - 禁用网络连接的事件日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14456168/

相关文章:

java - 如何从 java 读取 ffmpeg 响应并使用它来创建进度条?

c# - 从哪个 Java GUI 框架开始?

Java 服务器无法使用 Blackberry 的 AESkey 加密/解密数据

c# - 在事件查看器的 "applications and services logs"部分创建应用程序和事件日志

c# - 写入应用程序事件源是否可以接受?

java - Android:问题图像分辨率

java - JTable swing导入数据库sql

java - 黑莓 (Java) 中的线程间控制处理

blackberry - 黑莓中的隔行同步

event-log - 搜索事件日志以找出程序被卸载的时间