Sto progettando di migrare un creato in precedenza applicazioni Web Java per Azure. L'applicazione precedentemente utilizzata log4j
per i registri a livello di applicazione che sono stati salvati in un file creato localmente. Il problema è che con il ruolo di Azure con più istanze devo raccogliere e aggregare questi registri e inoltre assicurarmi che siano archiviati in una memoria permanente invece del disco rigido delle macchine virtuali.Azure Java Tomcat accedendo
La registrazione è un componente fondamentale dell'applicazione, ma non deve rallentare il lavoro effettivo. Ho preso in considerazione più opzioni e sono curioso della best practice, la soluzione migliore considerando la sicurezza, la coerenza del registro e le prestazioni sia nello storage-time che nell'elaborazione successiva. Ecco un elenco delle opzioni:
- Utilizzo di log4j con un
Appender
personalizzato per memorizzare le informazioni in SQL di Azure. - Utilizzando log4j con un costume
Appender
per memorizzare le informazioni in Azure tabelle di stoccaggio. - Scrivendo un ulteriore strumento che trasferisce i dati dal disco rigido locale a uno dei depositi persistenti sopra.
C'è qualche altro metodo o ci sono soluzioni complete per questo problema per Java? Quale dei suddetti sarebbe meglio considerare i suddetti criteri?
A cura di chiarire che necessitano un separato .app di rete solo quando si creano app da progetti Eclipse, che non hanno codice di ponteggio .net (per il riferimento di @ Avkash a WorkerRole.cs). –
Non vedo l'ora di leggere il post sul blog! – hpityu
Appena modificato per includere il collegamento. Ci sono errori di formattazione, ma sono stati corretti da Persistent questa settimana. –