代码之家  ›  专栏  ›  技术社区  ›  Frank Fu

如何在使用本地缓存功能时清除Azure Web应用程序上的诊断日志?

  •  1
  • Frank Fu  · 技术社区  · 6 年前

    我目前正在Azure的app服务上托管一个ASP.NET MVC Web应用程序,并且有选择地选择使用他们的 App Service Local Cache feature 因为我的应用不需要写入本地文件系统。

    这提高了我的web应用程序的性能,但我逐渐意识到,当一个文件系统(尽管有应用程序设置)很快填满本地文件系统时 "WEBSITE_HTTPLOGGING_RETENTION_DAYS": "2" 有99MB的配额(不知道为什么我不能在AppSettings中看到这个?)开始 App > Diagnostic Logs 区域。

    The documentation says 它确实修改了日志文件的存储方式,但没有提到如何删除它们。

    • Web应用程序可以像当前一样继续写入日志文件和诊断数据。但是,日志文件和数据存储在本地 在虚拟机上。然后定期将它们复制到共享的 内容存储。复制到共享内容存储区是最好的情况 努力——由于虚拟机突然崩溃,写回可能会丢失
      实例。
    • 使用本地缓存的web应用的日志文件和数据文件夹的文件夹结构发生更改。现在有子文件夹
      在存储日志文件和数据文件夹中
      “唯一标识符”模式+时间戳。每个子文件夹
      对应于web应用正在运行或已运行的虚拟机实例。

    这已经通过Kudu控制台上的一个快速Powershell命令得到了证实 D:\home\logfiles 目录。

    PS D:\home\logfiles> Get-ChildItem | Sort LastWriteTime
    Get-ChildItem | Sort LastWriteTime
    
    
    Mode                LastWriteTime   Name              
    ----                -------------   --------------------------
    d-----       11/28/2017   1:52 AM   http                          
    d-----       11/28/2017   4:42 AM   kudu                          
    d-----       11/28/2017   4:46 AM   SiteExtensions                
    d-----        12/1/2017   1:26 AM   Application                   
    d-----        12/1/2017   1:26 AM   Monaco                        
    d-----         3/7/2018   3:37 PM   5198ab_18_03_03_06_28_59      
    d-----         3/7/2018   4:03 PM   907c1a_18_03_06_06_44_22      
    d-----         3/8/2018   3:59 PM   5198ab_18_03_07_14_25_08      
    d-----         3/8/2018   3:59 PM   ff0fc5_18_03_07_11_46_16      
    d-----         3/8/2018   4:02 PM   0c1a69_18_03_07_08_14_26      
    d-----         3/8/2018   4:03 PM   a9316b_18_03_08_04_25_31            
    d-----         3/9/2018   4:02 PM   5e5ff2_18_03_08_08_44_41      
    d-----         3/9/2018   4:02 PM   c87157_18_03_09_03_50_23      
    d-----        3/10/2018   6:18 AM   0c1a69_18_03_09_18_29_49      
    d-----        3/10/2018  10:32 AM   1440de_18_03_09_11_09_37
    ... <Excluded for brevity>
    ... <Excluded for brevity>      
    d-----        7/31/2018  12:33 PM   fe780a_18_07_30_03_36_41      
    d-----        7/31/2018   4:02 PM   f713f0_18_07_31_04_13_17      
    d-----        7/31/2018   4:03 PM   2a1ef5_18_07_30_23_18_41      
    d-----         8/1/2018   4:17 PM   7254a1_18_07_31_08_14_27      
    d-----         8/1/2018   4:18 PM   c01540_18_08_01_02_17_00      
    d-----         8/1/2018   4:18 PM   bcecd7_18_07_31_09_41_33      
    d-----         8/1/2018   4:18 PM   11e825_18_07_31_16_28_38      
    d-----         8/2/2018   6:18 AM   2ee8db_18_08_01_17_19_18      
    d-----         8/2/2018   6:18 AM   6ba224_18_08_01_04_13_34      
    d-----         8/2/2018  10:33 AM   dca085_18_08_01_04_14_00      
    d-----         8/2/2018  10:33 AM   6ead4a_18_08_01_11_08_46      
    d-----         8/2/2018  12:32 PM   4c87a3_18_08_02_00_07_21      
    d-----         8/2/2018  12:33 PM   faf4de_18_07_28_16_57_44      
    d-----         8/2/2018   4:21 PM   46b00f_18_07_31_23_36_35      
    d-----         8/2/2018   4:21 PM   52a38c_18_08_01_11_02_26      
    d-----         8/3/2018  12:33 PM   bcecd7_18_08_01_07_50_23      
    d-----         8/3/2018   4:02 PM   8eac1e_18_08_03_02_32_24      
    d-----         8/5/2018   2:35 PM   2341b7_18_08_03_04_15_08      
    d-----         8/6/2018  12:16 AM   0d1e3e_18_08_02_09_30_34      
    d-----         8/6/2018  12:17 AM   540bec_18_08_01_10_02_30      
    d-----         8/6/2018  11:04 AM   3952e0_18_08_05_20_58_56      
    d-----         8/6/2018  11:59 AM   NewRelic  
    

    我的环境设置是

    "WEBSITE_LOCAL_CACHE_OPTION" : "Always"
    "WEBSITE_LOCAL_CACHE_SIZEINMB" : "1800"
    "WEBSITE_HTTPLOGGING_RETENTION_DAYS": "2"
    "WEBSITE_LOCALCACHE_READY": "TRUE"
    

    所以问题是

    1) 如何定期删除 "unique identifier" + time stamp 文件夹,例如。 3952e0_18_08_05_20_58_56 ?

    2)我如何能尊重我的诊断设置,例如保留2天,最大限额为99 MB?

    0 回复  |  直到 6 年前