/// <summary> /// Ignora si estamos con Debug o no y sirve para poner el punto de partida para empezar a tomar tiempos, cuando encuentre en ejecucion la siguiente llamada a Stop /// calculara el tiempo transcurrido y grabara el fichero /// </summary> /// <param name="name">Sirve para poner un nombre a esta toma de tiempo, si le establecemos un valor, para parar, ya no valdra el siguiente llamada a Stop /// además esa llamada a Stop debera de llevar el mismo nombre</param> /// <param name="methodName">No es necesario pasarlo, lo cogera automaticamente</param> /// <param name="sourceFilePathCaller">No es necesario pasarlo, lo cogera automaticamente</param> /// <param name="sourceLineNumber">No es necesario pasarlo, lo cogera automaticamente</param> public static async Task FStart(string name = "", [System.Runtime.CompilerServices.CallerMemberName] string methodName = "", [System.Runtime.CompilerServices.CallerFilePath] string sourceFilePathCaller = "", [System.Runtime.CompilerServices.CallerLineNumber] int sourceLineNumber = 0) { var btm_in = new BTM_In(name, sourceFilePathCaller, methodName, sourceLineNumber); StackBtm.Push(btm_in); }
public BTM_Complete(string name, string filePath, string methodName, int codeLine, BTM_In btmIn, string filePathLog) { BtmOut = new BTM_Out(name, filePath, methodName, codeLine); BtmIn = btmIn; var formatedTitleText = $"{DateTime.Now} | Clase: {filePath?.Split('/')?.Last() ?? string.Empty} | Metodo: {methodName ?? string.Empty} | Linea: {codeLine} "; var formatedBodyText = $" Nombre: {name} -> Tiempo Transcurrido : {BtmOut.timeSpan.Subtract(BtmIn.timeSpan).TotalMilliseconds}"; var nombreFichero = filePathLog ?? DefaultFilePath; File.AppendAllLines(nombreFichero, new List <string>() { formatedTitleText, formatedBodyText, string.Empty }); }