Introduzione
“App Logging” è un framework di logging che consente di emettere informazioni di logging e debug a più destinazioni. Questi log possono essere suddivisi in categorie e possono essere configurati per ogni app e categoria e anche per ogni utente e dove i log devono essere emessi. Attualmente sono supportate le seguenti destinazioni di log:
Utilizzare questo logger è davvero semplice. È sufficiente seguire i seguenti passaggi:
- Dichiarare una variabile per
codeunit 70623694 EOS004 App Logger. - Inizializzare la codeunit utilizzando
InitializeoInitializeForCaller. - Emettere messaggi di log usando i metodi
LogMessage. Sono molto simili a quelli usati daSession.LogMessagee quindi non dovrebbero dare molti problemi.
Note
Non è garantito che la chiamata a uno degli overload diLogMessage invii immediatamente il messaggio di log alla destinazione. I messaggi di log potrebbero essere bufferizzati internamente (per motivi di prestazioni) e inviati alla destinazione solo quando si chiama Flush. Ciò dipende dall’implementazione del logger (vedere sotto). È possibile configurare il flush in modo che avvenga automaticamente dopo un certo numero di messaggi, utilizzando AutoFlushLimit. In ogni caso, assicurarsi di chiamare Flush alla fine della procedura, per assicurarsi che i messaggi residui vengano inviati.Si può trovare un esempio più dettagliato su https://github.com/EOS-Solutions/Sample/tree/master/EX004.EosAdminLib/Logging.
Application Insights (Default)
È essenzialmente la stessa cosa che usare Session.LogMessage. I log saranno inviati all’account Application Insights definito nell’applicazione e/o nel servizio. Il vantaggio di usare il framework App Logging invece di chiamare direttamente Session.LogMessage è che questo fa parte del framework “App Logging” e quindi questi messaggi di log sono ora configurabili per utente/app/categoria.
Questo logger non bufferizza i messaggi e quindi non richiede flushing.
Application Insights (Custom)
È simile ad Application Insights (Default), ma consente di emettere messaggi di log a un account Application Insights arbitrario e non è limitato a quelli definiti nell’app/servizio.
Questo logger bufferizza i messaggi e quindi richiede il flushing per inviarli.
Warning
Questo logger non utilizzaSession.LogMessage e quindi non può beneficiare della natura asincrona di tale metodo. Ciò significa che qualsiasi messaggio di log emesso avrà un impatto sulle prestazioni, anche perché verranno effettuate chiamate HTTP ad Application Insights. Usare con cautela e usare AutoFlushLimit per ridurre il numero di chiamate HTTP effettuate.Internal
Si tratta di un logger che registra i messaggi in una tabella temporanea globale, che rimane in vita finché dura la sessione dell’utente. È possibile utilizzare codeunit 70623696 EOS004 Internal Logger per accedere ai log raccolti ed esportarli o conservarli in qualsiasi modo.
Questo logger non bufferizza i messaggi e quindi non richiede flushing.
Setup
L’impostazione di “App Logging” si trova alla pagina Setup log app (EAL).

Qui è possibile vedere un elenco di tutti i logger attualmente attivi e configurati.
- Nome app indica l’applicazione per questa configurazione di logger.
- Nome specifica la categoria per questa configurazione di logger.
- Username specifica l’utente per il quale questa configurazione di logger è attiva. Può essere un singolo utente o tutti gli utenti.
- Enabled specifica se la configurazione è attualmente abilitata.
- Enabled From / Enabled to specifica l’intervallo di data/ora in cui il logger sarà abilitato. Se non viene specificato, il logger è sempre attivo. Oltre a questo intervallo di date/ore, deve essere attivo anche il flag Abilitato.
- Logger specifica il logger su cui questa configurazione scriverà i suoi messaggi di log.
- Service Config. Code specifica la configurazione del servizio da utilizzare per il logger specificato in Logger. Potrebbe non essere necessario e dipende dal logger selezionato in Logger come e cosa deve essere selezionato qui. Al momento, solo Application Insights (Custom) richiede una configurazione di servizio. Per saperne di più, consultare Configurazioni del servizio.
- Diagnostics Key è una chiave generata in modo casuale che viene inviata insieme a tutti i messaggi di log scritti per questa configurazione. Aiuta a identificare la configurazione quando si analizzano i log.
Con l’azione Nuovo è possibile creare una nuova configurazione.

I seguenti campi sono obbligatori:
- Id app specifica l’applicazione per la quale creare una configurazione di logger. In questo elenco verranno visualizzate solo le app che hanno sottoscritto l’evento
OnCollectLogCategoriese che hanno fornito almeno una categoria di log. Controllare l’esempio su GitHub per i dettagli su come implementarlo. - Nome app mostra il nome dell’applicazione selezionata.
- Categoria permette di scegliere la categoria di log per la quale si vuole creare la configurazione. I valori disponibili sono quelli forniti dall’applicazione tramite
OnCollectLogCategories. - Abilitato per permette di scegliere se la configurazione deve essere valida per tutti gli utenti, per l’utente attualmente connesso o solo per un utente specifico.
- Username consente di scegliere l’utente per il quale si desidera configurare questo registro, se si è selezionato Utente specifico in Abilitato per.
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.