다음을 통해 공유


FileLogTraceListener 클래스

정의

로깅 출력을 파일로 전송하는 간단한 수신기를 제공합니다.

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
상속
FileLogTraceListener
특성

설명

이 클래스는 FileLogTraceListener 필요에 따라 매일 또는 애플리케이션별로 로그 파일을 보관하는 자동화된 유지 관리 기능을 제공합니다. 이 자동 보관 기능은 개발자와 관리자의 유지 관리 책임을 줄이는 데 도움이 됩니다.

로깅에서 텍스트 파일로 출력을 Debug.Listeners 리디렉션하기 위해 인스턴스 FileLogTraceListener 를 컬렉션에 Trace.Listeners 추가할 수 있습니다. 이 클래스의 인스턴스는 Visual Basic 애플리케이션에 추가 My.Application.Log 하거나 My.Log (웹 애플리케이션의 경우) 추가할 수도 있습니다. 자세한 내용은 연습: My.Application.Log에서 정보를 쓰는 위치 변경을 참조하세요.

이 클래스의 주요 기능은 다음과 같습니다.

  1. 보관 기능. 이 클래스에서 생성된 로그 파일의 이름은 로그 파일과 로그의 연속 버전을 구분하는 숫자와 함께 기본 이름 및 날짜에 따라 지정됩니다. 새 로그 파일은 필요에 따라 만들어집니다.

    파일 이름의 명시적 형식은 baseName다음과 같은 [-dateStamp][-version].log.

    • 파트는 baseName 속성으로 지정된 기본 로그 이름입니다 BaseFileName .
    • 파트의 형식은 dateStamp "YYYY-MM-DD"이며, 있는 경우 LogFileCreationScheduleDaily 또는 Weekly다음과 같이 표시됩니다.
    • 동일한 baseNamedateStamp로그 파일이 둘 이상 필요한 경우 해당 version 파트는 양수 Integer로 파일 이름에 추가됩니다.
  2. 여러 클래스 인스턴스. 클래스의 인스턴스가 FileLogTraceListener 사용 중인 파일에 쓰는 경우:

    • 클래스는 동일한 프로세스에서 클래스의 FileLogTraceListener 다른 인스턴스에서 사용되는 경우 파일을 공유합니다.
    • 클래스는 다른 프로세스에서 파일을 사용하는 경우 사용 가능한 다음 이름을 사용하여 새 로그 파일을 만듭니다.
  3. 스레드 안전성. 클래스는 FileLogTraceListener 스레드로부터 안전합니다. 이렇게 하면 잠금을 사용하지 않고 여러 스레드에서 로그에 메시지를 안전하게 쓸 수 있습니다.

Log-File 위치

  • 이 속성은 Location 로그 파일을 쓸 일반적인 디렉터리 중 하나를 지정하기 위해 열거형을 사용합니다 LogFileLocation .

  • 로그를 다른 위치에 쓰려면 해당 위치로 CustomLocation 속성을 설정합니다.

Log-File 이름

  • 로그 파일의 기본 이름은 속성에 의해 BaseFileName 지정됩니다.
  • 현재 로그 파일 이름은 속성에서 FullLogFileName 읽을 수 있습니다. 파일 시스템에 있는 로그의 현재 상태 및 다른 여러 속성에서 파생됩니다.

로그 유지 관리

  • 새 로그 파일을 만들기 위한 최소 빈도는 속성에 LogFileCreationSchedule 의해 결정됩니다. 값이 Daily 또는 Weekly인 경우 새 로그 파일이 매일 또는 일주일에 한 번 이상 만들어지고 날짜 스탬프가 이름에 FullLogFileName 통합됩니다.
  • 로그 파일의 최대 크기(바이트)는 속성에 MaxFileSize 의해 결정됩니다. 로그 파일 크기가 이 크기를 초과하면 로그에 기록된 추가 메시지가 삭제되고 속성에 DiskSpaceExhaustedBehavior 따라 예외가 throw됩니다.
  • 이 속성은 ReserveDiskSpace 사용 가능한 공간(바이트)을 결정합니다. 이렇게 하면 클래스에서 FileLogTraceListener 사용 가능한 디스크 공간을 모두 사용하지 않도록 할 수 있습니다. DiskSpaceExhaustedBehavior 사용 가능한 바이트보다 ReserveDiskSpace 작은 경우 로그 쓰기의 동작을 지정하려면 이 속성을 사용합니다.

