Esta semana recebi um pergunta em relação ao post anterior Azure Mobile Service–Logging local e na nuvem com backend .NET WebAPI. A pergunta era como deletar os logs gerados.
Se você já utilizou o Azure Mobile Service e precisou dos LOGS, sabe que via portal não conseguimos fazer a gestão dos mesmos. Levando em consideração que Serviços Móveis são criados com suporte a utilização em massa, essa se torna uma necessidade real.
Sendo assim este POST é ao mesmo tempo uma dica e também serve de introdução ao Projeto Kudu, com o qual vamos fazer o backup e deleção dos LOGS.
O primeiro ponto é relembrar do anuncio do deploy no Azure Web Sites utilizando GIT. Isso foi realmente bacana mas qual a ligação com o nosso assunto? O que poucos sabem é que a engine que suporta este recurso é o projeto Open Source codinome Kudu.
O projeto Kudu está no GitHub e foi liberado via Apache License 2.0, o que te permite rodar em qualquer máquina utilizando um IIS local, por exemplo.
Já sabemos que para todo Azure Mobile Service criado temos uma Azure Web Site associando onde é realizado o deploy desta aplicação. Sendo assim podemos utilizar o Kudu para gerir as informações do nosso serviço, dentre elas os LOGS.
Antes de iniciar sugiro a leitura da documentação do KUDU, e que você realize os teste em um projeto novo primeiro.
Então vamos lá, acesse o Mobile Service. No meu caso vou utilizar o mesmo serviço criado no POST anterior: https://meriatwebapi.azure-mobile.net/
Notem que já tenho uma diversidade de LOGS, os quais eu quero deletar. O primeiro passo é acessar a página do Kudu para o Mobile Service correspondente:
https://[O NOME DO SEU WAMS].scm.azure-mobile.net/
No meu caso o enderço ficou assim:
https://meriatwebapi.scm.azure-mobile.net/
Caso você já esteja logado na Subscription em que foi criado o serviço, o acesso será imediato. Caso contrário é só entrar com sua Microsoft Account para ter acesso a página de gestão do serviço.
Vamos direto a parte da gestão de LOGS. Pretendo abordar o resto com mais detalhes em outro post. Sendo assim, no menu superior acesse a opção Debug Console e selecione qualquer das opções. No exemplo vou estar utilizando a opção PowerShell.
Note que foi aberto um console do PS no browser. Também vai aparecer uma estrutura de pastas: LogFiles e site.
Clique na pasta LogFiles. Será exibido os arquivos físicos onde está sendo realizado a gravação real dos LOGS, que são exibidos no Portal do Microsoft Azure.
Nas opções do lado esquerdo podemos:
Abrir para visualização ou edição
Excluir o arquivo de LOG
Note que a console do PowerShell exibe os comandos que estamos executando via interface do usuário. ;)
Clicando na opção de download podemos baixar o arquivo txt, ou no caso do IE exibir via browser.
Realize a deleção de todos os arquivos txt que não forem necessários. Como é possível ler, exclua somente o que você jugar desnecessário. No meu caso deletei tudo.
Voltando ao portal do Microsoft Azure e acessando o serviço correspondente, só precisamos rodar o REFRESH e pronto. Nenhum LOG será exibido.
Pronto, agora podemos "versionar" os LOGS ou simplesmente excluir o arquivo para zerar a visualização via Portal do Microsoft Azure.
Pessoal, não esqueçam de testar e ler a documentação primeiro… assim não se corre o risco de excluir LOGS em produção ou afetar a implementação do serviço.
Azure Mobile Service–Logging local e na nuvem com backend .NET WebAPI Cloud Computing–Como entrar no mercado de trabalho