在事件记录器中,如果我将最小日志级别更改为“调试信息”并进行一些网络调用,我注意到连接工厂记录了网络 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/