【发布时间】:2021-05-13 07:02:22
【问题描述】:
我正在使用 log4net 在我的 .net 应用程序中记录信息,它按预期工作,但没有记录以下字符串
{"SuccessfulMessage":null,"FailedMessage":null,"InvalidMessage":"ID 1234 are invalid","PendingMessage":null,"AlreadyProcessedMessage":null,"InvalidIDMessage":null,"InvalidOperatorMessage":null}
当我尝试记录上述字符串时,它会记录以下内容。
<log4net.Error>Exception during StringFormat: Input string was not in a correct format. <format>{"SuccessfulMessage":null,"FailedMessage":null,"InvalidMessage":"ID 1234 are invalid","PendingMessage":null,"AlreadyProcessedMessage":null,"InvalidIDMessage":null,"InvalidOperatorMessage":null}</format><args>{}</args></log4net.Error>
我正在使用下面的代码来写日志。
private ILog AppLogger { get; set; }
AppLogger.InfoFormat(message, args)
Log4net 版本: 2.0.8.0
【问题讨论】:
-
如果您的
args为空,那么您只需致电AppLogger.Info(message)。如果您确实有 args,那么您需要了解InfoFormat采用类似于String.Format的参数。所以你的message需要像"{0} for arg[0], {1} etc."这样的字符串,对于至少有2 个项目的args。