示例#1
0
 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);
 }
示例#2
0
 /// <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);
 }
示例#3
0
 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);
 }
示例#4
0
        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);
        }