Panoramica della registrazione in MSBuild
Aggiornamento: novembre 2007
I logger di MSBuild offrono un metodo per personalizzare la segnalazione di eventi, messaggi, avvisi ed errori di compilazione. Tramite i logger è possibile visualizzare le informazioni nella finestra della console, scrivere in un file XML o in un file di testo o inserire i dati di generazione in un database.
Logger di MSBuild
Un logger viene utilizzato per fornire le informazioni da eventi, messaggi, avvisi ed errori di generazione a un log che può essere letto e interpretato con facilità. La logica di un logger viene scritta in un tipo gestito che implementa l'interfaccia ILogger.
Logger di console predefinito di MSBuild
Quando si esegue MSBuild.exe dalla riga di comando, MSBuild utilizza il logger di console predefinito per visualizzare le informazioni sull'evento di compilazione nella finestra di console. Mediante l'opzione /verbosity della riga di comando, è possibile personalizzare il livello di dettaglio segnalato dal logger.
Il logger di console predefinito accetta parametri supplementari per modificare l'output della finestra di console. Questi parametri vengono specificati nell'opzione /consoleloggerparameters della riga di comando.
Se si utilizza un logger personalizzato, può risultare utile nascondere le informazioni visualizzate dal logger di console predefinito. Per disabilitare il logger di console predefinito, utilizzare l'opzione /noconsolelogger nella riga di comando.
Logger di file di MSBuild
MSBuild comprende anche un logger di file che registra in un file le informazioni sull'evento di compilazione. Per eseguire un logger di file, utilizzare la seguente opzione della riga di comando, dove MyLog.log è il file in cui verranno salvate le informazioni registrate.
/l:FileLogger,Microsoft.Build.Engine;logfile=MyLog.log
In genere, il logger di file accetta anche quattro parametri. Tali valori sono:
Logfile: parametro obbligatorio che specifica il file in cui memorizzare le informazioni di log.
Append: parametro boolean facoltativo che indica se al file specificato si debba o meno aggiungere il log: true per aggiungere il log al testo già presente nel file; false per sovrascrivere il contenuto del file. Il valore predefinito è false.
Verbosity: parametro facoltativo che esegue l'override dell'impostazione del livello di dettaglio globale soltanto per questo logger di file e permette quindi di accedere a diversi logger, ciascuno con un livello di dettaglio diverso.
Encoding: parametro facoltativo che specifica la codifica del file, ad esempio UTF-8.
I vari parametri sono separati tra loro da un punto e virgola (;). Ad esempio, la seguente riga di comando registra le informazioni sull'evento di compilazione nel file MyLog.log e aggiunge il log al testo del file, con un livello di dettaglio diagnostic e con codifica UTF-8.
MSBuild MyProj.proj /l:FileLogger,Microsoft.Build.Engine;logfile=MyLog.log append=true;verbosity=diagnostic;encoding=utf-8
Specifica di un logger
Per utilizzare un logger diverso dal logger di console predefinito durante una generazione, specificare il logger personalizzato utilizzando l'opzione /logger della riga di comando. Per informazioni dettagliate sulle opzioni della riga di comando di MSBuild, vedere Riferimenti alla riga di comando di MSBuild.
Scrittura di un logger
La logica di un logger viene scritta in codice gestito e specificata nella riga di comando di MSBuild tramite l'opzione /logger.
Per scrivere un logger personalizzato, è sufficiente creare un tipo gestito che implementi l'interfaccia ILogger. Per ulteriori informazioni, vedere Procedura: scrivere un logger.
Vedere anche
Attività
Concetti
Registrazione in un ambiente a più processori
Creazione di logger di inoltro