FileLogTraceListener Classe

Definizione

Viene fornito un listener semplice che indirizza l'output di registrazione in un file.

public ref class FileLogTraceListener : System::Diagnostics::TraceListener
[System.Runtime.InteropServices.ComVisible(false)]
public class FileLogTraceListener : System.Diagnostics.TraceListener
[<System.Runtime.InteropServices.ComVisible(false)>]
type FileLogTraceListener = class
    inherit TraceListener
Public Class FileLogTraceListener
Inherits TraceListener
Ereditarietà
FileLogTraceListener
Attributi

Commenti

La FileLogTraceListener classe offre funzionalità di manutenzione automatizzate per archiviare i file di log in base alle esigenze, ogni giorno o per applicazione. Questa funzionalità di archiviazione automatica consente di ridurre le responsabilità di manutenzione di sviluppatori e amministratori.

Un'istanza di FileLogTraceListener può essere aggiunta alle raccolte o Trace.Listeners per reindirizzare l'output Debug.Listeners dalla registrazione a un file di testo. Le istanze di questa classe possono essere aggiunte anche a My.Application.Log o My.Log (per le applicazioni Web) nelle applicazioni Visual Basic. Per altre informazioni, vedere Procedura dettagliata: modifica della posizione di inserimento delle informazioni con My.Application.Log.

Le funzionalità principali di questa classe sono:

  1. Funzionalità di archiviazione. I file di log generati da questa classe vengono denominati in base al nome di base e alla data, insieme a un numero per distinguere il file di log dalle versioni successive del log. I nuovi file di log vengono creati in base alle esigenze.

    Il formato esplicito del nome file è baseName[-dateStamp][-version].log, dove:

    • La baseName parte è il nome del log fondamentale, specificato dalla BaseFileName proprietà .

    • La dateStamp parte ha il formato "AAAA-MM-GG" e viene visualizzato quando LogFileCreationSchedule è Daily o Weekly.

    • Se sono necessari più file di log con lo stesso baseName e , la version parte , al nome del file viene aggiunto un positivo IntegerdateStamp.

  2. Più istanze di classe. Se un'istanza della FileLogTraceListener classe scrive in un file in uso:

    • La classe condivide il file se viene usato da un'altra istanza della FileLogTraceListener classe nello stesso processo.

    • La classe crea un nuovo file di log usando il nome disponibile successivo se il file viene usato da un altro processo.

  3. Thread safety. La FileLogTraceListener classe è thread-safe. In questo modo è possibile scrivere messaggi nel log da più thread senza usare blocchi.

Percorso file di log

  • La Location proprietà accetta un'enumerazione LogFileLocation per specificare una delle directory tipiche in cui scrivere il file di log.

  • Per scrivere il log in un'altra posizione, impostare la CustomLocation proprietà su tale posizione.

Nome file di log

  • Il nome di base per il file di log viene specificato dalla BaseFileName proprietà .

  • Il nome del file di log corrente può essere letto dalla FullLogFileName proprietà . Deriva da diverse altre proprietà e dallo stato corrente dei log nel file system.

Manutenzione log

  • La frequenza minima per la creazione di nuovi file di log è determinata dalla LogFileCreationSchedule proprietà . Quando il valore è Daily o Weekly, viene creato un nuovo file di log almeno una volta ogni giorno o settimana e un indicatore di data viene incorporato nel FullLogFileName nome.

  • Le dimensioni massime (in byte) del file di log sono determinate dalla MaxFileSize proprietà . Se le dimensioni del file di log superano questa dimensione, vengono eliminati messaggi aggiuntivi scritti nel log e, a seconda della DiskSpaceExhaustedBehavior proprietà, viene generata un'eccezione.

  • La ReserveDiskSpace proprietà determina la quantità di spazio disponibile (in byte). In questo modo si garantisce che la FileLogTraceListener classe non utilizzerà tutto lo spazio disponibile su disco. Utilizzare la DiskSpaceExhaustedBehavior proprietà per specificare il comportamento delle scritture di log quando sono disponibili meno di ReserveDiskSpace byte.

Impostazioni di output del file di log

  • La AutoFlush proprietà specifica se il flusso sottostante deve essere scaricato automaticamente dopo ogni scrittura nel file di log.

  • La Append proprietà specifica se aggiungere messaggi al file di log corrente, se consentito o scriverli in un nuovo file di log.

  • La Delimiter proprietà specifica la stringa da utilizzare per delimitare i campi all'interno di un messaggio di log.

  • La Encoding proprietà specifica la codifica da utilizzare durante la creazione di un nuovo file di log.

