StringFormat 期间出现异常:输入字符串的格式不正确
Exception during StringFormat: Input string was not in a correct format
我正在使用 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
这个字符串格式的异常似乎是由于 { 和 } 字符引起的,您可能需要将它们转义或用另一个合适的字符替换它们。
@ruzgarustu 的回答帮助我确定了问题的根本原因。
我通过以下代码解决了这个问题。所以基本上我已经删除了括号。
AppLogger.InfoFormat(message.Trim('{', '}'), args);
你使用了错误的方法,使用 AppLogger.Info(message)
而不是 AppLogger.InfoFormat(message, args)
我正在使用 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
这个字符串格式的异常似乎是由于 { 和 } 字符引起的,您可能需要将它们转义或用另一个合适的字符替换它们。
@ruzgarustu 的回答帮助我确定了问题的根本原因。
我通过以下代码解决了这个问题。所以基本上我已经删除了括号。
AppLogger.InfoFormat(message.Trim('{', '}'), args);
你使用了错误的方法,使用 AppLogger.Info(message)
而不是 AppLogger.InfoFormat(message, args)