Параметры файла журнала по умолчанию для веб-сайтов <logFile>
Общие сведения
Элемент <logFile>
<siteDefaults>
элемента содержит атрибуты, позволяющие настроить ведение журнала по умолчанию для сайта в IIS 7 и более поздних версиях.
Например, можно включить или отключить ведение журнала, настроить формат файла журнала IIS, указать категории сведений для хранения в файле журнала и изменить каталог, в котором хранится файл журнала. Элемент также можно использовать для <logFile>
управления тем, как часто СЛУЖБЫ IIS создают новый файл журнала на основе размера файла журнала или интервала времени и максимального размера (в байтах), которым может стать файл журнала.
По умолчанию СЛУЖБЫ IIS 7 и более поздних версий используют формат файла журнала консорциума W3C. Этот параметр можно изменить, изменив атрибут logFormat на IIS, NCSA или Custom.
Примечание
Ведение журнала ODBC реализовано в виде пользовательского модуля ведения журнала в IIS 7 и более поздних версиях. В результате включение и настройка ведения журнала ODBC в IIS 7 и более поздних версиях состоит из двух отдельных действий:
- Задание атрибутов ведения журнала ODBC в элементе
<odbcLogging>
. Эти атрибуты указывают системное имя источника данных (DSN), имя таблицы, имя пользователя и пароль для подключения ODBC. - Задание правильных настраиваемых атрибутов ведения журнала в
<logFile>
элементе . Эти атрибуты должны задать для файла журнала формат "Пользовательский", а для идентификатора класса пользовательского подключаемого модуля журнала — "{FF16065B-DE82-11CF-BC0A-00AA00611E0}".
Дополнительные сведения о ведении журнала ODBC см. в элементе <odbcLogging>
.
Категории сведений, регистрируемых в iis, можно определить, изменив атрибут logExtFileFlags . Значения по умолчанию: , , , UserName
ClientIP
, Method
ServerIP
, , UriQuery
TimeTaken
UriStem
, HttpStatus
, , Win32Status
, ServerPort
UserAgent
, HttpSubStatus
и .Referer
Time
Date
Примечание
<logFile>
Если элемент настроен как в разделе, так <siteDefaults>
и в <site>
разделе для определенного сайта, конфигурация в <site>
разделе используется для этого сайта.
IIS 8.5 позволяет регистрировать настраиваемые поля в дополнение к стандартному набору записей. Чтобы добавить настраиваемые поля, файл журнала должен иметь формат W3C. Для получения дополнительной информации см. customFields
.
Совместимость
Версия | Примечания |
---|---|
IIS 10.0 | Элемент <logFile> не был изменен в IIS 10.0. |
IIS 8,5 | Добавлен flushByEntrycountW3CLog атрибут для указания количества событий, которые будут храниться в буфере перед их записью в файл журнала. Добавлен logTargetW3C атрибут для указания способа обработки зарегистрированных событий IIS. Добавлен maxLogLineLength атрибут для указания максимальной длины строки в файле журнала. Добавлен дочерний <customFields> элемент. |
IIS 8,0 | Атрибут logSiteId был добавлен для указания содержимого поля -sitename, а referer флаг добавлен к значению атрибута logExtFileFlags по умолчанию. |
IIS 7,5 | Элемент <logFile> не был изменен в IIS 7.5. |
IIS 7.0 | Элемент <logFile> элемента появился <siteDefaults> в IIS 7.0. |
IIS 6,0 | Элемент <logFile> заменяет разделы свойств ведения журнала объекта метабазы IIsWebService IIS 6.0. |
Настройка
Элемент <logFile>
включен в установку iis 7 и более поздних версий по умолчанию.
Инструкции
Изменение параметров ведения журнала по умолчанию для сервера
Откройте диспетчер служб IIS:
Если вы используете Windows Server 2012 или Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
Если вы используете Windows 8 или Windows 8.1:
- Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
- Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
Если вы используете Windows Server 2008 или Windows Server 2008 R2:
- На панели задач нажмите кнопку Пуск, наведите указатель на пункт Администрирование, а затем выберите Пункт Диспетчер служб IIS.
Если вы используете Windows Vista или Windows 7:
- На панели задач нажмите кнопку Пуск, а затем панель управления.
- Дважды щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
В области Подключения щелкните имя сервера, на котором требуется настроить ведение журнала.
В области Ведение журнала выберите формат файла журнала в поле Формат , а затем введите путь к каталогу, в котором хранятся файлы журнала, в поле Каталог или нажмите кнопку Обзор... , чтобы выбрать каталог, в котором будут храниться файлы журнала.
Если вы решили использовать формат файла журнала W3C:
Настройка ведения журнала трассировки событий Windows или файлов для журналов W3C
Откройте диспетчер служб IIS:
Если вы используете Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
Если вы используете Windows 8.1:
- Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
- Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
В области Подключения разверните имя сервера.
На домашней панели сайта дважды щелкните Ведение журнала.
На домашней странице Ведение журнала в поле Назначение события журнала выберите Только файл журнала, Только событие ETW или Оба файла журнала и события ETW.
Настройка очистки журнала W3C по количеству записей
Откройте диспетчер служб IIS:
Если вы используете Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
Если вы используете Windows 8.1:
- Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
- Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
В области Подключения выберите сервер и дважды щелкните редактор конфигурации.
В редакторе конфигурации в разделе разверните и
system.applicationHost
выберите сайты.Разверните узел siteDefaults, а затем — logFile.
Для параметра flushByEntryCountW3Clog введите количество событий, которые необходимо сохранить в буфере перед их записью в файл журнала.
В области Действие нажмите кнопку Применить.
Настройка максимальной длины строки журнала
Откройте диспетчер служб IIS:
Если вы используете Windows Server 2012 R2:
- На панели задач щелкните диспетчер сервера, выберите Сервис, а затем диспетчер служб IIS.
Если вы используете Windows 8.1:
- Удерживая нажатой клавишу Windows, нажмите букву X и щелкните панель управления.
- Щелкните Администрирование, а затем дважды щелкните Диспетчер служб IIS.
В области Подключения разверните сервер и дважды щелкните редактор конфигурации.
В редакторе конфигурации в разделе разверните и
system.applicationHost
выберите сайты.Разверните узел siteDefaults, а затем — logFile.
Для параметра maxLogLineLength введите максимальное число байтов в одной строке файла журнала.
В области Действие нажмите кнопку Применить.
Конфигурация
Атрибуты
Атрибут | Описание | ||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
customLogPluginClsid |
Необязательный строковый атрибут. Указывает идентификатор класса COM-объектов (CLSID) или идентификаторы в порядке приоритета для пользовательских модулей. |
||||||||||||||||||||||||||||||||||||||||||||||
directory |
Необязательный строковый атрибут. Указывает каталог ведения журнала, в котором хранятся файл журнала и файлы поддержки, связанные с ведением журнала. Значение по умолчанию — %SystemDrive%\inetpub\logs\LogFiles . |
||||||||||||||||||||||||||||||||||||||||||||||
enabled |
Дополнительный логический атрибут. Указывает, включено ли ведение журнала (true) или отключено (false) для сайта. Примечание: Ошибки ASP и ODBC не регистрируются в файлах журнала IIS. Значение по умолчанию — true . |
||||||||||||||||||||||||||||||||||||||||||||||
flushByEntryCountW3CLog |
Необязательный атрибут uint. Указывает количество событий, хранимых в буфере перед их записью в файл журнала. Меньшее число приведет к более быстрой очистке событий за счет производительности в результате большего количества операций с диском. Уменьшите это значение для устранения неполадок в режиме реального времени и увеличьте его для повышения производительности. Значение 0 указывает, что очистка будет выполняться с максимальным значением по умолчанию в 64 КБ.Значение по умолчанию — 0 . |
||||||||||||||||||||||||||||||||||||||||||||||
localTimeRollover |
Дополнительный логический атрибут. Указывает, создается ли новый файл журнала на основе местного времени или по времени UTC, которое ранее называлось средним по Гринвичу (GMT). Если задано значение false, создается новый файл журнала в формате UTC. Примечание: Независимо от этого параметра метка времени для каждой записи журнала расширенного ведения журнала W3C основана на формате UTC. Значение по умолчанию — false . |
||||||||||||||||||||||||||||||||||||||||||||||
logExtFileFlags |
Необязательный атрибут flags. Указывает категории сведений, которые записываются либо в файл журнала (при использовании расширенного формата файла журнала W3C), либо в источник данных ODBC во время событий ведения журнала для сайта. Атрибут logExtFileFlags может быть одним или несколькими из следующих значений. Если указано несколько значений, разделите их запятыми (,). Значения по умолчанию: Date , Time , , ClientIP UserName , ServerIP , UriStem Method , UriQuery , , TimeTaken , HttpStatus , Win32Status , , ServerPort , UserAgent , HttpSubStatus . Referer
|
||||||||||||||||||||||||||||||||||||||||||||||
logFormat |
Необязательный атрибут перечисления. Задает формат файла журнала. Атрибут logFormat может иметь одно из следующих значений. Значение по умолчанию — W3C .
|
||||||||||||||||||||||||||||||||||||||||||||||
logSiteId |
Дополнительный логический атрибут. Указывает, что поле s-sitename будет содержать имя сайта (false) или идентификатор сайта (true). Если для свойства One log file per задано значение Site (стандартное значение по умолчанию), столбец s-sitename не будет отображаться в файле журнала по умолчанию, так как свойство имя файла журнала будет содержать идентификатор сайта. Если для свойства Один файл журнала на задано значение Server , столбец s-sitename будет включен в файл журнала по умолчанию.Значение по умолчанию — True , то есть поле s-sitename содержит идентификатор сайта. Чтобы записать имя сайта в журнал, задайте для logSiteID значение False . |
||||||||||||||||||||||||||||||||||||||||||||||
logTargetW3C |
Необязательный атрибут Flags. Указывает, будут ли службы IIS использовать трассировку событий Windows (ETW) и (или) ведение журнала файлов для обработки зарегистрированных событий IIS. EtW обеспечивает ведение журнала в режиме реального времени и использование поставщика ETW и стандартных механизмов запросов. Ведение журнала файлов хранит данные событий в текстовых файлах, которые можно проанализировать для доступа к данным ведения журнала. Когда СЛУЖБЫ IIS используют файлы журналов, HTTP.sys записывает данные непосредственно в текстовые файлы журнала после завершения транзакции. При использовании трассировки событий Windows HTTP.sys отправляет данные в трассировку событий Windows с помощью поставщика iislogging, а служба LOGSVC управляет данными журнала, в том числе запрашивает данные трассировки событий Windows, собирает данные непосредственно из рабочих процессов и отправляет данные в файл журнала. Атрибут logTargetW3C может иметь следующие возможные значения. Значение по умолчанию — File . Если для файла журнала сервера по умолчанию в applicationHost.config указаны logTargetW3C и File ETW , то это эквивалентно выбору как файла журнала, так и события ETW в области ведения журнала сервера в диспетчере IIS.
|
||||||||||||||||||||||||||||||||||||||||||||||
maxLogLineLength |
Необязательный атрибут uint. Указывает максимальную длину строки в файле журнала. Это позволяет ограничить объем данных, накопленных при ведении журнала, и сэкономить место на диске, особенно при добавлении настраиваемых полей ведения журнала. Диапазон от 2 до 65 536. Значение по умолчанию — 65536 . |
||||||||||||||||||||||||||||||||||||||||||||||
period |
Необязательный атрибут перечисления. Указывает, как часто СЛУЖБЫ IIS создают новый файл журнала. Атрибут period может быть одним из следующих возможных значений. Значение по умолчанию — Daily .
|
||||||||||||||||||||||||||||||||||||||||||||||
truncateSize |
Необязательный атрибут int64. Указывает максимальный размер файла журнала (в байтах), после которого создается новый файл журнала. Это значение применимо, только если параметр MaxSize выбран для атрибута period. Минимальный размер файла — 1 048 576 байт. Если для этого атрибута задано значение меньше 1 048 576 байт, значение по умолчанию неявно принимается как 1 048 576 байт. Значение по умолчанию — 20971520 . |
Дочерние элементы
Элемент | Описание |
---|---|
customFields |
Необязательный элемент. Задает параметры конфигурации для настраиваемых полей по умолчанию в журнале W3C. |
Образец конфигурации
В следующем примере конфигурации задаются параметры по умолчанию logFile
.
<system.applicationHost>
<sites>
<siteDefaults>
<logFile logFormat="W3C"
directory="%SystemDrive%\inetpub\logs\LogFiles"
enabled="true">
<customFields>
<clear/>
<add logFieldName="ContosoField" sourceName="ContosoSource"
sourceType="ServerVariable" />
</customFields>
</logFile>
</siteDefaults>
</sites>
</system.applicationHost>
Пример кода
В следующих примерах кода настраивают параметры по умолчанию logFile
для IIS 7.
AppCmd.exe
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.logFile.enabled:"True" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.logFile.logFormat:"W3C" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /siteDefaults.logFile.directory:"%SystemDrive%\inetpub\logs\LogFiles" /commit:apphost
Примечание
При использовании AppCmd.exe для настройки этих параметров для параметра apphost
фиксации необходимо задать значение . Это зафиксирует параметры конфигурации в соответствующем разделе расположения в файле ApplicationHost.config.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection sitesSection = config.GetSection("system.applicationHost/sites");
ConfigurationElement siteDefaultsElement = sitesSection.GetChildElement("siteDefaults");
ConfigurationElement logFileElement = siteDefaultsElement.GetChildElement("logFile");
logFileElement["logFormat"] = @"W3C";
logFileElement["directory"] = @"%SystemDrive%\inetpub\logs\LogFiles";
logFileElement["enabled"] = true;
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim sitesSection As ConfigurationSection = config.GetSection("system.applicationHost/sites")
Dim siteDefaultsElement As ConfigurationElement = sitesSection.GetChildElement("siteDefaults")
Dim logFileElement As ConfigurationElement = siteDefaultsElement.GetChildElement("logFile")
logFileElement("logFormat") = "W3C"
logFileElement("directory") = "%SystemDrive%\inetpub\logs\LogFiles"
logFileElement("enabled") = True
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST");
var siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults");
var logFileElement = siteDefaultsElement.ChildElements.Item("logFile");
logFileElement.Properties.Item("logFormat").Value = "W3C";
logFileElement.Properties.Item("directory").Value = "%SystemDrive%\\inetpub\\logs\\LogFiles";
logFileElement.Properties.Item("enabled").Value = true;
adminManager.CommitChanges();
VBScript
Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST")
Set siteDefaultsElement = sitesSection.ChildElements.Item("siteDefaults")
Set logFileElement = siteDefaultsElement.ChildElements.Item("logFile")
logFileElement.Properties.Item("logFormat").Value = "W3C"
logFileElement.Properties.Item("directory").Value = "%SystemDrive%\inetpub\logs\LogFiles"
logFileElement.Properties.Item("enabled").Value = True
adminManager.CommitChanges()