Aracılığıyla paylaş


Console.SetError(TextWriter) Yöntem

Tanım

Error özelliği belirtilen TextWriter nesneye ayarlar.

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)

Parametreler

newError
TextWriter

Yeni standart hata çıkışı olan bir akış.

Özel durumlar

newError, null değeridir.

Çağıranın gerekli izni yok.

Örnekler

Aşağıdaki örnekte standart hata akışının bir dosyaya nasıl yeniden yönlendirildiği gösterilmektedir.

using namespace System;
using namespace System::IO;
using namespace System::Reflection;

ref class RedirectStdErr;

void main()
{
   // Define file to receive error stream.
   DateTime appStart = DateTime::Now;
   String^ fn = "c:\\temp\\errlog" + appStart.ToString("yyyyMMddHHmm") + ".log";
   TextWriter^ errStream = gcnew StreamWriter(fn);
   String^ appName = Assembly::GetExecutingAssembly()->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();
}
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

Açıklamalar

Varsayılan olarak, Error özelliği standart hata çıkış akışına ayarlanır.

bir StreamWriter kapsülleyen bir FileStream dosyaya hata iletileri göndermek için kullanılabilir.

Şunlara uygulanır

Ayrıca bkz.