static void CommitErrorToWeb(object args)
{
XComitErrInfo info = (XComitErrInfo)args;
Stream rseponse;
string stack = "empty!";
string[] strArr = info.stack.Split('\n');
string detials = DeviceInfoStr + info.stack;
detials = detials.Replace("\n", "<br />");
for (int i = 0; i < strArr.Length; i++)
{
if (strArr[i].IndexOf("Assets/Code") > 0)
{
stack = strArr[i];
break;
}
}
string sendStr = string.Format("{0}&{1}&{2}&{3}&{4}", info.type, info.logString, stack, DeviceModelStr, detials);
byte[] bs = System.Text.Encoding.UTF8.GetBytes(sendStr);
HttpWebRequest hr = (HttpWebRequest)WebRequest.Create("http://203.195.188.191/commit.php");// ("http://127.0.0.1/commit.php");
hr.ContentType = "application/x-www-form-urlencoded";
hr.Method = "Post";
hr.ContentLength = bs.Length;
using (Stream srm = hr.GetRequestStream())
{
srm.Write(bs, 0, bs.Length);
}
try
{
rseponse = hr.GetResponse().GetResponseStream();
}
catch (Exception e)
{
XBase.LogWarning("提交错误信息到PHP汇总POST请求发生异常:{0}", e.Message);
}
}
static void OnHandleUnity3DLog(string logString, string stackTrace, LogType type)
{
if (!IsDebugBuild)
return;
LogToFile("game.log", string.Format("<{0}>{1}\n{2}", type, logString, stackTrace));
if (type == LogType.Log || type == LogType.Warning)
return;
Thread th = new Thread(new ParameterizedThreadStart(CommitErrorToWeb));
XComitErrInfo info = new XComitErrInfo();
info.type = type;
info.logString = logString;
info.stack = stackTrace;
th.Start(info);
}