using System.Diagnostics; // Trace
using System.Runtime.CompilerServices; // [Caller...] attributes
partial class Program
{
    static void LogSourceDetails(
        bool condition,
        [CallerMemberName] string member = "",
        [CallerFilePath] string filepath = "",
        [CallerLineNumber] int line = 0,
        [CallerArgumentExpression(nameof(condition))] string expression = "")
        {
            Trace.WriteLine(string.Format("[{0}]\n {1} on line {2}. Expression: {3}", filepath, member, line, expression));
        }
}