Output del file di log

  • I TraceData metodi e TraceEvent scrivono messaggi nel file di log. Questi metodi controllano la LogFileCreationSchedule proprietà, insieme a tutti i log esistenti con lo stesso nome di base per determinare se deve essere creato un nuovo log.

  • Il Flush metodo scarica tutti i messaggi attualmente presenti nel buffer di output nel file di log.

  • Il Close metodo chiude il file di log in modo che possa essere usato da altri processi.

Abilitazione dell'output

È necessario abilitare la traccia o il debug per usare un listener di traccia. La sintassi seguente è specifica del compilatore. Se si usano compilatori diversi da C# o Visual Basic, vedere la documentazione relativa al compilatore.

  • Per abilitare il debug in C#, aggiungere il /d:DEBUG flag alla riga di comando del compilatore quando si compila il codice oppure aggiungere #define DEBUG all'inizio del file. In Visual Basic aggiungere il /d:DEBUG=True flag alla riga di comando del compilatore.

  • Per abilitare la traccia in C#, aggiungere il /d:TRACE flag alla riga di comando del compilatore quando si compila il codice o aggiungerlo #define TRACE all'inizio del file. In Visual Basic aggiungere il /d:TRACE=True flag alla riga di comando del compilatore.

Nelle app .NET Framework è possibile impostare il livello del listener modificando il file di configurazione per l'applicazione. All'interno di questo file è possibile aggiungere un listener, impostarne il tipo e impostarne i parametri, rimuovere un listener o cancellare tutti i listener impostati in precedenza dall'applicazione. Il file di configurazione deve essere formattato come nell'esempio seguente.

<configuration>  
    <system.diagnostics>  
        <sharedListeners>  
            <add name="FileLog"  
                type="Microsoft.VisualBasic.Logging.FileLogTraceListener,   
                      Microsoft.VisualBasic, Version=8.0.0.0,   
                      Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,   
                      processorArchitecture=MSIL"   
                initializeData="FileLogWriter"/>  
        </sharedListeners>  
    </system.diagnostics>  
</configuration>  

Per eseguire questo esempio, è necessario specificare il nome completo dell'assembly. Per informazioni su come ottenere il nome completo dell'assembly, vedere Nomi assembly.

Costruttori

FileLogTraceListener()

Inizializza una nuova istanza della classe FileLogTraceListener con il nome predefinito.

FileLogTraceListener(String)

Inizializza una nuova istanza della classe FileLogTraceListener con il nome specificato.

Proprietà

Append

Determina se aggiungere l'output al file corrente o se scriverlo in un file nuovo o esistente.

Attributes

Ottiene gli attributi personalizzati del listener di traccia definiti nel file di configurazione dell'applicazione.

(Ereditato da TraceListener)
AutoFlush

Indica se la scrittura nel flusso del file di log deve scaricare il buffer o meno.

BaseFileName

Ottiene o imposta il nome base per i file di log, utilizzato per la creazione del nome completo del file di log.

CustomLocation

Ottiene o imposta la directory del file di log se la proprietà Location e impostata su Custom.

Delimiter

Ottiene o imposta il delimitatore utilizzato per delimitare i campi all'interno di un messaggio di log.

DiskSpaceExhaustedBehavior

Determina quale comportamento seguire se durante la scrittura del file di log viene rilevato meno spazio libero su disco disponibile di quello specificato dalla proprietà ReserveDiskSpace.

Encoding

Ottiene o imposta la codifica da utilizzare durante la creazione di un nuovo file di log.

Filter

Ottiene o imposta il filtro di traccia per il listener di traccia.

(Ereditato da TraceListener)
FullLogFileName

Ottiene il nome corrente completo del file di log.

IncludeHostName

Indica se includere o meno nell'output il nome dell'host della macchina che esegue la registrazione.

IndentLevel

Ottiene o imposta il livello di rientro.

(Ereditato da TraceListener)
IndentSize

Ottiene o imposta il numero di spazi in un rientro.

(Ereditato da TraceListener)
IsThreadSafe

Ottiene un valore che indica se il listener di traccia è thread-safe.

(Ereditato da TraceListener)
Location

Ottiene o imposta il percorso dei file di log.

LogFileCreationSchedule

Determina che data includere nei nomi dei file di log.

MaxFileSize

Ottiene o imposta la dimensione massima consentita in byte del file di log.

Name

Ottiene o imposta un nome per l'oggetto TraceListener.

(Ereditato da TraceListener)
NeedIndent

Ottiene o imposta un valore che indica se impostare il rientro dell'output.

(Ereditato da TraceListener)
ReserveDiskSpace

