答案 0 :(得分:1)
为什么您的服务器端代码不会打印到异常登录?
以log4j为例?似乎没有必要使用第三方软件来做这件事,我不知道tracemycode是如何赚钱的
编辑:
我想我现在明白了,你想要一种方法来阅读从本地应用程序创建的异常。这有点风险,因为任何网络通信都可能导致异常,导致无限递归,但只要您从报告中排除这些异常就可以了。
这很容易构建。您需要做的就是生成一些辅助类,您可以在异常中调用它以将日志发送到服务器。
public class ExceptionReporter {
public static int sendReport(String aData)
try {
byte[] myData = aData.getBytes();
/* Uploading the data */
URL myURL = new URL(CONSTANTS.CentralURL);
HttpURLConnection myConnection = (HttpURLConnection) myURL.openConnection();
myConnection.setDoOutput(true);
myConnection.setUseCaches(false);
myConnection.setDefaultUseCaches(false);
myConnection.setRequestProperty("Content-type", "application/octet-stream");
OutputStream myOutputStream = myConnection.getOutputStream();
myOutputStream.write(myData);
myOutputStream.flush();
myOutputStream.close();
int status = ((HttpURLConnection) myConnection).getResponseCode();
}
catch (Exception e) {
LocalLog.log(e.toString());
}
}
然后在所有服务器代码/应用程序代码中,您可以使用
try{
// ...do stuff
}
catch (Exception e){
ExceptionReporter.sendReport(e.getMessage());
}
然后,您的中央服务器可以接收这些http连接,并将发送的数据保存到数据库或其他一些线程安全的解决方案中。
答案 1 :(得分:1)
如果您愿意,可以使用TraceMyCode,因为它可以在帮助部分清楚地记录发送崩溃日志所需的终点和数据结构。