Log-File 출력 설정

  • 이 속성은 AutoFlush 로그 파일에 쓸 때마다 기본 스트림을 자동으로 플러시할지 여부를 지정합니다.
  • 이 속성은 Append 현재 로그 파일에 메시지를 추가할지( 허용되는 경우) 또는 새 로그 파일에 쓸지 여부를 지정합니다.
  • 이 속성은 Delimiter 로그 메시지 내의 필드를 구분하는 데 사용할 문자열을 지정합니다.
  • 이 속성은 Encoding 새 로그 파일을 만들 때 사용할 인코딩을 지정합니다.

Log-File 출력

  • TraceEvent 메서드는 TraceData 로그 파일에 메시지를 씁니다. 이러한 메서드는 LogFileCreationSchedule 동일한 기본 이름을 가진 기존 로그와 함께 속성을 확인하여 새 로그를 만들어야 하는지 여부를 확인합니다.
  • 이 메서드는 Flush 현재 출력 버퍼에 있는 모든 메시지를 로그 파일로 플러시합니다.
  • 메서드는 Close 다른 프로세스에서 사용할 수 있도록 로그 파일을 닫습니다.

출력 사용

추적 수신기를 사용하려면 추적 또는 디버깅을 사용하도록 설정해야 합니다. 다음 구문은 컴파일러 관련입니다. C# 또는 Visual Basic 이외의 컴파일러를 사용하는 경우 컴파일러에 대한 설명서를 참조하세요.

  • C#에서 디버깅을 사용하도록 설정하려면 코드를 컴파일할 때 컴파일러 명령줄에 플래그를 추가 /d:DEBUG 하거나 파일 맨 위에 추가할 #define DEBUG 수 있습니다. Visual Basic에서 컴파일러 명령줄에 플래그를 추가 /d:DEBUG=True 합니다.
  • C#에서 추적을 사용하도록 설정하려면 코드를 컴파일할 때 컴파일러 명령줄에 플래그를 추가 /d:TRACE 하거나 파일 맨 위에 추가 #define TRACE 합니다. Visual Basic에서 컴파일러 명령줄에 플래그를 추가 /d:TRACE=True 합니다.

.NET Framework 앱에서는 애플리케이션에 대한 구성 파일을 편집하여 수신기 수준을 설정할 수 있습니다. 이 파일 내에서 수신기를 추가하거나, 해당 형식을 설정하고, 매개 변수를 설정하거나, 수신기를 제거하거나, 애플리케이션에서 이전에 설정한 모든 수신기를 지울 수 있습니다. 구성 파일의 형식은 다음 예제와 같이 지정해야 합니다.

<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>

이 예제를 실행하려면 정규화된 어셈블리 이름을 제공해야 합니다. 정규화된 어셈블리 이름을 가져오는 방법에 대한 자세한 내용은 어셈블리 이름을 참조하세요.

생성자

Name Description
FileLogTraceListener()

기본 이름을 사용하여 클래스의 FileLogTraceListener 새 인스턴스를 초기화합니다.

FileLogTraceListener(String)

제공된 이름을 사용하여 클래스의 FileLogTraceListener 새 인스턴스를 초기화합니다.

속성

Name Description
Append

출력을 현재 파일에 추가할지 아니면 새 파일 또는 기존 파일에 쓸지 여부를 결정합니다.

Attributes

