다음을 통해 공유


중앙 W3C 로그 파일 <centralW3CLogFile>

개요

요소는 <centralW3CLogFile> 서버의 모든 사이트에 대한 중앙 W3C 로그 설정을 지정합니다.

참고

요소의 특성이 적용되도록 부모 <log> 요소의 centralLogFileMode 특성을 <centralW3CLogFile>CentralW3C로 설정해야 합니다. 요소의 centralLogFileMode 특성 <log>CentralBinary 또는 Site로 설정된 경우 요소의 <centralW3CLogFile> 특성은 무시됩니다.

참고

W3C 형식의 로그 파일은 대부분의 로그 구문 분석 유틸리티에서 처리할 수 있는 텍스트 기반 파일입니다. 이진 로그 파일은 Microsoft의 LogParser 유틸리티와 같이 해당 형식으로 로그 파일을 처리할 수 있는 애플리케이션을 사용해야 하는 전용 스토리지 형식을 사용합니다.

호환성

버전 참고
IIS 10.0 <centralW3CLogFile> 요소가 IIS 10.0에서 수정되지 않았습니다.
IIS 8.5 <centralW3CLogFile> 요소가 IIS 8.5에서 수정되지 않았습니다.
IIS 8.0 <centralW3CLogFile> 요소가 IIS 8.0에서 수정되지 않았습니다.
IIS 7.5 <centralW3CLogFile> 요소가 IIS 7.5에서 수정되지 않았습니다.
IIS 7.0 <centralW3CLogFile> 요소의 <log> 요소는 IIS 7.0에서 도입되었습니다.
IIS 6.0 요소는 <log> IIS 6.0 CentralW3CLoggingEnabled 플래그를 대체합니다.

설치 프로그램

<centralW3CLogFile> 요소의 <log> 요소는 IIS 7의 기본 설치에 포함됩니다.

방법

서버에 대해 중앙 W3C 로깅을 사용하도록 설정하는 방법

  1. 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(인터넷 정보 서비스) 관리자를 두 번 클릭합니다.
  2. 연결 창에서 서버 이름을 클릭합니다.

  3. 서버의 창에서 로깅을 두 번 클릭합니다.
    강조 표시된 로깅 아이콘의 스크린샷

  4. 로깅 페이지의 한 로그 파일당 드롭다운 목록에서 서버를 선택한 다음 형식 드롭다운 목록에서 W3C를 선택합니다.
    서식 드롭다운이 강조 표시된 로깅 화면의 스크린샷

  5. 작업 창에서 적용을 클릭합니다.

구성

특성

attribute Description
directory 선택적 문자열 특성입니다.

로그 항목이 기록되는 디렉터리를 지정합니다.

기본값은 %SystemDrive%\inetpub\logs\LogFiles입니다.
enabled 선택적 부울 특성입니다.

중앙 W3C 로깅을 사용할 수 있는지 여부를 지정합니다.

기본값은 true입니다.
localTimeRollover 선택적 부울 특성입니다.

현지 시간 또는 UTC(협정 세계시)에 따라 새 로그 파일을 만들지 여부를 지정합니다. true 값은 새 로그 파일이 현지 시간을 기반으로 한다는 것을 의미합니다. false는 UTC를 기반으로 하다는 것을 의미합니다.

기본값은 false입니다.
logExtFileFlags 선택적 flags 특성입니다.

기록할 필드를 지정합니다.

logExtFileFlags 특성에는 다음 값 중 하나 또는 이러한 값 목록이 있을 수 있습니다. 기본값은 , , , Time, ClientIP, MethodUriStemUriQueryUserNameServerIPSiteName, HttpStatus, , TimeTakenHttpSubStatusWin32StatusUserAgentServerPort값 목록Date입니다.
Description
Date 활동이 발생한 날짜입니다.

숫자 값은 입니다 1.
Time 활동이 발생한 UTC(협정 세계시)입니다.

숫자 값은 입니다 2.
ClientIP 요청한 클라이언트의 IP 주소입니다.

숫자 값은 입니다 4.
UserName 서버에 액세스한 인증된 사용자의 이름입니다. 익명 사용자는 하이픈으로 표시됩니다.

숫자 값은 입니다 8.
SiteName 로그 파일 항목이 생성된 서버의 이름입니다.

숫자 값은 입니다 16.
ComputerName 요청이 이루어진 컴퓨터의 이름입니다.

숫자 값은 입니다 32.
ServerIP 로그 파일 항목이 생성된 서버의 IP 주소입니다.

숫자 값은 입니다 64.
Method 요청된 작업(예: GET 메서드)입니다.

숫자 값은 입니다 128.
UriStem 작업의 대상(예: Default.htm)입니다.

숫자 값은 입니다 256.
UriQuery 클라이언트가 수행하려고 했던 쿼리(있는 경우)입니다. URI(Uniform Resource Identifier) 쿼리는 동적 페이지에만 필요합니다.

숫자 값은 입니다 512.
HttpStatus HTTP 상태 코드입니다.

숫자 값은 입니다 1024.
Win32Status Windows 상태 코드입니다.

