文章(Monitor and diagnose Azure Service Fabric applications)表示以下内容(请注明粗体文字):
ASP.NET核心日志记录
选择如何检测代码可能很困难,如果选择不当并且必须重新检测,那么您正在重新审视并可能破坏代码库的稳定性。为降低风险,开发人员可以选择一个检测库,例如ASP.NET Core提供的Microsoft.Extensions.Logging。这提供了一个ILogger接口,允许使用您选择的提供程序,同时最大限度地减少对现有代码的影响。另一个不错的方面是代码不仅可以在Windows和Linux上的.NET Core中使用,而且还可以在完整的.NET框架中使用,从而能够跨.NET标准化您的仪器代码和.NET Core。
这应该如何工作,因为当我尝试添加扩展库(到编译为.net framework 4.5.2的服务结构集群应用程序项目)时,它试图关闭所有与asp.net核心相关的二进制文件?
答案 0 :(得分:7)
@LoekD的回答绝对正确。这是一个.NET Framework示例,说明如何将Microsoft Extentions Logging框架与Serilog一起使用。
public class Program
{
private static void Main()
{
// instantiate and configure logging. Using serilog here, to log to console and a text-file.
var loggerFactory = new Microsoft.Extensions.Logging.LoggerFactory();
var loggerConfig = new LoggerConfiguration()
.WriteTo.Console()
.WriteTo.File("logs\\myapp.txt", rollingInterval: RollingInterval.Day)
.CreateLogger();
loggerFactory.AddSerilog(loggerConfig);
// create logger and put it to work.
var logProvider = loggerFactory.CreateLogger<Program>();
logProvider.LogDebug("debiggung");
}
}
需要Microsoft.Extensions.Logging,Serilog.Extentions.Logging和Serilog.Sinks.File NuGet包。
答案 1 :(得分:3)
这意味着库'Microsoft.Extensions.Logging'是针对netstandard(1.1)编译的,这意味着它可以被完整框架(4.5+)应用程序和dotnet核心应用程序使用。
添加net标准元数据包会引入一堆dependencies,但由于您的项目是针对完整框架的,因此您的服务实际上不会使用它们。