다음은 애플리케이션 블록 파일 이름 변경 기록의 난제를 해결하는 데 도움이 되는 몇 가지 간단한 기술입니다.

안녕하세요,
파일에 대한 추적을 작성하기 위해 설립 라이브러리를 사용하고 있습니다. 나는 같은 것을 준다
app.config의 헤드폰 입력. 수정 기록을 알고 싶습니다.
런타임에 추적 파일. 누군가 이 작업을 수행하는 방법을 알려주십시오.
같은.

이제 추적 로그의 해당 디렉토리가
런타임 및 파일 연결. 문서의 제목은 당신을 만들지 않습니다
나와 함께 귀하의 현재 응용 프로그램의 주요 출시입니다. 시스템 2e를 시작할 때
응용 프로그램을 지향하는 파일의 새 경로를 곱합니다. 구성이 확실히 조정되고 작동하는
나는 app.File 구성과 코드 스니펫을 추가했습니다.
app.config 파일을 편집합니다.

<구성 섹션>
<섹션 이름 = "로깅 구성"
유형은 “Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings,
Microsoft.Practices.EnterpriseLibrary.Logging, 버전 = 2.0.0.0,
문화 = 중립, PublicKeyToken = 0 “/>
<섹션 이름 = "예외 처리"
type = “Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Configuration.ExceptionHandlingSettings,
Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, 버전은 2.0.0.0을 의미합니다.
문화 = 중립, PublicKeyToken은 null “/>


를 의미합니다.<감사>
<추적 추가 가능 = "true"
defaultCategory는 “일반” fileName = “세관
과 같습니다.listenerDataType은 “Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.FlatFileTraceListenerData,
Microsoft.Practices.EnterpriseLibrary.Logging, 버전 = 2.0.0.0,
문화 = 중립, PublicKeyToken = 0 “
유형 = “Microsoft.Practices.EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener,
Microsoft.Practices.EnterpriseLibrary.Logging, 버전은 2.0.0.0을 의미합니다.
문화 = 중립, PublicKeyToken은 null “
이름 = “FlatFile TraceListener” />

<코치>
<추가 템플릿은 "타임스탬프: 타임스탬프
를 의미합니다.메시지: 메시지
카테고리: 카테고리
우선순위: 우선순위
IdentifierEvent Thor: 이벤트 ID
심각도: 심각도
제목: 제목
기계: 기계
범위: appDomain
프로세스 ID: 프로세스 ID
프로세스 이름: 프로세스 이름
Win32 강 win32ThreadId
스레드 ID: 이름: 스레드 이름
고급 기능: 사전(키 – 값
) “

type = “Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter,
Microsoft.Practices.EnterpriseLibrary.Logging, 버전 2.0.0.0,
문화 = 중립, PublicKeyToken은 null “
을 의미합니다.이름 = “텍스트 포맷터” />

<카테고리 소스>
<감사>
<추가 make = "FlatFile TraceListener" />



<특수 출처>

<감사>
<이름 추가 = "FlatFile TraceListener" />






<예외 처리>
<제외 안내>
<이름 추가 = "LogAndThrowPolicy">
<유형 예외>
title = “테스트 예외 처리”
formatterType = “Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.TextExceptionFormatter,
Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, 버전이 2.0.0.0과 같음,
문화 = 중립, PublicKeyToken은 null “Priority = 1 “
입니다.유형은 “Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.LoggingExceptionHandler,
Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging,
버전 = 2.0.0. 문화 = 중립, 0, PublicKeyToken = 0 “이름 = 예외
로그 fx 브로커 “/>


<유형 추가는 "System.Data.SqlClient.SqlException, System.Data,
버전 = 2.0.0.0, 문화는 중립, PublicKeyToken = b77a5c561934e089 “
postHandlingAction은 “NotifyRethrow” 이름 = “SqlException”>
과 같습니다.<예외 핸들러>
제목은 예외 “치료 테스트”와 같습니다.
formatterType은 “Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.TextExceptionFormatter,
Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, 버전 = 2.0.0.0,
문화는 중립과 동일합니다. PublicKeyToken = null “Priority =”최소한 하나”
유형 = “Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.LoggingExceptionHandler,
Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging,
버전은 2.0.0을 의미합니다. 문화 = 중립, 고려, PublicKeyToken = null “name =”이 규칙에 대한 예외
로그 관리자 “/>


<다양한 추가 = "System.ArgumentException, mscorlib, 버전은 2.0.0.0과 동일,
문화 = 중립,
PostHandlingAction은 “NotifyRethrow”를 의미합니다. publickeytoken = b77a5c561934e089 “name =” ArgumentException “>
<예외 핸들러>
title = “테스트 예외 처리”
formatterType = “Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.TextExceptionFormatter,
Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, 계정 = 2.0.0.0,
문화 = 중립, PublicKeyToken = null “Priority = a “
유형 = “Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging.LoggingExceptionHandler,
Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging,
버전 = 2.0.0.0, 문화 = 중립, PublicKeyToken = 0 “이름 = 예외
로그 책임자 “/>






