Condividi tramite


Console.SetError(TextWriter) Metodo

Definizione

Imposta la Error proprietà sull'oggetto specificato TextWriter .

public:
 static void SetError(System::IO::TextWriter ^ newError);
public static void SetError(System.IO.TextWriter newError);
static member SetError : System.IO.TextWriter -> unit
Public Shared Sub SetError (newError As TextWriter)

Parametri

newError
TextWriter

Flusso che rappresenta il nuovo output di errore standard.

Eccezioni

newError è null.

Il chiamante non dispone dell'autorizzazione richiesta.

Esempio

Nell'esempio seguente viene illustrato come reindirizzare il flusso di errori standard a un file.

using System;
using System.IO;
using System.Reflection;

public class RedirectStdErr
{
   public static void Main()
   {
      // Define file to receive error stream.
      DateTime appStart = DateTime.Now;
      string fn = @"c:\temp\errlog" + appStart.ToString("yyyyMMddHHmm") + ".log";
      TextWriter errStream = new StreamWriter(fn);
      string appName = typeof(RedirectStdErr).Assembly.Location;
      appName = appName.Substring(appName.LastIndexOf('\\') + 1);
      // Redirect standard error stream to file.
      Console.SetError(errStream);
      // Write file header.
      Console.Error.WriteLine("Error Log for Application {0}", appName);
      Console.Error.WriteLine();
      Console.Error.WriteLine("Application started at {0}.", appStart);
      Console.Error.WriteLine();
      //
      // Application code along with error output
      //
      // Close redirected error stream.
      Console.Error.Close();
   }
}
open System
open System.IO
open System.Reflection

[<EntryPoint>]
let main _ =
    // Define file to receive error stream.
    let appStart = DateTime.Now
    let fn = @"C:\temp\errlog" + appStart.ToString "yyyyMMddHHmm" + ".log"
    use fs = new FileStream(fn, FileMode.OpenOrCreate)
    let errStream = new StreamWriter(fs)
    let appName = 
        let appName = Assembly.GetExecutingAssembly().Location
        appName.Substring(appName.LastIndexOf('\\') + 1)

    // Redirect standard error stream to file.
    Console.SetError errStream

    // Write file header.
    Console.Error.WriteLine $"Error Log for Application {appName}"
    Console.Error.WriteLine()
    Console.Error.WriteLine $"Application started at {appStart}."
    Console.Error.WriteLine()
    //
    // Application code along with error output
    //
    // Close redirected error stream.
    Console.Error.Close()
    
    0
Imports System.IO
Imports System.Reflection

Module RedirectStdErr
   Public Sub Main()
      ' Define file to receive error stream.
      Dim appStart As Date = Date.Now
      Dim fn As String = "c:\temp\errlog" & appStart.ToString("yyyyMMddHHmm") & ".log"
      Dim errStream As New StreamWriter(fn)
      Dim appName As String = GetType(RedirectStdErr).Assembly.Location
      appName = Mid(appName, InStrRev(appName, "\") + 1)
      ' Redirect standard error stream to file.
      Console.SetError(errStream)
      ' Write file header.
      Console.Error.WriteLine("Error Log for Application {0}", appName)
      Console.Error.WriteLine()
      Console.Error.WriteLine("Application started at {0}.", appStart)
      Console.Error.WriteLine()
      '
      ' Application code along with error output 
      '
      ' Close redirected error stream.
      Console.Error.Close()
   End Sub
End Module

Commenti

Per impostazione predefinita, la Error proprietà è impostata sul flusso di output degli errori standard.

Oggetto StreamWriter che incapsula un FileStream oggetto può essere utilizzato per inviare messaggi di errore a un file.

Si applica a

Vedi anche