3

ここで与えられたlog4netのアドバイスに従いました。次に、Visual Studio 2010 で「F5」を押して、MsTest 単体テストを起動します。単体テストで次の 2 行が実行されると、次のようになります。

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構成は次のようになります。

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

追加の FileAppender を追加すると、作成されるファイルには実際に「hello」メッセージが含まれます。VS デバッグ出力ウィンドウに「hello」が表示されない理由の手がかりはありますか?

4

1 に答える 1