.NET7 ASP.NET Core WebApi日志配置:Dev写文件,Azure部署用Application Insights
.NET7 ASP.NET Core WebApi 多环境日志配置方案
针对开发环境用NLog写入文件、Azure部署后用Application Insights记录日志的需求,按以下步骤配置:
1. 安装依赖包
- 开发环境日志依赖:安装
NLog.Web.AspNetCoreNuGet包 - Azure环境日志依赖:安装
Microsoft.ApplicationInsights.AspNetCoreNuGet包
2. 编写环境感知的日志注册逻辑
在Program.cs中,根据当前运行环境(通过ASPNETCORE_ENVIRONMENT环境变量判断),分别注册不同的日志服务:
var builder = WebApplication.CreateBuilder(args); // 添加WebApi核心服务 builder.Services.AddControllers(); // 根据环境配置日志服务 var env = builder.Environment; if (env.IsDevelopment()) { // 开发环境:清空默认日志提供器,启用NLog文件日志 builder.Logging.ClearProviders(); builder.Host.UseNLog(); } else { // 非开发环境(Azure部署):启用Application Insights日志 builder.Services.AddApplicationInsightsTelemetry(); } var app = builder.Build(); // 中间件配置 app.UseAuthorization(); app.MapControllers(); app.Run();
3. 配置NLog(开发环境)
在项目根目录添加nlog.config文件,配置日志写入本地文件的规则,并将文件属性设置为始终复制(右键文件→属性→复制到输出目录→始终复制)。示例配置如下:
<?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" autoReload="true" internalLogLevel="Info" internalLogFile="logs/nlog-internal.log"> <!-- 日志目标:按日期分割写入本地文件 --> <targets> <target name="file" xsi:type="File" fileName="logs/${shortdate}.log" layout="${longdate} ${level} ${message} ${exception:format=ToString}" /> </targets> <!-- 日志规则:所有级别日志写入文件目标 --> <rules> <logger name="*" minlevel="Trace" writeTo="file" /> </rules> </nlog>
4. 配置Application Insights(Azure部署环境)
- 在Azure门户创建Application Insights资源,获取连接字符串(推荐使用,替代旧版Instrumentation Key)
- 在项目的
appsettings.Production.json中添加Application Insights配置:
{ "ApplicationInsights": { "ConnectionString": "你的Application Insights连接字符串" }, "Logging": { "LogLevel": { "Default": "Information", "Microsoft.AspNetCore": "Warning" } } }
5. 部署到Azure的注意事项
- 部署时确保Azure App Service的
ASPNETCORE_ENVIRONMENT环境变量设置为Production(或其他非Development的值),可在App Service的「配置→应用程序设置」中配置 - 也可以直接在Azure App Service的配置中设置
ApplicationInsights__ConnectionString,覆盖配置文件中的值,实现更灵活的配置管理
内容的提问来源于stack exchange,提问作者Luiso
相关产品推荐
相关产品推荐

