Send Unity 3D logs to Loggly

                      You can send your Unity3D logs to loggly via HTTP/HTTPS endpoints using the Unity Engine Log to Loggly package. We offer an example showing how to send logs to Loggly.
                      Unity has several networking classes, but the most straightforward way to send logs from Unity is to combine the WWWForm class. The WWWForm class allows you to build JSON-like messages which you can then send with the WWW class, which Loggly is able to parse as JSON.

                      Unity 3D Logging Setup

                      1. Configure Unity3D

                      Open your Unity editor and create a new C# script LogOutputHandler.cs in your scripts folder and paste the following code in the file. Alternatively you can use the JavaScript version.

                      using UnityEngine;
                      using System.Collections;
                      public class LogOutputHandler : MonoBehaviour {
                          //Register the HandleLog function on scene start to fire on debug.log events
                          public void OnEnable(){
                      	    Application.logMessageReceived += HandleLog;
                          //Remove callback when object goes out of scope
                          public void OnDisable(){
                      	    Application.logMessageReceived -= HandleLog;
                          //Create a string to store log level in
                          string level = "";
                          //Capture debug.log output, send logs to Loggly
                          public void HandleLog(string logString, string stackTrace, LogType type) {
                            //Initialize WWWForm and store log level as a string
                            level = type.ToString ();
                            var loggingForm = new WWWForm();
                            //Add log message to WWWForm
                            loggingForm.AddField("LEVEL", level);
                            loggingForm.AddField("Message", logString);
                            loggingForm.AddField("Stack_Trace", stackTrace);
                            //Add any User, Game, or Device MetaData that would be useful to finding issues later
                            loggingForm.AddField("Device_Model", SystemInfo.deviceModel);
                          public IEnumerator SendData(WWWForm form){
                            //Send WWW Form to Loggly, replace TOKEN with your unique ID from Loggly
                            WWW sendLog = new WWW("", form);
                            yield return sendLog;


                      In above code, Unity makes the Debug.Log() function available. It normally sends a log message and the program scope where the log was fired from to the Unity console and the Application.RegisterLogCallback() function allows you to capture this output and send it to Loggly.

                      2. Send logs to Loggly

                      Create a new C# script LogglyTest.cs for the same program scope and paste the following code in it

                      using UnityEngine;
                      using System.Collections;
                      public class LogglyTest : MonoBehaviour {
                          void Start () {
                              Debug.Log ("Hello world");

                      Now run your Unity application.

                      3. Verify Events

                      Search Loggly for the events with tag as Unity3D over the past hour. It may take few minutes to index the event. If if doesn’t work, see the troubleshooting section below.

                      Unity 3D Example

                      Advanced Options

                      Troubleshooting Unity3D Logs

                      Thanks for the feedback! We'll use it to improve our support documentation.