Я регистрирую информацию между несколькими классами. Журналы, упомянутые в первом классе, успешно регистрируются там, где журналы, упомянутые во втором классе, не регистрируются.
Вот код.
Класс 1:
public class Class1 {
private Logger logger = LogManager.GetCurrentClassLogger();
logger.Info("Starting Class1 scheduled task.");
try
{
logger.Info("Starting Class1 scheduled task.Try block entered.");
new Class2().Process(context.Credentials, runAsDate);
logger.Info("Process method has been called successfully.");
}
catch (Exception ex)
{
logger.ErrorException("An exception occurred during the MigrationAddOrder scheduled task.", ex);
}
finally
{
logger.Info("MigrationAddOrder scheduled task complete.");
}
}
Класс 2 :
public class Class2
{
private Logger logger = LogManager.GetCurrentClassLogger();
public virtual void Process(string runAsUser, DateTime runAsDate)
{
logger.Info("Control has entered Process method for the date: " + runAsDate.ToShortDateString());
foreach (var order in orderRepository.GetOrders(runAsDate.Date).ToList())
{
logger.Info("Begin processing order. [order id={0}]", order .Id);
try
{
ProcessOrder(order , runAsDate.Date, runAsUser);
}
catch (Exception ex)
{
logger.ErrorException(String.Format("Failed processing order. [order id={0}]", order.Id), ex);
}
finally
{
logger.Info("Completed processing order. [order id={0}]", order .Id);
}
}
}
}
Только ниже информация журнала из класса 1 регистрируется в базе данных:
Запуск запланированной задачи Class1. Запуск запланированного задания Class1. Попытка блокировки введена. Метод процесса был успешно вызван. Запланированное задание MigrationAddOrder завершено.
Вопрос:
Почему информация в классе 2 не регистрируется?
Ожидание: с учетом того, что управление не вводится для l oop.
Запуск запланированной задачи Class1. Запуск запланированного задания Class1. Попытка блокировки введена. Элемент управления ввел метод процесса на дату: 18-03-2020 Метод процесса успешно вызван. Запланированное задание MigrationAddOrder выполнено.