Ottiene o imposta la quantità di spazio libero su disco in byte, necessaria per la scrittura dei messaggi nel file di log.

TraceOutputOptions

Ottiene o imposta le opzioni dell'output di traccia.

(Ereditato da TraceListener)

Metodi

Close()

Chiude il flusso sottostante per il file di log corrente e rilascia tutte le risorse associate al flusso corrente.

CreateObjRef(Type)

Consente di creare un oggetto che contiene tutte le informazioni rilevanti necessarie per la generazione del proxy utilizzato per effettuare la comunicazione con un oggetto remoto.

(Ereditato da MarshalByRefObject)
Dispose()

Rilascia tutte le risorse usate da TraceListener.

(Ereditato da TraceListener)
Dispose(Boolean)

Chiude il flusso sottostante ed eventualmente rilascia le risorse gestite.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
Fail(String)

Genera un messaggio di errore nel listener creato durante l'implementazione della classe TraceListener.

(Ereditato da TraceListener)
Fail(String, String)

Genera un messaggio di errore e un messaggio di errore dettagliato nel listener creato durante l'implementazione della classe TraceListener.

(Ereditato da TraceListener)
Flush()

Scarica il flusso sottostante che scrive ne file di log corrente.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetLifetimeService()
Obsoleti.

Consente di recuperare l'oggetto servizio di durata corrente per controllare i criteri di durata per l'istanza.

(Ereditato da MarshalByRefObject)
GetSupportedAttributes()

Ottiene gli attributi di configurazione XML personalizzati supportati dal listener di traccia.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
InitializeLifetimeService()
Obsoleti.

Ottiene un oggetto servizio di durata per controllare i criteri di durata per questa istanza.

(Ereditato da MarshalByRefObject)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
MemberwiseClone(Boolean)

Crea una copia dei riferimenti dell'oggetto MarshalByRefObject corrente.

(Ereditato da MarshalByRefObject)
ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

Scrive informazioni di traccia, un oggetto dati e informazioni di evento nel file o nel flusso di output.

TraceData(TraceEventCache, String, TraceEventType, Int32, Object[])

Scrive informazioni di traccia, una matrice di oggetti dati e informazioni di evento nel flusso o nel file di output.

TraceEvent(TraceEventCache, String, TraceEventType, Int32)

Scrive le informazioni di traccia e di evento nell'output specifico del listener.

(Ereditato da TraceListener)
TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

Scrive informazioni di traccia, un messaggio e informazioni di evento nel flusso o nel file di output.

TraceEvent(TraceEventCache, String, TraceEventType, Int32, String, Object[])

Scrive informazioni di traccia, una matrice di oggetti formattata e informazioni di evento nel flusso o nel file di output.

TraceTransfer(TraceEventCache, String, Int32, String, Guid)

Scrive le informazioni di traccia, un messaggio, l'identità di un'attività correlata e le informazioni di evento nell'output specifico del listener.

(Ereditato da TraceListener)
Write(Object)

Scrive il valore del metodo ToString() dell'oggetto nel listener creato durante l'implementazione della classe TraceListener.

(Ereditato da TraceListener)
Write(Object, String)

Scrive un nome di categoria e il valore del metodo ToString() dell'oggetto nel listener creato durante l'implementazione della classe TraceListener.

(Ereditato da TraceListener)
Write(String)

Scrive un messaggio testuale sul disco, senza ulteriori informazioni contestuali.

Write(String, String)

Scrive un nome di categoria e un messaggio nel listener creato durante l'implementazione della classe TraceListener.

(Ereditato da TraceListener)
WriteIndent()

Inserisce il rientro nel listener creato quando si implementa questa classe e reimposta la proprietà NeedIndent su false.

(Ereditato da TraceListener)
WriteLine(Object)

Scrive il valore del metodo ToString() dell'oggetto nel listener creato durante l'implementazione della classe TraceListener, seguito da un terminatore di riga.

(Ereditato da TraceListener)
WriteLine(Object, String)

Scrive un nome di categoria e il valore del metodo ToString() dell'oggetto nel listener creato durante l'implementazione della classe TraceListener, seguito da un terminatore di riga.

(Ereditato da TraceListener)
WriteLine(String)

Scrive un messaggio testuale sul disco, seguito dal terminatore di riga corrente, senza ulteriori informazioni contestuali.

WriteLine(String, String)

Scrive un nome di categoria e un messaggio nel listener creato durante l'implementazione della classe TraceListener, seguiti da un terminatore di riga.

(Ereditato da TraceListener)

Si applica a

Vedi anche