Журналы: Журналы доступа к веб-сайтам (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>
