Azure WebApp - System.Diagnostics.Trace.TraceInformation не отображается нигде - PullRequest
0 голосов
/ 24 ноября 2018

У меня есть веб-приложение Azure, в нем включены журналы приложений (файловая система) и (Blob).Я получаю некоторые данные как в BLOB-объектах, так и в Log Stream, но это, кажется, некоторые автоматизированные данные (входящие запросы, SQL-запросы, события жизненного цикла и т. Д.), Но я не вижу нигде моих вызовов System.Diagnostics.Trace.TraceInformation.

Когда я запускаю приложение локально, я вижу эти журналы в окне вывода, но не в Azure.

Есть ли какие-то настройки, которые мне не хватает?

azure portal screenshot

1 Ответ

0 голосов
/ 26 ноября 2018

В основном веб-приложении asp.net мы используем ILogger для ведения журнала.Более подробная информация: здесь .

Ваши настройки на портале Azure в порядке, просто добавьте некоторый код в ваш проект, например, как показано ниже:

В Startup.cs -> Настроить метод, метод выглядит следующим образом (используйте здесь ILoggerFactory):

        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory logger)
        {
            if (env.IsDevelopment())
            {
                app.UseBrowserLink();
                app.UseDeveloperExceptionPage();
            }
            else
            {
                app.UseExceptionHandler("/Home/Error");
            }

           //add the following two lines of code
           logger.AddConsole();
           logger.AddDebug();

            app.UseStaticFiles();

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Home}/{action=Index}/{id?}");
            });
        }

Затем в файле controller.cs:

    public class HomeController : Controller
    {
        private readonly ILogger _logger;
        public HomeController(ILoggerFactory loggerFactory)
        {
            _logger = loggerFactory.CreateLogger<HomeController>();
        }

        public IActionResult Index()
        {
            return View();
        }

        public IActionResult Contact()
        {
            ViewData["Message"] = "Your contact page.";
            //Trace.TraceInformation("TraceInformation ---this is from contact page.....");
            _logger.LogInformation("ILogger --- this is from contact page!!!!");
            return View();
        }

       //other code
}

После публикации в Azure журналы, записанные в ILoggerможно увидеть в журнале потоков и blob:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...