FileLogTraceListener 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
로깅 출력을 파일로 전송하는 간단한 수신기를 제공합니다.
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 필요에 따라 매일 또는 애플리케이션별로 로그 파일을 보관하는 자동화된 유지 관리 기능을 제공합니다. 이 자동 보관 기능은 개발자와 관리자의 유지 관리 책임을 줄이는 데 도움이 됩니다.
로깅에서 텍스트 파일로 출력을 Debug.Listeners 리디렉션하기 위해 인스턴스 FileLogTraceListener 를 컬렉션에 Trace.Listeners 추가할 수 있습니다. 이 클래스의 인스턴스는 Visual Basic 애플리케이션에 추가 My.Application.Log 하거나 My.Log (웹 애플리케이션의 경우) 추가할 수도 있습니다. 자세한 내용은 연습: My.Application.Log에서 정보를 쓰는 위치 변경을 참조하세요.
이 클래스의 주요 기능은 다음과 같습니다.
보관 기능. 이 클래스에서 생성된 로그 파일의 이름은 로그 파일과 로그의 연속 버전을 구분하는 숫자와 함께 기본 이름 및 날짜에 따라 지정됩니다. 새 로그 파일은 필요에 따라 만들어집니다.
파일 이름의 명시적 형식은
baseName다음과 같은 [-dateStamp][-version].log.- 파트는
baseName속성으로 지정된 기본 로그 이름입니다 BaseFileName . - 파트의 형식은
dateStamp"YYYY-MM-DD"이며, 있는 경우 LogFileCreationScheduleDaily 또는 Weekly다음과 같이 표시됩니다. - 동일한
baseNamedateStamp로그 파일이 둘 이상 필요한 경우 해당version파트는 양수Integer로 파일 이름에 추가됩니다.
- 파트는
여러 클래스 인스턴스. 클래스의 인스턴스가 FileLogTraceListener 사용 중인 파일에 쓰는 경우:
- 클래스는 동일한 프로세스에서 클래스의 FileLogTraceListener 다른 인스턴스에서 사용되는 경우 파일을 공유합니다.
- 클래스는 다른 프로세스에서 파일을 사용하는 경우 사용 가능한 다음 이름을 사용하여 새 로그 파일을 만듭니다.
스레드 안전성. 클래스는 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 | |
| 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() |
이 클래스를 구현할 때 만든 수신기에 들여쓰기를 쓰고 속성을 |
| WriteLine(Object, String) |
클래스를 구현 TraceListener 할 때 만든 수신기에 범주 이름 및 개체 메서드의 ToString() 값을 쓴 다음 줄 종결자를 씁니다. (다음에서 상속됨 TraceListener) |
| WriteLine(Object) |
클래스를 구현 TraceListener 할 때 만든 수신기에 개체 메서드의 ToString() 값을 쓴 다음 줄 종결자를 씁니다. (다음에서 상속됨 TraceListener) |
| WriteLine(String, String) |
클래스를 구현 TraceListener 할 때 만든 수신기에 범주 이름 및 메시지를 쓴 다음 줄 종결자를 씁니다. (다음에서 상속됨 TraceListener) |
| WriteLine(String) |
추가 컨텍스트 정보 없이 축자 메시지를 디스크에 쓴 다음 현재 줄 종결자를 씁니다. |