如NLog GitHub所述,.Net Core不支持${aspnet-request:serverVariable=String}
布局渲染器。
该文档并未提供serverVariable下许多可用变量的替代方法。
我的问题是,还有其他选择吗?想访问远程地址,服务器名称,端口等吗?还是我只需要编写一堆自定义布局渲染器documented here并通过依赖关系手动注入所有内容?
答案 0 :(得分:1)
对于ASP.NET Core,有许多新的布局呈现器。原因是ASP.NET Core的API非常不同,并且服务器变量无法像在ASP.NET(非内核)中那样读取
ASP.NET Core当前有13个布局渲染,可渲染请求的一部分。
另请参阅https://nlog-project.org/config/?tab=layout-renderers&search=package:nlog.web.aspnetcore
如果您需要其他功能,则可以创建自定义渲染器。如果您需要http请求,则可以使用:
AspNetLayoutRendererBase.Register("aspnet-request-myrenderer", (logevent, httpcontext, config) => ... );
您需要为此参考NLog.Web.AspNetCore包。