Serilog- регистрирует события только один раз в каждый файл. останавливается после этого

Мне нужно реализовать Serilog в моем приложении.Net MVC 5. Я регистрирую события в разных текстовых файлах в зависимости от областей в моем приложении. Таким образом, путь к файлу будет динамическим, например "путь к папке / areaname.txt". Я создал один общий класс для Logger, передав путь к файлу конструктору. Моя проблема заключается в том, что после создания файла первое событие успешно регистрируется. Но на этом он останавливается и не регистрирует следующие события. Так бывает с каждым файлом. Опять же, когда я останавливаю и повторно запускаю приложение, первое событие регистрируется и прекращает регистрацию дальше. Я не понимаю, в чем проблема, поскольку ошибок или исключений нет. Я добавляю фиктивный код, чтобы понять, как мое приложение может регистрировать получение событий из нескольких областей. Класс помощника

namespace SeriLogPOC.Models
{
    public class Helper
    {
        private ILogger Errorlog;

        public Helper(string filepath)
        {
            Errorlog = new LoggerConfiguration()
                .MinimumLevel.Debug()
               .WriteTo.File(filepath)
                .CreateLogger();
        }

        public void WriteDebug(string message)
        {
            Errorlog.Write(LogEventLevel.Debug, message);
        }
    }
}

HomeController-

namespace SeriLogPOC.Controllers
{
    public class HomeController : Controller
    {
        string pathValue = ConfigurationManager.AppSettings["DebugLogFilePath"];
        Helper objHelper;
        public ActionResult Index()
        {
            try
            {
                objHelper = new Helper(pathValue + "area1.log");
                objHelper.WriteDebug("Debugging string in area1");
                
                objHelper = new Helper(pathValue + "area2.log");
                objHelper.WriteDebug("Debugging string in area2");

                objHelper = new Helper(pathValue + "area1.log");
                objHelper.WriteDebug("Debugging string string string string in area1");

                objHelper = new Helper(pathValue + "area2.log");
                objHelper.WriteDebug("Debugging model demo string in area2");

            }
            catch (Exception e)
            {
            }

            return View();
        }
    }
}

Кто-нибудь может сказать мне, почему так происходит? А что сделать, чтобы файл перезаписал новыми событиями?

0 ответов

Другие вопросы по тегам