2012-03-28 28 views
0

NLogを稼働させる運がない。 tutorialを介して作業していますが、私はそこに見られるように正確なコードを持っています。NLogを動作させることができません

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using NLog; 

namespace NLog2 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      var c = new MyClass(); 
      c.MyMethod1(); 
     } 
    } 

    public class MyClass 
    { 
     private static Logger logger = LogManager.GetCurrentClassLogger(); 

     public void MyMethod1() 
     { 
      logger.Trace("Sample trace message"); 
      logger.Debug("Sample debug message"); 
      logger.Info("Sample informational message"); 
      logger.Warn("Sample warning message"); 
      logger.Error("Sample error message"); 
      logger.Fatal("Sample fatal error message"); 

      // alternatively you can call the Log() method 
      // and pass log level as the parameter. 
      logger.Log(LogLevel.Info, "Sample fatal error message"); 
     } 
    } 
} 

(NLog.configという名前の)私の設定ファイルは、次のようになります...

<?xml version="1.0" encoding="utf-8" ?> 
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 

    <targets> 
     <target name="logfile" xsi:type="File" fileName="file.txt" /> 
    </targets> 

    <rules> 
     <logger name="*" minlevel="Info" writeTo="logfile" /> 
    </rules> 
</nlog> 

私は何も出力を取得していません。誰か問題がここにあるのを見ることができますか?

+0

'' nlog'要素に 'throwExceptions =" true "'と 'internalLogFile =" nlog.txt "internalLogLevel =" Trace "を設定してください。出力ディレクトリにコピーしてください。内部ログファイルに何かが表示されるかもしれません... binディレクトリの 'NLog.config'ですか? – nemesv

答えて

3

ダムの間違い。私は出力ディレクトリにコピーする設定ファイルを設定していませんでした。

+0

これは確信していますが、NLog.configをビルド時に自動的に出力フォルダにコピーするにはどうすればよいですか? –

+2

@WebUser:ソリューションエクスプローラでファイルを選択し、 'Build Action'が 'Content'に設定されていて、 'Copy to Output Directory'が 'Do not copy'以外に設定されていることを確認してください – DilbertDave

+0

Thanks @DilbertDave ! –

3

Webユーザーの場合、ソリューションエクスプローラのファイルリストにNLog.configがあります。 NLog.configを右クリックし、プロパティを選択します。