コード例 #1
0
        private static async Task ProcessOneAsync(Processable Processable, LibraryBook libraryBook, bool validate)
        {
            try
            {
                var statusHandler = await Processable.ProcessSingleAsync(libraryBook, validate);

                if (statusHandler.IsSuccess)
                {
                    return;
                }

                foreach (var errorMessage in statusHandler.Errors)
                {
                    Serilog.Log.Logger.Error(errorMessage);
                }
            }
            catch (Exception ex)
            {
                var msg = "Error processing book. Skipping. This book will be tried again on next attempt. For options of skipping or marking as error, retry with main Libation app.";
                Console.WriteLine(msg + ". See log for more details.");
                Serilog.Log.Logger.Error(ex, $"{msg} {{@DebugInfo}}", new { Book = libraryBook.LogFriendly() });
            }
        }
コード例 #2
0
 protected void OnCompleted(LibraryBook libraryBook)
 {
     Serilog.Log.Logger.Debug("Event fired {@DebugInfo}", new { Name = nameof(Completed), Book = libraryBook.LogFriendly() });
     Completed?.Invoke(this, libraryBook);
 }
コード例 #3
0
 protected void OnBegin(LibraryBook libraryBook)
 {
     Serilog.Log.Logger.Debug("Event fired {@DebugInfo}", new { Name = nameof(Begin), Book = libraryBook.LogFriendly() });
     Begin?.Invoke(this, libraryBook);
 }