private async Task Log() { var logsBatchProcessor = new LogsBatchProccessor <string>(this, Config.outputPattern); Func <Task> ConnectTo_Func = () => { Client = new TelegramBotClient(ConfigProvider.Config.stores.telegram.token); return(Task.CompletedTask); }; Func <string, LogData, Task> WriteLogEntryTo_Func = async(logEntry, logData) => { await WriteTo(logEntry); }; await logsBatchProcessor.Log_Type1Async(ConnectTo_Func, WriteLogEntryTo_Func); }
/// <summary> /// Central method for logging to store /// </summary> /// <returns></returns> private async Task Log() { var logsBatchProcessor = new LogsBatchProccessor <LogDataModel>(this, Config.outputPattern); Func <Task> ConnectTo_Func = () => { ConnectTo(); return(Task.CompletedTask); }; Func <LogDataModel, LogData, Task> WriteLogEntryTo_Func = (logEntry, logData) => { WriteTo(logEntry); return(Task.CompletedTask); }; await logsBatchProcessor.Log_Type1Async(ConnectTo_Func, WriteLogEntryTo_Func); }
private async Task Log() { var logsBatchProcessor = new LogsBatchProccessor <string>(this, Config.outputPattern); Func <Task> CreateFile_Func = () => { CreateFileOnHot(); return(Task.CompletedTask); }; Func <string, LogData, Task> WriteLogEntryTo_Func = async(logEntry, logData) => { if (IsNecessaryCreateNewFile(logData.time)) { CreateFileOnHot(); } await WriteTo(logEntry); }; await logsBatchProcessor.Log_Type1Async(CreateFile_Func, WriteLogEntryTo_Func); }
private async Task Log() //Не вынесен как abstract в StoreManager, ибо только при пакетной обработке нет аргументов, а при обычной есть { var logsBatchProcessor = new LogsBatchProccessor <string>(this, Config.outputPattern); Func <Task> ConnectToFunc = () => { //empty return(Task.CompletedTask); }; Func <string, LogData, Task> WriteLogEntryToFunc = async(logEntry, logData) => { var fontColorBefore = Console.ForegroundColor; var backColorBefore = Console.BackgroundColor; SwitchConsoleColorByLogLevel(logData); await WriteTo(logEntry); Console.ForegroundColor = fontColorBefore; Console.BackgroundColor = backColorBefore; }; await logsBatchProcessor.Log_Type1Async(ConnectToFunc, WriteLogEntryToFunc); }