摘要
我正在尝试对在Azure中创建的Web应用程序服务进行故障排除。该应用程序是一个将React作为前端运行的.Net Core 3.0 Preview 3 Web应用程序。已使用.NET Core 3.0扩展程序设置了Azure Web应用程序。
问题是未记录日志(System.Diagnostics.Trace.TraceInformation / TraceError)。
代码示例
在Startup.cs中,我有以下内容:
#define TRACE
///SOME USINGS...
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlite(
Configuration.GetConnectionString("DefaultConnection")));
services.AddDefaultIdentity<ApplicationUser>()
.AddDefaultUI(UIFramework.Bootstrap4)
.AddEntityFrameworkStores<ApplicationDbContext>();
string certPath = Env.ContentRootPath + "/example.pfx";
X509Certificate2 cert=GetMyX509Certificate(certPath, "RunAzTech123"); //in case we want to get the cert from the registry
services.AddIdentityServer()
.AddApiAuthorization<ApplicationUser, ApplicationDbContext>()
.AddSigningCredential(cert);
services.AddAuthentication()
.AddIdentityServerJwt();
services.AddMvc()
.AddNewtonsoftJson();
// In production, the React files will be served from this directory
services.AddSpaStaticFiles(configuration =>
{
configuration.RootPath = "ClientApp/build";
});
}
private X509Certificate2 GetMyX509Certificate(string pfxFilePath, string password,X509KeyStorageFlags sFlags = X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.EphemeralKeySet)
{
try
{
System.Diagnostics.Trace.TraceInformation($"AZTECH!!! TRYING TO GET THE CERTIFICATE");
return new X509Certificate2(File.ReadAllBytes(pfxFilePath), password, sFlags);
}
catch (PlatformNotSupportedException ex)
{
System.Diagnostics.Trace.TraceError($"AZTECH!!! {ex.Message}");
if(sFlags.HasFlag(X509KeyStorageFlags.EphemeralKeySet))
{
return GetMyX509Certificate(pfxFilePath,password,X509KeyStorageFlags.MachineKeySet);
} else
{
return null;
}
}
catch (Exception ex)
{
System.Diagnostics.Trace.TraceError($"AZTECH!!! {ex.Message}");
return null;
}
}
天蓝色设置
当前未以这种方式设置,但我也使用Blob Storage进行了尝试。没有记录日志。
我尝试流式传输日志(日志流),下载日志(终端-> az webapp日志下载--resource-group [groupName] --name [appName]),并使用Kudu({{3} }。但是没有日志出现,而Kudu告诉我该应用已停止:
https://[appName].scm.azurewebsites.net
我没有帐单限制,该应用程序正在运行,而且我不确定自从今天创建该应用程序以来我将如何使用资源配额。
尝试过的解决方案
已使用的资源