애플리케이션 구성 파일에 정의된 사용자 지정 추적 수신기 특성을 가져옵니다.

(다음에서 상속됨 TraceListener)
AutoFlush

로그 파일 스트림에 대한 쓰기가 버퍼를 플러시하는지 여부를 나타냅니다.

BaseFileName

전체 로그 파일 이름을 만드는 데 사용되는 로그 파일의 기본 이름을 가져오거나 설정합니다.

CustomLocation

속성이 로 설정된 Custom경우 Location 로그 파일 디렉터리를 가져오거나 설정합니다.

Delimiter

로그 메시지 내에서 필드를 구분하는 데 사용되는 구분 기호를 가져오거나 설정합니다.

DiskSpaceExhaustedBehavior

로그 파일에 쓸 때 수행할 작업을 결정하며 속성에서 지정한 것보다 사용 가능한 디스크 공간이 적습니다 ReserveDiskSpace .

Encoding

새 로그 파일을 만들 때 사용할 인코딩을 가져오거나 설정합니다.

Filter

추적 수신기에 대한 추적 필터를 가져오거나 설정합니다.

(다음에서 상속됨 TraceListener)
FullLogFileName

현재 전체 로그 파일 이름을 가져옵니다.

IncludeHostName

로깅 머신의 호스트 이름을 출력에 포함할지 여부를 나타냅니다.

IndentLevel

들여쓰기 수준을 가져오거나 설정합니다.

(다음에서 상속됨 TraceListener)
IndentSize

들여쓰기의 공백 수를 가져오거나 설정합니다.

(다음에서 상속됨 TraceListener)
IsThreadSafe

추적 수신기가 스레드로부터 안전한지 여부를 나타내는 값을 가져옵니다.

(다음에서 상속됨 TraceListener)
Location

로그 파일의 위치를 가져오거나 설정합니다.

LogFileCreationSchedule

로그 파일의 이름에 포함할 날짜를 결정합니다.

MaxFileSize

로그 파일의 최대 허용 크기를 바이트 단위로 가져오거나 설정합니다.

Name

TraceListener이름을 가져오거나 설정합니다.

(다음에서 상속됨 TraceListener)
NeedIndent

출력을 들여쓰는지 여부를 나타내는 값을 가져오거나 설정합니다.

(다음에서 상속됨 TraceListener)
ReserveDiskSpace

로그 파일에 메시지를 기록하기 전에 필요한 사용 가능한 디스크 공간의 양을 바이트 단위로 가져오거나 설정합니다.

TraceOutputOptions

추적 출력 옵션을 가져오거나 설정합니다.

(다음에서 상속됨 TraceListener)

메서드

Name Description
Close()

현재 로그 파일의 기본 스트림을 닫고 현재 스트림과 연결된 모든 리소스를 해제합니다.

CreateObjRef(Type)

원격 개체와 통신하는 데 사용되는 프록시를 생성하는 데 필요한 모든 관련 정보를 포함하는 개체를 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
Dispose()

에서 사용하는 모든 리소스를 TraceListener해제합니다.

(다음에서 상속됨 TraceListener)
Dispose(Boolean)

기본 스트림을 닫고 필요에 따라 관리되는 리소스를 해제합니다.

Equals(Object)

지정된 개체가 현재 개체와 같은지 여부를 확인합니다.

(다음에서 상속됨 Object)
Fail(String, String)

클래스를 구현할 때 만든 수신기에 오류 메시지와 자세한 오류 메시지를 내보낸다 TraceListener .

(다음에서 상속됨 TraceListener)
Fail(String)

클래스를 구현할 때 만든 수신기에 오류 메시지를 내보낸다 TraceListener .

(다음에서 상속됨 TraceListener)
Flush()

현재 로그 파일에 쓰는 기본 스트림을 플러시합니다.

GetHashCode()

기본 해시 함수로 사용됩니다.

