如何解决StringFormat 期间出现异常:输入字符串的格式不正确
我正在使用 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,"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);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。