숫자 값은 입니다 2048.
BytesSent 서버에서 보낸 바이트 수입니다.

숫자 값은 입니다 4096.
BytesRecv 서버에서 받은 바이트 수입니다.

숫자 값은 입니다 8192.
TimeTaken 작업이 수행된 시간(밀리초)입니다.

숫자 값은 입니다 16384.
ServerPort 서비스에 대해 구성된 서버 포트 번호입니다.

숫자 값은 입니다 32768.
UserAgent 클라이언트에서 사용한 브라우저 유형입니다.

숫자 값은 입니다 65536.
Cookie 쿠키를 보내거나 받은 쿠키의 콘텐츠입니다.

숫자 값은 입니다 131072.
Referer 사용자가 마지막으로 방문한 사이트입니다. 이 사이트는 현재 사이트에 링크를 제공했습니다.

숫자 값은 입니다 262144.
ProtocolVersion 클라이언트가 사용한 프로토콜 버전입니다.

숫자 값은 입니다 524288.
Host 호스트 헤더가 있는 경우 호스트 헤더 이름입니다.

숫자 값은 입니다 1048576.
HttpSubStatus 하위 상태 오류 코드입니다.

숫자 값은 입니다 2097152.
period 선택적 열거형 특성입니다.

현재 로그 파일이 닫혀 있고 새 로그 파일이 시작되는 빈도를 지정합니다.

period 특성은 다음과 같은 가능한 값 중 하나일 수 있습니다.

기본값은 Daily입니다.
Description
MaxSize 로그 파일이 truncateSize 특성에 지정된 크기에 도달할 때마다 새 로그 파일을 시작합니다.

숫자 값은 입니다 0.
Daily 매일 새 로그 파일을 시작합니다.

숫자 값은 입니다 1.
Weekly 일주일에 한 번 새 로그 파일을 시작합니다.

숫자 값은 입니다 2.
Monthly 한 달에 한 번 새 로그 파일을 시작합니다.

숫자 값은 입니다 3.
Hourly 매시간 새 로그 파일을 시작합니다.

숫자 값은 입니다 4.
truncateSize 선택적 int64 특성입니다.

로그 파일 내용이 잘리는 크기(바이트)를 지정합니다. 기간 특성의 값이 maxSize인 경우 이 특성을 설정해야 합니다. 크기는 1048576(1메가바이트)와 4294967295(4GB) 사이여야 합니다.

기본값은 (20MB)입니다 20971520 .

자식 요소

없음

구성 샘플

다음 구성 샘플은 IIS가 중앙 W3C 로깅을 사용하도록 지정하고 W3C 로그 파일 회전을 매일 구성합니다.

<log centralLogFileMode="CentralW3C">
   <centralBinaryLogFile enabled="true" directory="%SystemDrive%\inetpub\logs\LogFiles" />
   <centralW3CLogFile enabled="true" directory="%SystemDrive%\inetpub\logs\LogFiles" period="Daily" />
</log>

샘플 코드

다음 코드 샘플에서는 IIS가 중앙 W3C 로깅을 사용하도록 지정하고 W3C 로그 파일 회전을 매일 구성합니다.

AppCmd.exe

appcmd.exe set config -section:system.applicationHost/log /centralLogFileMode:"CentralW3C" /commit:apphost

appcmd.exe set config -section:system.applicationHost/log /centralW3CLogFile.period:"Daily" /commit:apphost

참고

AppCmd.exe 사용하여 이러한 설정을 구성할 때 commit 매개 변수 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 logSection = config.GetSection("system.applicationHost/log");
         logSection["centralLogFileMode"] = @"CentralW3C";
         ConfigurationElement centralW3CLogFileElement = logSection.GetChildElement("centralW3CLogFile");
         centralW3CLogFileElement["period"] = @"Daily";

         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 logSection As ConfigurationSection = config.GetSection("system.applicationHost/log")
      logSection("centralLogFileMode") = "CentralW3C"
      Dim centralW3CLogFileElement As ConfigurationElement = logSection.GetChildElement("centralW3CLogFile")
      centralW3CLogFileElement("period") = "Daily"

      serverManager.CommitChanges()
   End Sub

End Module

JavaScript

var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";

var logSection = adminManager.GetAdminSection("system.applicationHost/log", "MACHINE/WEBROOT/APPHOST");
logSection.Properties.Item("centralLogFileMode").Value = "CentralW3C";
var centralW3CLogFileElement = logSection.ChildElements.Item("centralW3CLogFile");
centralW3CLogFileElement.Properties.Item("period").Value = "Daily";

adminManager.CommitChanges();

VBScript

Set adminManager = WScript.CreateObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"

Set logSection = adminManager.GetAdminSection("system.applicationHost/log", "MACHINE/WEBROOT/APPHOST")
logSection.Properties.Item("centralLogFileMode").Value = "CentralW3C"
Set centralW3CLogFileElement = logSection.ChildElements.Item("centralW3CLogFile")
centralW3CLogFileElement.Properties.Item("period").Value = "Daily"

adminManager.CommitChanges()