Jump to content
Unity Insider Forum

Debug Log


Felix K.

Recommended Posts

Hi,

danke für deine hilfreiche Antwort. Ich war mir eben unsicher ob das Debug.Log() mit beim Compilieren überhaupt berücksichtigt wird, da es ja auch noch den Debug.logger() gibt. Aber da wird es ja sicher das Selbe sein.

 

Ich habe jetzt meine relevanten Log's mit verfügbaren directiven versehen.

https://docs.unity3d.com/Manual/PlatformDependentCompilation.html

 

Landen eigentlich die Debug-Ausgaben im AppData in einem File?

Link zu diesem Kommentar
Auf anderen Seiten teilen

So habe es mal getestet.

void Start()
{
	Debug.Log("Standard Log");
#if UNITY_EDITOR
	Debug.Log("Editor Log");
#endif
#if UNITY_EDITOR_WIN
	Debug.Log("Editor Windows Log");
#endif
  // Einzige Ausgabe beim Ausführen des Build.
#if UNITY_STANDALONE_WIN
	// Wird beim Umschalten auf eine andere Plattform ausgegraut.
	Debug.Log("Target Windows Log");
#endif
}

 

Alle Ausgaben erscheinen auf der Console in Unity.

 

Nicht zutreffendes wird gleich im Skript ausgegraut. Z.B.: Wenn das Skript ein Nutzer auf OSX ausführen würde, ist der Code zwischen:

#if UNITY_EDITOR_WIN
	Debug.Log("Editor Windows Log");
#endif

 

ausgegraut.

 

Auf meinem System ensteht im Unterordner, des Buildordner, "Projektname"_Data das File output.txt.

Dort stehen neben anderen Infos nach dem Ausführen auch: "Target Windows Log" drin.

 

MfG Felix

 

Hier nochmal der Link mit den Directiven

https://docs.unity3d...ompilation.html

 

Edit: Da war Silveryard schneller mit schreiben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Tipp:

 

using UnityEngine;
using System.Diagnostics;

public static class Logger
{
 [Conditional("DEVELOPEMENT_BUILD")]
 public static void Dev(object what)
 {
Debug.Log(what);
 }

 [Conditional("UNITY_EDITOR")]
 public static void Editor(object what)
 {
Debug.Log(what);
 }

 [Conditional("UNITY_EDITOR_WIN")]
 public static void EditorWin(object what)
 {
Debug.Log(what);
 }

 public static void Log(object what)
 {
Debug.Log(what);
 }
}

 

void Start()
{
 Logger.Dev("hahahaha"); // nur bei #if DEVELOPEMENT_BUILD
 Logger.Editor("hahahaha"); // nur bei #if UNITY_EDITOR
 Logger.EditorWin("hahahaha"); // nur bei #if UNITY_EDITOR_WIN
 Logger.Log("hahahaha"); // immer
}

Quelle

 

So spart man sich die #if direktiven im ganzen Code.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...