Настройка и включение ведения журнала на стороне сервера

Приложение включает ведение журнала в сеансе сервера или группе URL-адресов перед отправкой ответа с помощью HttpSendHttpResponse. В следующем примере показано, как настроить и включить ведение журнала на стороне сервера типа W3C:

  1. Приложение инициализирует структуру HTTP_LOGGING_INFO с HttpLoggingTypeW3C, указанной в члене формата, а также битовую маску констант HTTP_LOG_FIELD в элементе Fields.
  2. Приложение вызывает HttpSetServerSessionProperty или HttpSetUrlGroupProperty с параметром HttpServerLoggingProperty, указанным в Property, и указателем на структуру HTTP_LOGGING_INFO в параметре pPropertyInformation.

Битовая маска констант HTTP_LOG_FIELD содержит поля, которые могут быть записаны в файл журнала W3C. Обратите внимание, что установка свойства HttpServerLoggingProperty на сеансе сервера или группе URL-адресов не означает, что http-ответы будут зарегистрированы. Ведение журнала осуществляется для каждого запроса, если W3C включен в вызове HttpSendHttpResponse или HttpSendResponseEntityBody.

Чтобы включить ведение журнала ответов W3C на основе каждого запроса, приложение выполняет следующие действия:

  1. Приложение инициализирует элементы HTTP_LOG_FIELDS_DATA с сведениями о полях, которые будут журналироваться для этого ответа.
  2. Элемент Base.Type структуры HTTP_LOG_FIELDS_DATA должен быть инициализирован значением HttpLogDataTypeFields. Поле Base.Type обеспечивает дальнейшую расширяемость структуры и API.
  3. Приложение вызывает HttpSendHttpResponse или HttpSendResponseEntityBody с указателем на структуру HTTP_LOG_FIELDS_DATA в параметре pLogData. Приложение должно преобразовать тип указателя на PHTTP_LOG_DATA.