在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在事件记录器中记录这些信息
答案 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();
}
}