不知道您有没有发现上面这几个例子中日志输出的时候都有个数字 [0], 它是事件的标识符。因为上面的例子中我们没有指定事件的ID,所以就取默认值0。使用事件ID还是可以帮助我们区分和关联记录的日志的。...记录的日志信息是可以带参数的, 使用消息模板(也就是消息主题和参数分开), 格式如下:
?
同样也支持字符串插值:
?
第二种方式代码的可读性更强一些, 而且它们输出的结果没有什么区别:
?...通过消息模板的方式(消息和参数分开的方式), 日志提供商可以实现语义日志或叫做结构化日志, 它们可以把参数单独的出入到日志系统里面进行单独存储, 不仅仅是格式化的日志信息....所以, 我可以不采用这个构建模式创建IWebHost, 改为直接new一个:
?
?
这样就正确了. 可以看到日志信息的第一行内容是一样的, 第二行是各自的日志信息....这类Model会到达程序的边界, 作为Controller的输入, 然后Controller把它们串行化之后再输出.
?