using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Threading.Tasks; using Microsoft.AspNetCore; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Logging; using NLog; using NLog.Web; namespace NLogStudy.CoreWeb2.UseMySQL { public class Program { public static void Main(string[] args) { CreateWebHostBuilder(args).Build().Run(); } public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup() .ConfigureLogging((hostBuild,logBuild) => { logBuild.ClearProviders(); logBuild.SetMinimumLevel(Microsoft.Extensions.Logging.LogLevel.Trace); string connectString= hostBuild.Configuration.GetValue("ConnectionStrings:NLog"); //设置数据库连接字符串方法1:使用变量 //nlog配置文件中:connectionString="${var:connectionString}" //NLog.LogManager.Configuration.Variables["connectionString"] = connectString; //设置数据库连接字符串方法2:代码配置Target属性 NLog.LogManager.Configuration.FindTargetByName("MySQLTarget").ConnectionString = connectString; //设置数据库连接字符串方法3:全局诊断字典(测试不通过) //GlobalDiagnosticsContext.Set("connectionString", connectString); }) .UseNLog(); } }