日志记录不适用于 Azure 中的克隆环境

Logging not working on cloned environment in Azure

尝试在 devops stackexchange 上记录这个,但没有任何乐趣 - 所以在这里问。

我通过克隆应用程序插槽、SQL 数据库和存储资源、修改相关的连接字符串和配置参数(已验证)并且所有这些都适用于新的隔离环境。

除了一件事 - blob 日志记录。

我们编写了一个使用 Azure.Storage.Blobs.AzureBlobClient 的应用程序 - 它采用从 Azure 门户提取的连接参数并下载文件。这连接正常并下载了一组 .csv 文件,但不是包含我们的应用程序日志记录的常用 .txt 文件。对于使用相同实际应用程序的其他环境,日志记录可用。

还需要注意的是,当通过 FTP 连接以查看站点文件夹时,LogFiles 文件夹的应用程序子文件夹不存在。

“应用服务日志”和链接的“存储容器”下的所有设置 - 这些都是相同的(但不是同一个存储容器)。

这里还有什么原因?

抓取日志的代码如下:

var blobServiceClient = new BlobServiceClient(ConnectionString);
var container = blobServiceClient.GetBlobContainerClient(ContainerName);
var blobs = container.GetBlobs(prefix: $"appname/{now.Year}/{ZeroPad2(now.Month)}/{ZeroPad2(now.Day)}");

foreach (var blob in blobs)
{
    var parts = blob.Name.Split('/');
    var nameEnd = parts[parts.Length - 2] + "_" + parts[parts.Length - 1];
    var outFileName = Path.Combine(fileOutDir, nameEnd);
    if (File.Exists(outFileName))
    {
        File.Delete(outFileName);
    }

    var a = new BlobBaseClient(ConnectionString, ContainerName, blob.Name);
    using (var fileStream = File.Create(outFileName))
    {
        a.DownloadTo(fileStream);
    }
  

为了帮助任何必须解决此问题的人,在 Azure 门户级别,添加 Azure 日志记录的站点扩展包。