2016-11-15 7 views
0

ログファイルに書き込むときに、ドキュメントや他の人によると、String.Format()アプローチを使用する必要があります。たとえば、ドキュメントから:ログファイルへのNLog書き込みで文字列形式が保持されない

int k = 42; 
int l = 100; 

logger.Trace("Sample trace message, k={0}, l={1}", k, l); 

私は、次のコードを持っている:

Logger.Info("Server={0}, Port={1}, Interval(ms)={2}, Username={3}, Checking folder={4}", 
       Config.Server, Config.Port, Config.Username, Config.CSVFolder); 

を...しかし、ログファイルに出力されます。つまり

2016-11-15 11:40:32.4472 INFO Server={0}, Port={1}, Interval(ms)={2}, Username={3}, Checking folder={4} 

パラメータは置き換えられていません。 Config.Serverなどには正しい値があり、それぞれstring、int、string、stringです。

私はドキュメントや例から何かすべきことは他にありません。

答えて

0

私が見ることができる唯一の間違ったことは、パラメータの数が間違っている...多分NLogは同じでない場合は動作しませんか?

+0

OMG私はクレチンです。 –

+0

さらに、NLogは 'String.Format'を内部的に使用しているので、そのメソッドの境界に限定されています。 'String.Format'は、引数がない場合に' FormatException'をスローします。 (これはNLogの内部ログに表示されるはずです) – Julian

関連する問題