log4net의 조언 given here을 따랐습니다. 그럼 내가 단위 테스트는이 두 줄을 실행하면 Visual Studio 2010에서 Visual Studio 2010에서 'F5'를 쳐서 MSTEST 단위 테스트를 실행하고 있습니다 ".이"Visual Studio에서 OutputDebugStringAppender가 작동하지 않습니다.
log.Warn("hello"); //this is a log4net logger.
System.Diagnostics.Debug.Write("there");
... Visual Studio 출력 창은 단어를 보여줍니다 "안녕하세요"가 출력되지 않는 이유는 무엇입니까?
나는 '로그'변수 오버 호버 디버깅
, 그것은 나에게 보여줍니다이에서IsDebugEnabled = false
IsErrorEnabled = true
IsFatalEnabled = true
IsInfoEnabled = false
IsWarnEnabled = true
내가 구성 파일이 제대로 읽고있는 것으로 결론 지었다. 내 log4net 구성은 다음과 같다 : 내가 추가 FileAppender를 추가 할 때, 그것은 생성 파일이 실제로 거기에 "안녕하세요"라는 메시지가 않습니다
<log4net>
<appender name="A1" type="log4net.Appender.OutputDebugStringAppender">
<!-- A1 uses PatternLayout -->
<layout type="log4net.Layout.PatternLayout">
<!--<conversionPattern value="%-4r [%t] %-5p %c %x - %m%n" />-->
<conversionPattern value="[MySite] %level %date{HH:mm:ss,fff} - %message%n" />
</layout>
</appender>
<root>
<level value="WARN" />
<appender-ref ref="A1" />
</root>
</log4net>
. VS 디버그 출력 창이 "안녕하세요"를 표시하지 않는 단서가 있습니까?
AARRGGHHH !! 너무 가까이서, 그러나 멀리! DebugAppender가 작동하고 완벽한 솔루션이 될 것입니다. 단, 모든 로그 항목 앞에 로거 이름이 붙어야한다는 점이 다릅니다. DebugAppender에서 설정할 수있는 속성이 없으면 설정하지 않기를 요청합니다. –
@MickyD 지금 수정되었습니다. – sgmoore
Splendid. 고마워요, 선생님 :) +1 – MickyD