나는 또한
때문에 떠나러 갔다.http://www.codeguru.com/csharp/.net/net_framework/systemnamespace/print.php/c11281__2/
여기서 cs.File 팬을 추가하고 모든 파일의 목적을 변경합니다.
프로그램. 하지만 분류된 집을 바꾸는 다른 방법이 있다면
프로그래밍 방식, 이름, 여기가 내 집임을 알려주세요.

엔터프라이즈 라이브러리 로깅 애플리케이션 엔진 블록을 로깅 방법으로 사용하는 경우 추적 파일을 사용하여 경로와 파일 이름을 역전시킬 수 있습니다. 달리기. 여기에서 app.config 내부의 “filename” 수신기(loggingConfiguration-> 수신기)에 대한 기사를 주문합니다.

<사전 이름은 System.Configuration에서 "코드">
를 의미합니다. Microsoft.Practices.EnterpriseLibrary.Logging.Configuration을 사용하여
;

///

/// 이름을 가진 사람과 관련된 로그 경로 파일을 편집합니다.
///

people void SetTraceLogPath ()

// 로그 파일을 처리합니다.
범위 logFilePath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) +
at ” MyLogs ” + DateTime.Now. ToString(“yyyy-MM-dd”) + “.log”;

ConfigurationFileMap objConfigPath = 새로운 ConfigurationFileMap();

애플리케이션 // 구성 파일에 대한 경로입니다.
appPath 컬렉션이 AppDomain.CurrentDomain.SetupInformation.ConfigurationFile과 일치합니다.
objConfigPath.MachineConfigFilename AppPath;

= 구성 entLibConfig = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

logging application area change filename runtime

는 목재 설정(LoggingSettings) entLibConfig.GetSection(LoggingSettings.SectionName)과 일치합니다.

TraceListenerData traceListenerData = loggingSettings.TraceListeners.Get(“FlatFile TraceListener”);
FlatFileTraceListenerData objFlatFileTraceDataListenerData objFlatFileFileTraceFlatceFlatFileTraceListenerFlatFileTraceListenerData objFlatFileTraceF>

entLibConfig.Save();

logging application block turn filename runtime

그런 다음 다음 방법을 수행하여 주어진 워크와 관련된 예외를 의심할 여지 없이 기록할 수 있습니다. 실제로 로그 파일은 현재 사용자와 같은 내 폴더의 문서에서 얻습니다.

<사전 사용자 이름 = "code">
///

// / 예외 로그.
///

공개 LogException (예외 비어 있음)

string strMessage match sticks string.Empty;
strMessage +는 ex.Message + ” r n”과 같습니다.
strMessage + = ex.StackTrace;

새 LogEntry = LogEntry();
le.Categories.Add(Constants.LoggingCategory.Exception.ToString());
.Severity = TraceEventType.Error;
the.Message = strMessage;
le.Title은 아마도 ex.Message와 같을 것입니다.
the.Priority = 1;

Logger.Write (the);

이것이 내 app.Config 폴더 스타일입니다. FlatFileTraceListener
는 다음과 같이 제작되어야 합니다.

<사전 회사 이름 = "코드"> <섹션 <구성 섹션>
make = “loggingConfiguration” 유형 = “Microsoft.Practices.EnterpriseLibrary.Logging.Configuration.LoggingSettings, Microsoft.Practices.EnterpriseLibrary. 로깅, 버전 = 4.1.0.Culture = 단순, 0, PublicKeyToken = 31bf3856ad364e35 “/>

defaultCategory = ” 일반 “logWarningsWhenNoCategoriesMatch =”authentic “>

하단 =” ——————– — – — ——— ————— “포맷터 =” “
listenerDataType =” Microsoft.Practices.EnterpriseLibrary.Logging. Configuration.FlatFileTraceListenerData , Microsoft .Practices.EnterpriseLibrary.Logging, 버전은 4.1.0.0, 문화 = 중립, PublicKeyToken은 31bf3856ad364e35 “
filter =” All “traceOutputOptions =” ​​None “type =” Microsoft.P ​​ractic을 의미합니다. EnterpriseLibrary.Logging.TraceListeners.FlatFileTraceListener, Mi crossof t.Practices.EnterpriseLibrary.Logging, 버전은 4.1.0.0, 문화 = 중립, PublicKeyToken은 31bf3856ad364e35와 같습니다. “
name = FlatFile>
TraceListener “/
<포맷터>
<템플릿 추가 = "타임스탬프: 타임스탬프메시지: 메시지카테고리: 우선순위이벤트 ID: 카테고리우선순위: eventid 중력: 중력제목: 제목기계: 기계범위: appDomain프로세스 ID: processId 및 번호 xD;프로세스 이름: processNameWin32 스레드 ID: win32ThreadId스레드 이름: 스레드 이름추가 속성: 사전(키 - 값 & # xD;) "
type of =” Microsoft.Practices.EnterpriseLibrary.Logging.Formatters.TextFormatter, Microsoft.Practices.EnterpriseLibrary.Logging, 버전은 4.1.0.0을 의미, 문화 = 중립, PublicKeyToken은 31bf3856ad364e35를 의미합니다. “
name =” 교육 용어 및 표현 “/>


<청취자>



< br> < notProcessed switchValue는 "All" name = "Unprocessed category"를 의미 />