mirror of
https://github.com/aharabada/glitchy-engine-beef.git
synced 2026-09-05 13:01:52 +00:00
Log: Also log filename and line number of caller
This commit is contained in:
+43
-21
@@ -1,4 +1,6 @@
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Runtime.CompilerServices;
|
||||
|
||||
namespace GlitchyEngine;
|
||||
|
||||
@@ -20,95 +22,115 @@ public class Log
|
||||
Critical,
|
||||
Off
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Logs a trace message.
|
||||
/// </summary>
|
||||
/// <param name="message">The message to log.</param>
|
||||
public static void Trace(string message)
|
||||
/// <param name="callerFilePath">File path of the caller.</param>
|
||||
/// <param name="callerLineNumber">Line number of the caller.</param>
|
||||
public static void Trace(string message, [CallerFilePath]string callerFilePath = "", [CallerLineNumber]int callerLineNumber = 0)
|
||||
{
|
||||
ScriptGlue.Log_LogMessage(LogLevel.Trace, message);
|
||||
ScriptGlue.Log_LogMessage(LogLevel.Trace, message, callerFilePath, callerLineNumber);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Logs an info message.
|
||||
/// </summary>
|
||||
/// <param name="message">The message to log.</param>
|
||||
public static void Info(string message)
|
||||
/// <param name="callerFilePath">File path of the caller.</param>
|
||||
/// <param name="callerLineNumber">Line number of the caller.</param>
|
||||
public static void Info(string message, [CallerFilePath]string callerFilePath = "", [CallerLineNumber]int callerLineNumber = 0)
|
||||
{
|
||||
ScriptGlue.Log_LogMessage(LogLevel.Info, message);
|
||||
ScriptGlue.Log_LogMessage(LogLevel.Info, message, callerFilePath, callerLineNumber);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Logs a warning message.
|
||||
/// </summary>
|
||||
/// <param name="message">The message to log.</param>
|
||||
public static void Warning(string message)
|
||||
/// <param name="callerFilePath">File path of the caller.</param>
|
||||
/// <param name="callerLineNumber">Line number of the caller.</param>
|
||||
public static void Warning(string message, [CallerFilePath]string callerFilePath = "", [CallerLineNumber]int callerLineNumber = 0)
|
||||
{
|
||||
ScriptGlue.Log_LogMessage(LogLevel.Warning, message);
|
||||
ScriptGlue.Log_LogMessage(LogLevel.Warning, message, callerFilePath, callerLineNumber);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Logs an error message.
|
||||
/// </summary>
|
||||
/// <param name="message">The message to log.</param>
|
||||
public static void Error(string message)
|
||||
/// <param name="callerFilePath">File path of the caller.</param>
|
||||
/// <param name="callerLineNumber">Line number of the caller.</param>
|
||||
public static void Error(string message, [CallerFilePath]string callerFilePath = "", [CallerLineNumber]int callerLineNumber = 0)
|
||||
{
|
||||
ScriptGlue.Log_LogMessage(LogLevel.Error, message);
|
||||
ScriptGlue.Log_LogMessage(LogLevel.Error, message, callerFilePath, callerLineNumber);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Logs a critical error message.
|
||||
/// </summary>
|
||||
/// <param name="message">The message to log.</param>
|
||||
public static void Critical(string message)
|
||||
/// <param name="callerFilePath">File path of the caller.</param>
|
||||
/// <param name="callerLineNumber">Line number of the caller.</param>
|
||||
public static void Critical(string message, [CallerFilePath]string callerFilePath = "", [CallerLineNumber]int callerLineNumber = 0)
|
||||
{
|
||||
ScriptGlue.Log_LogMessage(LogLevel.Critical, message);
|
||||
ScriptGlue.Log_LogMessage(LogLevel.Critical, message, callerFilePath, callerLineNumber);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Serializes the given object (using <see cref="object.ToString"/>) and logs it as a trace message.
|
||||
/// </summary>
|
||||
/// <param name="obj">The object to serialize.</param>
|
||||
public static void Trace(object obj)
|
||||
/// <param name="callerFilePath">File path of the caller.</param>
|
||||
/// <param name="callerLineNumber">Line number of the caller.</param>
|
||||
public static void Trace(object obj, [CallerFilePath]string callerFilePath = "", [CallerLineNumber]int callerLineNumber = 0)
|
||||
{
|
||||
ScriptGlue.Log_LogMessage(LogLevel.Trace, obj.ToString());
|
||||
ScriptGlue.Log_LogMessage(LogLevel.Trace, obj.ToString(), callerFilePath, callerLineNumber);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Serializes the given object (using <see cref="object.ToString"/>) and logs it as an info message.
|
||||
/// </summary>
|
||||
/// <param name="obj">The object to serialize.</param>
|
||||
public static void Info(object obj)
|
||||
/// <param name="callerFilePath">File path of the caller.</param>
|
||||
/// <param name="callerLineNumber">Line number of the caller.</param>
|
||||
public static void Info(object obj, [CallerFilePath]string callerFilePath = "", [CallerLineNumber]int callerLineNumber = 0)
|
||||
{
|
||||
ScriptGlue.Log_LogMessage(LogLevel.Info, obj.ToString());
|
||||
ScriptGlue.Log_LogMessage(LogLevel.Info, obj.ToString(), callerFilePath, callerLineNumber);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Serializes the given object (using <see cref="object.ToString"/>) and logs it as a warning message.
|
||||
/// </summary>
|
||||
/// <param name="obj">The object to serialize.</param>
|
||||
public static void Warning(object obj)
|
||||
/// <param name="callerFilePath">File path of the caller.</param>
|
||||
/// <param name="callerLineNumber">Line number of the caller.</param>
|
||||
public static void Warning(object obj, [CallerFilePath]string callerFilePath = "", [CallerLineNumber]int callerLineNumber = 0)
|
||||
{
|
||||
ScriptGlue.Log_LogMessage(LogLevel.Warning, obj.ToString());
|
||||
ScriptGlue.Log_LogMessage(LogLevel.Warning, obj.ToString(), callerFilePath, callerLineNumber);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Serializes the given object (using <see cref="object.ToString"/>) and logs it as an error message.
|
||||
/// </summary>
|
||||
/// <param name="obj">The object to serialize.</param>
|
||||
public static void Error(object obj)
|
||||
/// <param name="callerFilePath">File path of the caller.</param>
|
||||
/// <param name="callerLineNumber">Line number of the caller.</param>
|
||||
public static void Error(object obj, [CallerFilePath]string callerFilePath = "", [CallerLineNumber]int callerLineNumber = 0)
|
||||
{
|
||||
ScriptGlue.Log_LogMessage(LogLevel.Error, obj.ToString());
|
||||
ScriptGlue.Log_LogMessage(LogLevel.Error, obj.ToString(), callerFilePath, callerLineNumber);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Serializes the given object (using <see cref="object.ToString"/>) and logs it as a critical error message.
|
||||
/// </summary>
|
||||
/// <param name="obj">The object to serialize.</param>
|
||||
public static void Critical(object obj)
|
||||
/// <param name="callerFilePath">File path of the caller.</param>
|
||||
/// <param name="callerLineNumber">Line number of the caller.</param>
|
||||
public static void Critical(object obj, [CallerFilePath]string callerFilePath = "", [CallerLineNumber]int callerLineNumber = 0)
|
||||
{
|
||||
ScriptGlue.Log_LogMessage(LogLevel.Critical, obj.ToString());
|
||||
ScriptGlue.Log_LogMessage(LogLevel.Critical, obj.ToString(), callerFilePath, callerLineNumber);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -14,7 +14,7 @@ internal static class ScriptGlue
|
||||
#region Log
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
internal static extern void Log_LogMessage(Log.LogLevel logLevel, string message);
|
||||
internal static extern void Log_LogMessage(Log.LogLevel logLevel, string message, string filePath, int line);
|
||||
|
||||
|
||||
[MethodImpl(MethodImplOptions.InternalCall)]
|
||||
|
||||
Reference in New Issue
Block a user