Applies to: Exchange Server 2007 SP1, Exchange Server 2007
Topic Last Modified: 2009-07-07

This topic explains how to change the diagnostic logging level for Exchange Server processes to assist with troubleshooting issues that may occur in an Microsoft Exchange Server 2007 environment.

In the release to manufacturing (RTM) version of Exchange 2007 and in Exchange 2007 Service Pack 1 (SP1), you can use the Exchange Management Shell or Registry Editor to change the diagnostic logging level. However, in Exchange Service Pack 2 (SP2) you can also use the Manage Diagnostic Logging Properties wizard in the Exchange Management Console to complete the same task.

The possible logging levels that you can set are: 0 (Lowest), 1 (Low), 3 (Medium), 5 (High), and 7 (Expert). You can use either the numbers or the name in the Exchange Management Shell. The default logging level is 0 (Lowest). You should always return the logging level to the default setting after completing your troubleshooting activities.

Changing the process logging level for a given process may not yield additional events in the Event log. Many variables affect whether a change to the process logging level setting will increase the number of events. These variables include, but are not limited to, the actions being performed by the process and the number of events implemented in the source code for the logging level selected.

Before You Begin

Before you perform the following procedure, you must perform the actions in one of the following sections based on whether you are running Exchange 2007 RTM, Exchange 2007 SP1, or Exchange 2007 SP2.

For more information about permissions, delegating roles, and the rights that are required to administer Exchange 2007, see Permission Considerations.

Permissions for Exchange 2007 SP2

To perform the following procedure in Exchange 2007 SP2, the account you use must be delegated the following:

  • Exchange Server Administrator role and membership in the local Administrators group for the target server

Permissions for Exchange 2007 SP1 and Exchange 2007 RTM

To perform the following procedure in Exchange 2007 SP1 and Exchange 2007 RTM, the account you use must be delegated the following:

  • Membership in the local Administrator group

Procedure

Exchange 2007 SP2

To use the Exchange Management Console to change the logging level for an Exchange process

  1. Start the Exchange Management Console.

  2. In the console tree, click Server configuration or any other server container.

  3. In the action pane, click Manage Diagnostic Logging Properties. The Manage Diagnostic Logging Properties wizard appears.

  4. On the Configure Server Diagnostic Logging Properties page, click Update logging levels for services.

  5. In the list of logging levels, expand the service for which you want to set the logging level.

  6. Select the property for which you want to set the logging level.

  7. Under the list of logging levels, select one of the following logging level options: Lowest, Low, Medium, High, or Expert.

  8. Repeat steps 5 and 6 for each service for which you want to set the logging level.

  9. Click Configure.

  10. On the Completion page, confirm that diagnostic logging was configured correctly. A status of Completed indicates that the wizard completed the task successfully. A status of Failed indicates that the task was not completed. If the task fails, review the summary for an explanation, and then click Back to make any configuration changes.

  11. Click Finish to complete the Manage Diagnostic Logging Properties wizard.

To use the Exchange Management Shell to change the logging level for an Exchange process

  • To identify the all the processes that have configurable logging levels, including their current settings, run the following command.

    Copy Code
    Get-EventLogLevel
    
  • To identify the current logging level of a specific process, run the following command.

    Copy Code
    Get-EventLogLevel <process>
    
  • To change the logging level of a specific process, run the following command.

    Copy Code
    Set-EventLogLevel <process> -Level <level>
    
  • To verify that the logging level has been changed, run the following command.

    Copy Code
    Get-EventLogLevel <process>
    

    Replace <level> with the level word or number. For example:

    Copy Code
    Set-EventLogLevel MSExchangeMU\General -Level Medium
    
    Note:
    Processes that have spaces in their names, like MSExchangeIS\9002 System\Virus Scanning, must be enclosed in quotation marks. For example: "MSExchangeIS\9002 System\Virus Scanning"
    Note:
    You can get additional information about a process by adding the "|fl" variable, without quotation marks, to the get command. For example:

    Get-EventLogLevel <process> |fl

    Note   After you complete your troubleshooting activities, set the logging level back to the default level.

For detailed syntax and parameter information, seeGet-EventLogLevelSet-EventLogLevel.

To use Registry Editor to change the logging level for an Exchange process

  1. Start Registry Editor (regedit).

    Caution:
    Incorrectly editing the registry can cause serious problems that may require you to reinstall your operating system. Problems resulting from editing the registry incorrectly may not be able to be resolved. Before editing the registry, back up any valuable data.
  2. Locate the following registry key: HKLM\SYSTEM\CurrentControlSet\Services\MSExchangeMU\Diagnostics

  3. In the details pane, change the Value data of the General key to the new value.

  4. Exit Registry Editor.

    Note:
    After you complete your troubleshooting activities, set the logging level back to the default level.

Exchange 2007 SP1 and Exchange 2007 RTM

To use the Exchange Management Shell to change the logging level for an Exchange process

  • To identify the all the processes that have configurable logging levels, including their current settings, run the following command.

    Copy Code
    Get-EventLogLevel
    
  • To identify the current logging level of a specific process, run the following command.

    Copy Code
    Get-EventLogLevel <process>
    
  • To change the logging level of a specific process, run the following command.

    Copy Code
    Set-EventLogLevel <process> -Level <level>
    
  • To verify that the logging level has been changed, run the following command.

    Copy Code
    Get-EventLogLevel <process>
    

    Replace <level> with the level word or number. For example:

    Copy Code
    Set-EventLogLevel MSExchangeMU\General -Level Medium
    
    Note:
    Processes that have spaces in their names, like MSExchangeIS\9002 System\Virus Scanning, must be enclosed in quotation marks. For example: "MSExchangeIS\9002 System\Virus Scanning"
    Note:
    You can get additional information about a process by adding the "|fl" variable, without quotation marks, to the get command. For example:

    Get-EventLogLevel <process> |fl

    Note   After you complete your troubleshooting activities, set the logging level back to the default level.

For detailed syntax and parameter information, seeGet-EventLogLevelSet-EventLogLevel.

To use Registry Editor to change the logging level for an Exchange process

  1. Start Registry Editor (regedit).

    Caution:
    Incorrectly editing the registry can cause serious problems that may require you to reinstall your operating system. Problems resulting from editing the registry incorrectly may not be able to be resolved. Before editing the registry, back up any valuable data.
  2. Locate the following registry key: HKLM\SYSTEM\CurrentControlSet\Services\MSExchangeMU\Diagnostics

  3. In the details pane, change the Value data of the General key to the new value.

  4. Exit Registry Editor.

    Note:
    After you complete your troubleshooting activities, set the logging level back to the default level.

For More Information

For a list of the Exchange 2007 processes for which logging levels are configurable, see Processes with Configurable Event Logging Levels.