Error Reporting from your Unity3D game.
Unity3D/Crash Report / 2014. 4. 8. 17:47
This is something I use to capture errors and log-information from games that are out in the wild, and report them back home to my server.
using UnityEngine;
using System.Collections;
public class ErrorReporter : MonoBehaviour
{
string debugText = "";
string postURL = "";
void Awake ()
{
Application.RegisterLogCallback (new Application.LogCallback (CaptureLog));
}
IEnumerator SendDebugToServer ()
{
WWW www = new WWW (postURL, System.Text.ASCIIEncoding.ASCII.GetBytes (debugText));
yield return www;
}
void CaptureLog (string condition, string stacktrace, LogType type)
{
string sep = "------------------------------------------------------------------------------\r\n";
debugText = sep + type.ToString () + " " + Time.realtimeSinceStartup.ToString () + "\r\n" + condition + "\r\n" + stacktrace + debugText;
if (type == LogType.Exception) {
StartCoroutine (SendDebugToServer ());
if (!Application.isEditor) {
SomethingReallyBadHappened ();
}
}
}
void SomethingReallyBadHappened ()
{
//NB: Try and recover or fail gracefully here.
}
}
On the server side, you could use a very simple piece of PHP to receive the request and write it to a file.
$data = file_get_contents('php://input');
$file = "reports/report_" . time() . ".txt";
$fp = fopen($file, "w") or die("Couldn't open $file for writing!");
fwrite($fp, $data) or die("Couldn't write values to file!");
fclose($fp);
echo "Saved to $file successfully!";
출처 : http://entitycrisis.blogspot.kr/2011/01/error-reporting-from-your-unity3d-game.html
반응형
'Unity3D > Crash Report' 카테고리의 다른 글
[펌] iOS Crash Reporting Tools 소개 (1) | 2017.12.11 |
---|---|
참조 자료 (0) | 2014.04.08 |