(다음에서 상속됨 Object)
GetLifetimeService()
사용되지 않음.

이 인스턴스의 수명 정책을 제어하는 현재 수명 서비스 개체를 검색합니다.

(다음에서 상속됨 MarshalByRefObject)
GetSupportedAttributes()

추적 수신기에서 지원하는 사용자 지정 XML 구성 특성을 가져옵니다.

GetType()

현재 인스턴스의 Type 가져옵니다.

(다음에서 상속됨 Object)
InitializeLifetimeService()
사용되지 않음.

이 인스턴스의 수명 정책을 제어하는 수명 서비스 개체를 가져옵니다.

(다음에서 상속됨 MarshalByRefObject)
MemberwiseClone()

현재 Object단순 복사본을 만듭니다.

(다음에서 상속됨 Object)
MemberwiseClone(Boolean)

현재 MarshalByRefObject 개체의 단순 복사본을 만듭니다.

(다음에서 상속됨 MarshalByRefObject)
ToString()

현재 개체를 나타내는 문자열을 반환합니다.

(다음에서 상속됨 Object)
TraceData(TraceEventCache, String, TraceEventType, Int32, Object)

추적 정보, 데이터 개체 및 이벤트 정보를 출력 파일 또는 스트림에 씁니다.

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

추적 정보, 데이터 개체 배열 및 이벤트 정보를 출력 파일 또는 스트림에 씁니다.

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

추적 정보, 서식이 지정된 개체 배열 및 이벤트 정보를 출력 파일 또는 스트림에 씁니다.

TraceEvent(TraceEventCache, String, TraceEventType, Int32, String)

추적 정보, 메시지 및 이벤트 정보를 출력 파일 또는 스트림에 씁니다.

TraceEvent(TraceEventCache, String, TraceEventType, Int32)

추적 및 이벤트 정보를 수신기별 출력에 씁니다.

(다음에서 상속됨 TraceListener)
TraceTransfer(TraceEventCache, String, Int32, String, Guid)

추적 정보, 메시지, 관련 활동 ID 및 이벤트 정보를 수신기별 출력에 씁니다.

(다음에서 상속됨 TraceListener)
Write(Object, String)

클래스를 구현 TraceListener 할 때 만든 수신기에 범주 이름과 개체 메서드 값을 ToString() 씁니다.

(다음에서 상속됨 TraceListener)
Write(Object)

클래스를 구현 TraceListener 할 때 만든 수신기에 개체 메서드의 ToString() 값을 씁니다.

(다음에서 상속됨 TraceListener)
Write(String, String)

클래스를 구현 TraceListener 할 때 만든 수신기에 범주 이름과 메시지를 씁니다.

(다음에서 상속됨 TraceListener)
Write(String)

추가 컨텍스트 정보 없이 축자 메시지를 디스크에 씁니다.

WriteIndent()

이 클래스를 구현할 때 만든 수신기에 들여쓰기를 쓰고 속성을 false다시 설정합니다NeedIndent.

(다음에서 상속됨 TraceListener)
WriteLine(Object, String)

클래스를 구현 TraceListener 할 때 만든 수신기에 범주 이름 및 개체 메서드의 ToString() 값을 쓴 다음 줄 종결자를 씁니다.

(다음에서 상속됨 TraceListener)
WriteLine(Object)

클래스를 구현 TraceListener 할 때 만든 수신기에 개체 메서드의 ToString() 값을 쓴 다음 줄 종결자를 씁니다.

(다음에서 상속됨 TraceListener)
WriteLine(String, String)

클래스를 구현 TraceListener 할 때 만든 수신기에 범주 이름 및 메시지를 쓴 다음 줄 종결자를 씁니다.

(다음에서 상속됨 TraceListener)
WriteLine(String)

추가 컨텍스트 정보 없이 축자 메시지를 디스크에 쓴 다음 현재 줄 종결자를 씁니다.

적용 대상

추가 정보