2

我的 nLog 布局如下

  fileTarget.Layout =  "${date}  ${message}";

在我的代码中,我正在记录如下

  logger.Info("ORDER UPDATE",order.Name,order.Instrument,order.OrderState);

但是它只记录第一个字符串,例如。

11/22/2012 22:37:16  ORDER UPDATE
11/22/2012 22:37:16  ORDER UPDATE
11/22/2012 22:37:16  ORDER UPDATE
11/22/2012 22:37:16  ORDER UPDATE

我很确定我的布局中遗漏了一些东西,但不知道如何修复它。有人可以指出我的错误吗?

4

3 回答 3

5

或者您可以使用string.Format(ie Console.WriteLine) 样式来期待令牌替换,这可能是您打算使用的:

logger.Info("ORDER UPDATE: Name = {0}; Instrument = {1}; State = {2} ", order.Name, order.Instrument, order.OrderState);

Logger而不是假设每个请求的消息数量相同。

于 2013-04-02T19:34:12.970 回答
3

要保存所有字符串,您应该首先将它们连接起来。如我所见,您的记录器仅识别第一个,因此您应该添加其他需要使它们成为一个字符串的字符串,因为您实际上是在记录一个字符串,而不是多个。或者更新您的记录器以识别大量字符串,我的意思是这样的:fileTarget.Layout = "${date} ${message1} ${message2} ${message3} ${message4}";

于 2012-11-23T04:11:09.517 回答
0

你能做类似的事情:

Info("ORDER UPDATE: " + order.Name + ", " + order.Instrument + ", " + order.OrderState);
于 2012-11-23T04:11:01.230 回答