Report Server Service Trace Log
The Reporting Services report server trace log contains detailed information for Report Server service operations, including operations performed by the Report Server Web service, Report Manager, and background processing. The trace log file includes redundant information that is recorded in other log files, plus additional information that is not otherwise available. Trace log information might be useful if you are debugging an application that includes a report server, or investigating a specific problem that was written to the event log or execution log.
Note
In previous releases, there were multiple trace log files, one for each application. The following files are obsolete and are no longer created in SQL Server 2008 and later versions: ReportServerWebApp_<timestamp>.log, ReportServer_<timestamp>.log, and ReportServerService_main_<timestamp>.log.
Viewing Log Information
The trace log file is ReportServerService_<timestamp>.log. The trace log is an ASCII text file and is located at:
\Microsoft SQL Server\<SQL Server Instance>\Reporting Services\LogFiles.
The trace log is created daily, starting with the first entry that occurs after midnight (local time), and whenever the service is restarted. The timestamp is based on Coordinated Universal Time (UTC). The file is in EN-US format. By default, trace logs are limited to 32 megabytes and deleted after 14 days.
Configuration Settings for the ReportServerService Log File
Tracing levels are specified through DefaultTraceSwitch and RSTrace settings. All trace level settings are stored in the ReportingServicesrService.exe.config file.
The configuration file is found in the folder path \Program Files\Microsoft SQL Server\MSRS11.<instance name>\Reporting Services\ReportServer\bin
The ReportServerService log file is enabled by default.
To turn it off, set trace level to 0 in the RStrace section of the ReportingServicesService.exe.config file.
To limit the number of days the files are kept, specify the KeepFilesForDays configuration setting in the RStrace section. This value is set to 14 by default.
To limit the file size, specify the FileSizeLimitMb configuration setting in the RStrace section. This value is set to 32 megabytes by default. You can control file size by setting tracing levels (0 through 4) to control how much content is recorded. You can also specify which components get traced. If the log file maximum is reached before the 14 day expiration date, older entries will be replaced with newer entries.
Log File Fields
The following fields can be found in a trace log:
System information, including operating system, version, number of processors, and memory.
Reporting Services component and version information.
Events logged the Application log.
Exceptions generated by the report server.
Low resource warnings logged by a report server.
Inbound SOAP envelopes and summarized outbound SOAP envelopes.
HTTP header, stack trace, and debug trace information.
You can review trace log information to determine whether a report delivery occurred, who received the report, and how many delivery attempts were made. Trace logs also record report execution activity and the environment variables that are in effect during report processing. Errors and exceptions are also entered into trace logs. For example, you may find report time-out errors (indicated as a ThreadAbortExceptions entry).
Example Configuration Settings
The following example illustrates the XML structure of the RStrace settings. The value for DefaultTraceSwitch determines the kind of information that is added to the log. Except for the Components attribute, the values for RStrace are the same across the configuration files.
<system.diagnostics>
<switches>
<add name="DefaultTraceSwitch" value="3" />
</switches>
</system.diagnostics>
<RStrace>
<add name="FileName" value="ReportServerService_" />
<add name="FileSizeLimitMb" value="32" />
<add name="KeepFilesForDays" value="14" />
<add name="Prefix" value="tid, time" />
<add name="TraceListeners" value="file" />
<add name="TraceFileMode" value="unique" />
<add name="Components" value="all" />
</RStrace>
The following table provides information about each setting.
Setting |
Description |
---|---|
RStrace |
Specifies namespaces used for errors and tracing. |
DefaultTraceSwitch |
Specifies the level of information that is reported to the ReportServerService trace log. Each level includes the information reported by all lower-numbered levels. Disabling tracing is not recommended. Valid values are: 0= Disables tracing 1= Exceptions and restarts 2= Exceptions, restarts, warnings 3= Exceptions, restarts, warnings, status messages (default) 4= Verbose mode |
FileName |
Specifies the first part of the log file name. The value specified by Prefix completes the rest of the name. |
FileSizeLimitMb |
Specifies an upper limit on trace log size. The file is measured in megabytes. Valid values are 0 to a maximum integer. The default value is 32. If you specify 0 or a negative number, the report server treats the value as 1. |
KeepFilesForDays |
Specifies the number of days after which a trace log file will be deleted. Valid values are 0 to a maximum integer. The default value is 14. If you specify 0 or a negative number, the report server treats the value as 1. |
Prefix |
Specifies a generated value that distinguishes one log instance from another. By default, timestamp values are appended to trace log file names. This value is set to " tid, time ". Do not modify this setting. |
TraceListeners |
Specifies a target for outputting trace log content. You can specify multiple targets using a comma to separate each one. Valid values are: DebugWindow File (default) StdOut |
TraceFileMode |
Specifies whether trace logs contain data for a 24-hour period. You should have one unique trace log for each component on each day. This value is set to "Unique (default)". Do not modify this value. |
Components |
Specifies the components for which trace log information is generated and the trace level in this format: <component category>:<tracelevel> Component catogories can be set to:
Trace level valid values are: 0= Disables tracing 1= Exceptions and restarts 2= Exceptions, restarts, warnings 3= Exceptions, restarts, warnings, status messages (default) 4= Verbose mode The default value for Report Server is: "all:3". You can specify all or some of the components (all, RunningJobs, SemanticQueryEngine, SemanticModelGenerator). If you do not want to generate information for a specific component, you can disable tracing for it (for example, "SemanticModelGenerator:0"). Do not disable tracing for all. If you do not append a trace level to the component, the value specified for DefaultTraceSwitch is used. For example, if you specify "all,RunningJobs,SemanticQueryEngine,SemanticModelGenerator", all components use the default trace level. You can set "SemanticQueryEngine:4" if you want to view the Transact-SQL statements that are generated for each semantic query. The Transact-SQL statements are recorded in the trace log. The following example illustrates the configuration setting that adds Transact-SQL statements to the log: <add name="Components" value="all,SemanticQueryEngine:4" /> |
Adding Custom Configuration Setting to Specify a Dump File Location
You can add a custom setting to set the location that the Dr. Watson for Windows tool uses to store dump files. The custom setting is Directory. The following example provides an illustration of how this configuration setting is specified in the RStrace section:
<add name="Directory" value="U:\logs\" />
For more information, see Knowledge Base Article 913046 on the Microsoft Web site.