Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

Tracing Commit Script Processing

 

Commit script tracing operations track commit script operations and record them in a log file. The logged error descriptions provide detailed information to help you solve problems faster.

The default operation of commit script tracing is to log important events, which include errors, warnings, progress messages, and script processing events, in the /var/log/cscript.log file on the device. When the file cscript.log reaches 128 kilobytes (KB), it is renamed with a number 0 through 9 (in ascending order) appended to the end of the file and then compressed. For example, the log file is saved as cscript.log.0.gz, then cscript.log.1.gz until there are 10 trace files. Then the oldest trace file (cscript.log.9.gz) is overwritten.

This section discusses the following topics:

Minimum Configuration for Tracing for Commit Script Operations

If no commit script trace options are configured, the simplest way to view the trace output of a commit script is to configure the output trace flag and issue the show log cscript.log | last command. To do this, perform the following steps:

  1. If you have not done so already, enable a commit script by including the file statement at the [edit system scripts commit] hierarchy level:

  2. Enable trace options by including the traceoptions flag output statement at the [edit system scripts commit] hierarchy level:

  3. Issue the commit command:

  4. Display the resulting trace messages recorded in the file /var/log/cscript.log. At the end of the log is the output generated by the commit script you enabled in Step 1. To display the end of the log, issue the show log cscript.log | last operational mode command:

Table 1 summarizes useful filtering commands that display selected portions of the cscript.log file.

Table 1: Commit Script Tracing Operational Mode Commands

Task

Command

Display logging data associated with all script processing.

show log cscript.log

Display script processing for only the most recent commit operation.

show log cscript.log | last

Display processing for script errors.

show log cscript.log | match error

Display script processing for a particular script.

show log cscript.log | match filename

Example: Minimum Configuration for Enabling Traceoptions for Commit Scripts

Display the trace output for the commit script file source-route.xsl:

[edit]

user@host# commit
[edit]

user@host# run show log cscript.log | last

Configuring Tracing of Commit Scripts

You cannot change the directory (/var/log) to which trace files are written. However, you can customize other trace file settings by including the following statements at the [edit system scripts commit traceoptions] hierarchy level:

These statements are described in the following sections:

Configuring the Commit Script Log Filename

By default, the name of the file that records trace output is cscript.log. You can specify a different name by including the file statement at the [edit system scripts commit traceoptions] hierarchy level:

Configuring the Number and Size of Commit Script Log Files

By default, when the trace file reaches 128 KB in size, it is renamed and compressed to filename.0.gz, then filename.1.gz, and so on, until there are 10 trace files. Then the oldest trace file (filename.9.gz) is overwritten.

You can configure the limits on the number and size of trace files by including the following statements at the [edit system scripts commit traceoptions file <filename>] hierarchy level:

For example, set the maximum file size to 640 KB and the maximum number of files to 20. When the file that receives the output of the tracing operation (filename) reaches 640 KB, it is renamed and compressed to filename.0.gz, and a new file called filename is created. When filename reaches 640 KB, filename.0.gz is renamed filename.1.gz and filename is renamed and compressed to filename.0.gz. This process repeats until there are 20 trace files. Then the oldest file (filename.19.gz) is overwritten.

The number of files can range from 2 through 1000 files. The file size can range from 10 KB through 1 gigabyte (GB).

Note

If you set either a maximum file size or a maximum number of trace files, you also must specify the other parameter and a filename.

Configuring Access to Commit Script Log Files

By default, access to the commit script log file is restricted to the owner. You can manually configure access by including the world-readable or no-world-readable statement at the [edit system scripts commit traceoptions file <filename>] hierarchy level.

The no-world-readable statement restricts commit script log access to the owner. The world-readable statement enables unrestricted access to the commit script log file.

Configuring the Commit Script Trace Operations

By default, the traceoptions events flag is turned on, regardless of the configuration settings, and only important events are logged. This includes errors, warnings, progress messages, and script processing events. You can configure the trace operations to be logged by including the following statements at the [edit system scripts commit traceoptions] hierarchy level:

Table 2 describes the meaning of the commit script tracing flags.

Table 2: Commit Script Tracing Flags

Flag

Description

Default Setting

all

Trace all commit script operations.

Off

events

Trace important commit script events, including errors, warnings, progress messages, and script processing events.

On

input

Trace commit script input data.

Off

offline

Generate data for offline development.

Off

output

Trace commit script output data.

Off

rpc

Trace commit script RPCs.

Off

xslt

Trace the Extensible Stylesheet Language Transformations (XSLT) library.

Off