Sprache: C#
Diese Methode gibt im VS Output zum Beispiel folgenden Output aus:
[code]test message at file e:PlaygroundLine NumerLine NumerProgram.cs:11 method: Main[/code]
wenn Sie wie folgt aufgerufen wird: LogMessage("test message");
Es werden folgende Usings benötigt:
[code]using System;
using System.Diagnostics;
using System.Runtime.CompilerServices;[/code]
static void LogMessage(string message, [CallerLineNumber] int lineNumber = 0, [CallerMemberName] string caller = null, [CallerFilePath] string file = null)
{
Debug.Write(string.Format("{0} at file {1}:{2} method: {3}", message, file, lineNumber, caller));
}
static void LogMessage(string message, [CallerLineNumber] int lineNumber = 0, [CallerMemberName] string caller = null, [CallerFilePath] string file = null)
{
Debug.Write(string.Format("{0} at file {1}:{2} method: {3}", message, file, lineNumber, caller));
}
Alte URL:
/snippet/loggen-inklusive-zeilennummer-cs-dateiname-und-methodenname/14113
[b][/b] [/b]
[code]$“{message} at file {file}:{lineNumber} method: {caller}“[/code][b]
Die aufrufende Assembly könnte durchaus noch interessant sein:
[code]static void LogMessage(string message, [CallerLineNumber] int lineNumber = 0, [CallerMemberName] string caller = null, [CallerFilePath] string file = null)
{
var assembly = System.Reflection.Assembly.GetCallingAssembly();
Debug.Write($“{message} at assembly:{assembly} in file {file}:{lineNumber} method: {caller}“);
}[/code]
Auch nicht schlecht.