2017-02-20 8 views
0

예외 상황에서 데이터베이스에 로그인해야하는 추가 속성을 사용 중입니다. 추가 속성 사용에 대해서는이 링크에서 확인하십시오. https://www.codeproject.com/articles/140911/log4net-tutoriallog4net의 추가 속성이 비어 있는지 확인하는 방법

해당 속성이 초기화되지 않은 경우 webconfig에 체크를 추가하고 싶습니다. 해당 속성이 초기화 된 경우 다른 작업을 수행하십시오. 어떻게 그럴 수 있습니까? 댓글의

:

log4net.ThreadContext.Properties [ "속성 1"] = someval; 어떤 경우에는이 속성을 설정합니다. 하지만 % property {Property1}을 사용하면 설정 한 값을 표시합니다. 그러나 값을 지정하지 않은 경우에는 데이터베이스 열에 (null)을 기록합니다. null 값을 피하고 빈 공간을 추가하는 방법은 무엇입니까?

+0

보여주십시오

log4net.Util.SystemInfo.NullText = string.Empty; 

하는 것으로를 ** 당신의 ** 코드 대신에 링크의 자습서를 읽고 올바르게하려는 것을 설명하십시오. – stuartd

+0

@stuartd : log4net.ThreadContext.Properties [ "Property1"] = someval; 일부 경우이 속성을 설정합니다. 하지만 % property {Property1}을 사용하면 설정 한 값의 값이 표시됩니다. 그러나 값을 지정하지 않은 경우에는 데이터베이스 열에 (null)을 기록합니다. null 값을 피하고 빈 공간을 추가하는 방법은 무엇입니까? –

답변

1

항목의 캐릭터 라인 표현을 출력하면서 사용 NullText property.

사용이 널을 표시하기 위해이 값이 발생했습니다.

기본값은 (null)입니다. 이 값은 응용 프로그램의 .config 파일에서 log4net.NullText appSetting 값을 지정하여 무시할 수 있습니다.

당신은 설정이 설정할 수 있습니다

<appSettings> 
    <add key="log4net.NullText" value="" /> 
</appSettings> 

또는 코드 : if you are using an old version of log4net then the value has to be a single space rather than empty.

+0

이것은 현재 질문에 대한 답변입니다. 다른 질문이 있으면 다른 질문을하십시오. – stuartd

+0

Stuartd 내가 log4net의 최신 (2.0.8) 버전을 사용하고 있으며 위에서 언급 한 앱 설정을했지만 여전히 빈 문자열 대신 로그에 (null)이 표시됩니다. 코드를 –

+0

@KamranShahid로 설정하고 싶지 않다면 새로운 질문을하십시오. – stuartd