When a failure occurs during product runtime processing,
the (FFDC) feature instantly collects information about the events
and errors that lead up to the failure. The captured data can then
be used to analyze the problem. After a maximum number of days, these
files are automatically deleted from your system.
After the information is collected, and
saved in a log file, FFDC returns control to the affected engines.
By default, a FFDC log file is automatically purged seven days
it is created. You can configure the amount of days between purges
if you are concerned about the amount of space that the FFDC log files
are using.
Two FFDC implementations are provided in the product:
- The WebSphere FFDC, which is the legacy FFDC implementation. This
FFDC can only be used in WebSphere products.
- The IBM FFDC, which is a more componentized, and more generic
implementation that depends solely on the JDK. This FFDC can be used
in client processes and by non-WebSphere products, because it is pluggable
with non-WebSphere data collectors, formatters, providers, and listeners.
Both of these FFDC implementations support the OnDirProvider type
functionality that is configurable using the com.ibm.ffdc.log Java
environment variable. The OnDirProvider functionality includes a built-in
provider that stores incidents as separate files in a directory, along
with a separate summary file. The com.ibm.ffdc.log Java environment
variable can be set to the following values:
- <file_name>, where file_name is
either be the name of a single file or a directory path.
- If file_name exists and is the name of a single
file, all of the incident and summary reporting information that FFDC
collects is appended into that file.
- If file_name exists and is a directory path,
whenever an incident occurs, a new file is created in that directory
and all of the incident and summary reporting information for that
incident is written into this newly created file. The incident is
also added to the summary report in this directory.
- If file_name ends in a file separator (\ or
/). but a file with the specified name does not exist, a directory
called file_name is created. Then, whenever an
incident occurs, a new file is created in that directory and all of
the incident and summary reporting information for that incident is
written into this newly created file. The incident is also added to
the summary report in this directory.
- If file_name does not end in a file separator
(\ or /). and a file with the specified name does not exist, a single
file is created and given the specified name. All of the incident
and summary reporting information that FFDC collects is then appended
into that file.
- System.out, which appends the incidents
and summary report information to the stdout output stream.
- System.err, which append the incidents
and summary report information to the stderr output stream. System.err
is the default value for the com.ibm.ffdc.log Java environment variable.
- Suppress, which causes all FFDC collected
information to be discarded.
Specifying a value for the com.ibm.ffdc.log Java environment variable
is the only configuration change that you need to make to exploit
the OnDirProvider functionality. The new FFDC also provides mechanisms
to overly choose this provider or to use your own WebSphere provider.
Avoid trouble: If the default setting for automatic
purging of FFDC information is too long for your environment, see
the topic Configuring first failure data capture log file purges for
a description of how you can modify the length of time that the FFDC
information is retained on your system.
gotcha