Easy-Doings: Debug.Log mal anders
[size=6][b]Worum geht es hier?[/b][/size]
Ihr benutzt wahrscheinlich wie ich immer wieder Debug.Log(""). Manchmal verwendet man einfach zu viele. Man vergisst auch manchmal sie zu entfernen oder man ist einfach viel zu faul dafür.
Daher kann man ja mal die Funktion etwas verbessern. So kann man mit einer Boolean die ganzen Logs ausschalten lassen. Ist praktisch, um die ganzen Debug.logs nicht zu löschen, falls man ja immer noch später Debuggen will.
Daher mal nen kleinen Code was ich mir geschrieben habe.
[CODE]
using UnityEngine;
public static class Logger
{
static bool ShowDebug = true;
public static void Print(string str)
{
if (!ShowDebug)
return;
Debug.Log(str);
}
}
[/CODE]
So, ich habe die Klasse Logger genannt. Wollte es simpel haben und auch mich schnell daran erinnern können, was Logger macht oder wie es heißt. Kommt von Log, loggen, daher kann man das kaum vergessen. Wie man hier sieht ist es eine statische Funktion und hat kein Monobehavior. Daher kann man diesen Script nicht als Component benutzen.
Die Klasse hat die ne static boolean und ne public static Funktion "Print", wo ihr dann den Log-Text als String übergeben könnt, welches wiederum zur Debug.Log() Funktion geht und dort ausgeführt wird. Jedoch wird mit boolean vorher überprüft ob wir Debug anzeigen wollen oder nicht.
Einfach auf falls, weils ihr einen Build starten wollt.
Nun könnte man eventuell das erweitern und Bespiel sowas wie Config.ShowDebug machen, aber das ist euch überlassen. . Sowas ist nützlich, falls ihr wollt, dass die Spieler eventuell Logs aktivieren können. Denn Unity erstellt immer eine Logdatei, wo alle Debug abgespeichert sind. Das kann uns mal die Entwicklung erleichtern.
[size=5][b]Wie wendet man das nun an?[/b][/size]
[CODE]
void Start()
{
Logger.Print("Start ausgeführt");
}
[/CODE]
Ist nun ShowDebug auf falls, so sollte nichts in der Konsole angezeigt werden.
Yow das wars
Ihr benutzt wahrscheinlich wie ich immer wieder Debug.Log(""). Manchmal verwendet man einfach zu viele. Man vergisst auch manchmal sie zu entfernen oder man ist einfach viel zu faul dafür.
Daher kann man ja mal die Funktion etwas verbessern. So kann man mit einer Boolean die ganzen Logs ausschalten lassen. Ist praktisch, um die ganzen Debug.logs nicht zu löschen, falls man ja immer noch später Debuggen will.
Daher mal nen kleinen Code was ich mir geschrieben habe.
[CODE]
using UnityEngine;
public static class Logger
{
static bool ShowDebug = true;
public static void Print(string str)
{
if (!ShowDebug)
return;
Debug.Log(str);
}
}
[/CODE]
So, ich habe die Klasse Logger genannt. Wollte es simpel haben und auch mich schnell daran erinnern können, was Logger macht oder wie es heißt. Kommt von Log, loggen, daher kann man das kaum vergessen. Wie man hier sieht ist es eine statische Funktion und hat kein Monobehavior. Daher kann man diesen Script nicht als Component benutzen.
Die Klasse hat die ne static boolean und ne public static Funktion "Print", wo ihr dann den Log-Text als String übergeben könnt, welches wiederum zur Debug.Log() Funktion geht und dort ausgeführt wird. Jedoch wird mit boolean vorher überprüft ob wir Debug anzeigen wollen oder nicht.
Einfach auf falls, weils ihr einen Build starten wollt.
Nun könnte man eventuell das erweitern und Bespiel sowas wie Config.ShowDebug machen, aber das ist euch überlassen. . Sowas ist nützlich, falls ihr wollt, dass die Spieler eventuell Logs aktivieren können. Denn Unity erstellt immer eine Logdatei, wo alle Debug abgespeichert sind. Das kann uns mal die Entwicklung erleichtern.
[size=5][b]Wie wendet man das nun an?[/b][/size]
[CODE]
void Start()
{
Logger.Print("Start ausgeführt");
}
[/CODE]
Ist nun ShowDebug auf falls, so sollte nichts in der Konsole angezeigt werden.
Yow das wars
3 Kommentare
Recommended Comments