Читать журнал приложения, написанный на Windows Azure - PullRequest
1 голос
/ 01 августа 2011

У меня 10 приложений, они имеют одинаковую логику для записи журнала в текстовый файл, расположенный в корневой папке приложения. У меня есть приложение, которое читает файлы журнала всех приложений и показывает подробности на веб-странице.

Можно ли добиться того же в Windows Azure? Я не хочу использовать API «DiagnosticMonitor». Так как я не могу изменить логику регистрации приложения.

Спасибо, Аман

Ответы [ 3 ]

0 голосов
/ 01 августа 2011

Вы могли бы сделать это, но помимо проблемы, которую указал Йосси (журнал будет эфемерным; он может быть удален в любое время), у вас будет отдельный файл журнала для каждого экземпляра роли(ВМ).Это означает, что когда вы нажмете на свою веб-страницу, чтобы просмотреть журнал, вы увидите, что случилось в журнале на этой конкретной виртуальной машине, вместо того, что вы, вероятно, хотите (сворачивание файлов журнала на всех виртуальных машинах).

Диагностика Windows Azure может помочь, так как вы можете настроить его для копирования файлов журналов в хранилище больших двоичных объектов (поэтому нет необходимости изменять ведение журнала).Но, честно говоря, для меня диагностика немного обременительна.В результате будет создано множество различных больших двоичных объектов, и вам придется изменить средство просмотра журнала, чтобы прочитать все эти большие двоичные объекты и объединить их.

Лично я бы предложил написать отдельный фрагмент кода, который отслеживает журнал.файл и, для каждой новой строки, сохраняет строку как сущность (строку) в хранилище таблицы.Этот фрагмент кода может быть запущен как задача запуска и просто непрерывно выполняться как отдельный процесс (оставляя все остальное без изменений).Затем измените средство просмотра журнала, чтобы прочитать последние n сущностей из хранилища таблиц и отобразить их.

(я предполагаю, что вы можете изменить средство просмотра журнала, даже если вы не можете изменять приложенияэтот журнал в файл.)

0 голосов
/ 19 апреля 2016

Как насчет записи журналов в нечто вроде таблицы хранения Azure?Просто нужно определить уникальный ParitionKey / RowKey, тогда вы можете легко получить журнал для веб-страницы.

0 голосов
/ 01 августа 2011

Даже если технически это возможно, это не рекомендуется, так как Fabric Controller может воссоздать любую роль по собственному желанию (хорошо - по уважительным причинам, но, тем не менее, непредсказуемо), и поэтому всякий раз, когда это происходит, вы потеряетелюбые файлы, хранящиеся локально в роли.

Итак, в первую очередь вы должны искать другое место для хранения этих журналов, и существует множество опций, но все они требуют изменения логики ведения журнала приложения.

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