×
Техническая документация: Хостинг

Журналы доступа к веб-сайтам (access_log)

Протокол доступа (access_log)

Протоколы доступа будут помещаться в каталог log/w3svc#### (где #### — номер вашего Web-сайта по внутренней классификации IIS) в папке с названием вашего домена. Если ваш домен называется domain.tld, то протоколы вы найдете в папке domain.tld/log/w3svc####.

Лог-файлы наполняются в реальном времени и имеют названия вида u_exГГММДД.log (где ГГ — год, ММ — месяц, ДД — день создания лог-файла). По умолчанию лог-файлы старше 7-ми дней удаляются автоматически, и вы не можете удалить их самостоятельно.

Настройка ротации журналов доступа

Для экономии места на виртуальной площадке можно изменить время ротации журналов доступа, клиентам виртуального Windows-хостинга дана соответствующая возможность в личном кабинете. Изменить время хранения журналов (ротацию) можно в Древе услуг, для чего выберите необходимый домен и измените характеристику «параметры домена», задав нужное количество суток в пункте «Срок хранения логов».

Скрипт для просмотра журналов доступа

Вы можете смотреть текущий протокол доступа к домену разместив на площадке два *.ASP файла с содержанием:

  • ReadLogs.ASP

    <html>
    <title>List Log files</title>
    <body>
    <%
    Set oFileSystem = Server.CreateObject("Scripting.FileSystemObject")
    
    Set oFolder = oFileSystem.GetFolder(Server.MapPath("/";)
    & "\..\Log\w3svc" & Request.ServerVariables("INSTANCE_ID"))
    
    Response.Write "Log folder = """ & oFolder.Path & "<br><br>"
    
    for each oFile in oFolder.Files
    Response.Write "<a href=""read.asp?file=" & oFile.Name &
    """>" & oFile.Name & "</a>"
    next
    %>
    </body>
    </html>
  • Read.ASP

    <html>
    <Title>LogFile</title>
    <body>
    <%
    Const ForReading = 1
    Const ForWriting = 2
    
    Set oFileSystem =
    Server.CreateObject("Scripting.FileSystemObject")
    
    sFileName = Server.MapPath("/") & "\..\Log\w3svc" &
    Request.ServerVariables("INSTANCE_ID")
    & "\" & Request.QueryString("file")
    
    Response.Write "<H1>" &
    oFileSystem.GetBaseName(sFileName) & "</H1><br><br>"
    
    Set oFile = oFileSystem.OpenTextFile(  sFileName ,
    ForReading )
    
    bTableOpen = False
    
    While Not oFile.AtEndOfStream
      sLine = oFile.ReadLine
      if NOT Left(sLine,1) = "#" Then
         if bTableOpen then
            Response.Write "<tr>"
            for each sField in Split(sLine)
                if sField = "-" Then
                    Response.Write "<td nowrap></td>"
                else
                    Response.Write "<td nowrap>" & sField & "</td>"
                end if
            next
            Response.Write "</tr>"
         else
            Response.Write sLine & "<br>"
         end if
      elseif Left(sLine, 8 ) = "#Fields:" then
         if bTableOpen then Response.Write "</table>"
         Response.Write "<table cellpadding=""0""
    cellspacing=""0"" border=""1"" width=""100%""><tr>"
    
         for i = 1 to UBound(Split(sLine))-1
            Response.Write "<td bgcolor=""silver"" nowrap>"
    & Split(sLine)(i) & "</td>"
         next
         Response.Write "</tr>"
         bTableOpen = True
      End if
    Wend
    
    oFile.Close
    %>
    </body>
    </html>