Steve Schofield's Blog

Browse by Tags

All Tags » appcmd   (RSS)

  • IIS7 - post #26 - Logging in Vista options

    I'm following a thread in the newsgroups, actually I replied a few times about setting Logging options at a global level.  Unlike previous versions of client OS's, Vista allows more than 1 site.  One thing that I couldn't find was the Logging options in Vista IIS manager.  I can set this with appcmd and manually set in applicationHost.config.   There are 2 sections I could find, <system.applicationHost\log> section and under <sites/site/siteDefault>  Here are some raw notes I had.  I tried to clean up as best as possible.  One of my favorite appcmd command is "appcmd set config -section:XXXX -?   (XXXX represents what section)"  This pipes out a list of properties for that section.  It was a good evening digging into logging and Vista!   Hope you find this useful.

    Example 1
    C:\Windows\System32\inetsrv>appcmd list config -section:log
    <system.applicationHost>
      <log>
        <centralBinaryLogFile enabled="true" directory="%SystemDrive%\inetpub\logs\LogFiles" />
        <centralW3CLogFile enabled="true" directory="%SystemDrive%\inetpub\logs\LogFiles" />
      </log>
    </system.applicationHost>

    Example #2
    C:\Windows\System32\inetsrv>appcmd set config -section:log -?
    ERROR ( message:-logInUTF8
    -centralLogFileMode
    -centralBinaryLogFile.enabled
    -centralBinaryLogFile.directory
    -centralBinaryLogFile.period
    -centralBinaryLogFile.truncateSize
    -centralBinaryLogFile.localTimeRollover
    -centralW3CLogFile.enabled
    -centralW3CLogFile.directory
    -centralW3CLogFile.period
    -centralW3CLogFile.truncateSize
    -centralW3CLogFile.localTimeRollover
    -centralW3CLogFile.logExtFileFlags
     )

    'Set the log default path
    C:\Windows\System32\inetsrv>appcmd set config -section:log /centralW3CLogFile.directory:c:\wwwlogs
    Applied configuration changes to section "system.applicationHost/log" for "MACHINE/WEBROOT/APPHOST" at configuration commit path "MACHINE/WEBROOT/APPHOST"

    'Set the log default output
    C:\Windows\System32\inetsrv>appcmd set config -section:log /logInUTF8:true
    Applied configuration changes to section "system.applicationHost/log" for "MACHNE/WEBROOT/APPHOST" at configuration commit path "MACHINE/WEBROOT/APPHOST"

    C:\Windows\System32\inetsrv>appcmd list config -section:log
    <system.applicationHost>
      <log logInUTF8="true">
        <centralBinaryLogFile enabled="true" directory="%SystemDrive%\inetpub\logs\LogFiles" />
        <centralW3CLogFile enabled="true" directory="c:\wwwlogs" />
      </log>
    </system.applicationHost>

    Example #3
    C:\Windows\System32\inetsrv>appcmd set config -section:sites -?
    ERROR ( message:-siteDefaults.name
    -siteDefaults.id
    -siteDefaults.serverAutoStart
    -siteDefaults.bindings.[protocol='string',bindingInformation='string'].protocol
    -siteDefaults.bindings.[protocol='string',bindingInformation='string'].bindingInformation
    -siteDefaults.limits.maxBandwidth
    -siteDefaults.limits.maxConnections
    -siteDefaults.limits.connectionTimeout
    -siteDefaults.logFile.logExtFileFlags
    -siteDefaults.logFile.customLogPluginClsid
    -siteDefaults.logFile.logFormat
    -siteDefaults.logFile.directory
    -siteDefaults.logFile.period
    -siteDefaults.logFile.truncateSize
    -siteDefaults.logFile.localTimeRollover
    -siteDefaults.logFile.enabled
    -siteDefaults.traceFailedRequestsLogging.enabled
    -siteDefaults.traceFailedRequestsLogging.directory
    -siteDefaults.traceFailedRequestsLogging.maxLogFiles
    -applicationDefaults.path
    -applicationDefaults.applicationPool
    -applicationDefaults.enabledProtocols
    -virtualDirectoryDefaults.path
    -virtualDirectoryDefaults.physicalPath
    -virtualDirectoryDefaults.userName
    -virtualDirectoryDefaults.password
    -virtualDirectoryDefaults.logonMethod
    -virtualDirectoryDefaults.allowSubDirConfig
    -[name='string',id='unknown'].name
    -[name='string',id='unknown'].id
    -[name='string',id='unknown'].serverAutoStart
    -[name='string',id='unknown'].bindings.[protocol='string',bindingInformation='string'].protocol
    -[name='string',id='unknown'].bindings.[protocol='string',bindingInformation='string'].bindingInformation
    -[name='string',id='unknown'].limits.maxBandwidth
    -[name='string',id='unknown'].limits.maxConnections
    -[name='string',id='unknown'].limits.connectionTimeout
    -[name='string',id='unknown'].logFile.logExtFileFlags
    -[name='string',id='unknown'].logFile.customLogPluginClsid
    -[name='string',id='unknown'].logFile.logFormat
    -[name='string',id='unknown'].logFile.directory
    -[name='string',id='unknown'].logFile.period
    -[name='string',id='unknown'].logFile.truncateSize
    -[name='string',id='unknown'].logFile.localTimeRollover
    -[name='string',id='unknown'].logFile.enabled
    -[name='string',id='unknown'].traceFailedRequestsLogging.enabled
    -[name='string',id='unknown'].traceFailedRequestsLogging.directory
    -[name='string',id='unknown'].traceFailedRequestsLogging.maxLogFiles
    -[name='string',id='unknown'].applicationDefaults.path
    -[name='string',id='unknown'].applicationDefaults.applicationPool
    -[name='string',id='unknown'].applicationDefaults.enabledProtocols
    -[name='string',id='unknown'].virtualDirectoryDefaults.path
    -[name='string',id='unknown'].virtualDirectoryDefaults.physicalPath
    -[name='string',id='unknown'].virtualDirectoryDefaults.userName
    -[name='string',id='unknown'].virtualDirectoryDefaults.password
    -[name='string',id='unknown'].virtualDirectoryDefaults.logonMethod
    -[name='string',id='unknown'].virtualDirectoryDefaults.allowSubDirConfig
    -[name='string',id='unknown'].[path='string'].path
    -[name='string',id='unknown'].[path='string'].applicationPool
    -[name='string',id='unknown'].[path='string'].enabledProtocols
    -[name='string',id='unknown'].[path='string'].virtualDirectoryDefaults.path
    -[name='string',id='unknown'].[path='string'].virtualDirectoryDefaults.physicalPath
    -[name='string',id='unknown'].[path='string'].virtualDirectoryDefaults.userName
    -[name='string',id='unknown'].[path='string'].virtualDirectoryDefaults.password
    -[name='string',id='unknown'].[path='string'].virtualDirectoryDefaults.logonMethod
    -[name='string',id='unknown'].[path='string'].virtualDirectoryDefaults.allowSubDirConfig
    -[name='string',id='unknown'].[path='string'].[path='string'].path
    -[name='string',id='unknown'].[path='string'].[path='string'].physicalPath
    -[name='string',id='unknown'].[path='string'].[path='string'].userName
    -[name='string',id='unknown'].[path='string'].[path='string'].password
    -[name='string',id='unknown'].[path='string'].[path='string'].logonMethod
    -[name='string',id='unknown'].[path='string'].[path='string'].allowSubDirConfig
     )

    'Set the default log path on the siteDefault section
    C:\Windows\System32\inetsrv>appcmd set config -section:sites /siteDefaults.logFile.directory:c:\wwwlogs
    Applied configuration changes to section "system.applicationHost/sites" for "MACHINE/WEBROOT/APPHOST" at configuration commit path "MACHINE/WEBROOT/APPHOST"

    Log schema in the IIS_schema.xml

     <sectionSchema name="system.applicationHost/log">
        <attribute name="logInUTF8" type="bool" defaultValue="true" />
        <attribute name="centralLogFileMode" type="enum" defaultValue="Site" >
          <enum name="Site" value="0"/>
          <enum name="CentralBinary" value="1"/>
          <enum name="CentralW3C" value="2"/>
        </attribute>
        <element name="centralBinaryLogFile">
          <attribute name="enabled" type="bool" defaultValue="false" />
          <attribute name="directory" type="string" defaultValue="%SystemDrive%\inetpub\logs\LogFiles" />
          <attribute name="period" type="enum" defaultValue="Daily">
            <enum name="Hourly" value="4"/>
            <enum name="Daily" value="1"/>
            <enum name="Weekly" value="2"/>
            <enum name="Monthly" value="3"/>
            <enum name="MaxSize" value="0"/>
          </attribute>
          <attribute name="truncateSize" type="int64" defaultValue="20971520" validationType="integerRange" validationParameter="1048576,4294967295" />
          <attribute name="localTimeRollover" type="bool" defaultValue="false"/>
        </element>
        <element name="centralW3CLogFile">
          <attribute name="enabled" type="bool" defaultValue="true" />
          <attribute name="directory" type="string" expanded="true" defaultValue="%SystemDrive%\inetpub\logs\LogFiles" validationType="nonEmptyString" />
          <attribute name="period" type="enum" defaultValue="Daily">
            <enum name="Hourly" value="4"/>
            <enum name="Daily" value="1"/>
            <enum name="Weekly" value="2"/>
            <enum name="Monthly" value="3"/>
            <enum name="MaxSize" value="0"/>
          </attribute>
          <attribute name="truncateSize" type="int64" defaultValue="20971520" validationType="integerRange" validationParameter="1048576,4294967295" />
          <attribute name="localTimeRollover" type="bool" defaultValue="false"/>
          <attribute name="logExtFileFlags" type="flags" defaultValue="Date, Time, ClientIP, UserName, SiteName, ServerIP, Method, UriStem, UriQuery, HttpStatus, Win32Status, ServerPort, UserAgent, HttpSubStatus">
            <flag name="Date" value="1"/>
            <flag name="Time" value="2"/>
            <flag name="ClientIP" value="4"/>
            <flag name="UserName" value="8"/>
            <flag name="SiteName" value="16"/>
            <flag name="ComputerName" value="32"/>
            <flag name="ServerIP" value="64"/>
            <flag name="Method" value="128"/>
            <flag name="UriStem" value="256"/>
            <flag name="UriQuery" value="512"/>
            <flag name="HttpStatus" value="1024"/>
            <flag name="Win32Status" value="2048"/>
            <flag name="BytesSent" value="4096"/>
            <flag name="BytesRecv" value="8192"/>
            <flag name="TimeTaken" value="16384"/>
            <flag name="ServerPort" value="32768"/>
            <flag name="UserAgent" value="65536"/>
            <flag name="Cookie" value="131072"/>
            <flag name="Referer" value="262144"/>
            <flag name="ProtocolVersion" value="524288"/>
            <flag name="Host" value="1048576"/>
            <flag name="HttpSubStatus" value="2097152"/>
          </attribute>
        </element>
      </sectionSchema>


Powered by Community Server 2.1