WebMethods Logging Guide 7.1 - Software AG Documentation
WebMethods Logging Guide 7.1 - Software AG Documentation
Page
Cerebra, Glue, Infravio X‐Broker, Infravio X‐Registry, Infravio, My webMethods Server, My webMethods, webMethods Access, webMethods Administrator,
webMethods Broker, webMethods Central Configuration, webMethods Dashboard, webMethods Designer, webMethods Developer, webMethods Fabric,
webMethods Glue, webMethods Infrastructure Data Collector, webMethods Infravio X‐Broker, webMethods Infravio X‐Registry, webMethods Installer,
webMethods Integration Server, webMethods logo, webMethods Mainframe, webMethods Manager, webMethods Modeler, webMethods Monitor,
webMethods Optimize for Infrastructure, webMethods Optimize for Process, webMethods Optimize, webMethods Portal, webMethods Process Engine,
webMethods Servicenet, webMethods Task Engine, webMethods Trading Networks, webMethods Workflow, and webMethods are either registered
trademarks or trademarks of webMethods, Inc.
Acrobat, Acrobat, and Reader are registered trademarks of Adobe Systems Incorporated. Amdocs and ClarifyCRM are registered trademarks of Amdocs.
Ariba is a registered trademark of Ariba, Inc. BEA, BEA WebLogic Server, Jolt, and Tuxedo are registered trademarks, and BEA WebLogic Platform is a
trademark of BEA Systems, Inc. Action Request System, BMC Software, PATROL, and Remedy are registered trademarks of BMC Software, Inc. BroadVision
is a registered trademark of BroadVision, Inc. Chem eStandards and CIDX are trademarks of CIDX, The Chemical Industry Data Exchange. SiteMinder and
Unicenter are registered trademarks of CA, Inc. PopChart is a registered trademark of CORDA Technologies, Inc. Kenan and Arbor are registered trademarks
of Alcatel‐Lucent. Data Connection and SNAP‐IX are registered trademarks of Data Connection Corporation. D&B and D‐U‐N‐S are registered trademarks of
Dun & Bradstreet Corporation. Eclipse is a trademark of Eclipse Foundation, Inc. Entrust is a registered trademark of Entrust, Inc. papiNet is a registered
trademark of the European Union and the United States. Financial Information eXchange, F.I.X, and F.I.X Protocol are trademarks of FIX Protocol Ltd.
UCCnet and eBusinessReady are registered trademarks, and 1SYNC and Transora are trademarks of GS1 US. Hewlett‐Packard, HP, HP‐UX, OpenView, PA‐
RISC, and SNAplus2 are trademarks of Hewlett‐Packard Company. i2 is a registered trademark of i2 Technologies, Inc. AIX, AS/400, CICS, ClearCase, DB2,
Domino, IBM, Informix, Infoprint, Lotus, Lotus Notes, MQSeries, OS/390, OS/400, RACF, RS/6000, SQL/400, S/390, System/390, VTAM, and WebSphere, and
z/OS are registered trademarks; and Communications System for Windows NT, DB2 Universal Database, IMS, MVS, and SQL/DS are trademarks of IBM
Corporation. InnoDB is a trademark of Innobase Oy. Itanium is a registered trademark of Intel Corporation. Linux is a registered trademark of Linus
Torvalds. W3C is a registered trademark, and X Window System is a trademark of the Massachusetts Institute of Technology. MetaSolv is a registered
trademark of Metasolv Software, Inc. ActiveX, Microsoft, Outlook, Visual Basic, Visual SourceSafe, Windows, Windows NT, and Windows Server are
registered trademarks of Microsoft Corporation. Six Sigma is a registered trademark of Motorola, Inc. Firefox and Mozilla are registered trademarks of the
Mozilla Foundation. MySQL is a registered trademark of MySQL AB. nCipher is a trademark of nCipher Corporation Ltd. Eclipse is a trademark of Eclipse
Foundation, Inc. Entrust is a registered trademark of Entrust, Inc. papiNet is a registered trademark of the European Union and the United States. Financial
Information eXchange, F.I.X, and F.I.X Protocol are trademarks of FIX Protocol Ltd. UCCnet and eBusinessReady are registered trademarks, and 1SYNC and
Transora are trademarks of GS1 US. Hewlett‐Packard, HP, HP‐UX, OpenView, PA‐RISC, and SNAplus2 are trademarks of Hewlett‐Packard Company. i2 is a
registered trademark of i2 Technologies, Inc. AIX, AS/400, CICS, ClearCase, DB2, Domino, IBM, Informix, Infoprint, Lotus, Lotus Notes, MQSeries, OS/390,
OS/400, RACF, RS/6000, SQL/400, S/390, System/390, VTAM, and WebSphere, and z/OS are registered trademarks; and Communications System for Windows
NT, DB2 Universal Database, IMS, MVS, and SQL/DS are trademarks of IBM Corporation. InnoDB is a trademark of Innobase Oy. Itanium is a registered
trademark of Intel Corporation. Teradata is a registered trademark of NCR Corporation. Netscape is a registered trademark of Netscape Communications
Corporation. ServletExec is a registered trademark, and New Atlanta is a trademark of New Atlanta Communications, LLC. SUSE is a registered trademark
of Novell, Inc. Appia is a registered trademark and Javelin Technologies is a trademark of NYFIX, Inc. CORBA is a registered trademark of Object
Management Group, Inc. JD Edwards, OneWorld, Oracle, PeopleSoft, Siebel, and Vantive are registered trademarks; and Infranet, PeopleSoft Pure Internet
Architecture, Portal, and WorldSoftware are trademarks of Oracle Corporation. Perforce is a trademark of Perforce Software. JBoss and Red Hat are
registered trademarks of Red Hat, Inc. PIP and RosettaNet are trademarks of RosettaNet, a non‐profit organization. SAP and R/3 are registered trademarks
of SAP AG. PVCS is a registered trademark of Serena Software, Inc. SWIFT and SWIFTNet are registered trademarks of Society for Worldwide Interbank
Financial Telecommunication SCRL. SPARC and SPARCStation are registered trademarks of SPARC International, Inc. BAAN and SSA are registered
trademarks; and SSA Global is a trademark of SSA Global Technologies, Inc. EJB, Enterprise JavaBeans, Java, JavaServer, JDBC, JSP, J2EE, Solaris, Sun, and
Sun Microsystems are registered trademarks; and Java Naming and Directory Interface, JavaServer Pages, SOAP with Attachments API for Java, and SunSoft
are trademarks of Sun Microsystems, Inc. Sybase is a registered trademark of Sybase, Inc. VERITAS is a registered trademark, and VERITAS Cluster Server is
a trademark of Symantec Corporation. UNIX is a registered trademark of The Open Group. Unicode is a trademark of Unicode, Inc. VeriSign is a registered
trademark of Verisign, Inc.
Software AG and all Software AG product names are either trademarks or registered trademarks of Software AG.
Other product and company names mentioned herein may be the trademarks of their respective owners.
Copyright © 2005‐2007 webMethods, Inc. All rights reserved.
Copyright © 2005‐2007 Software AG and/or its suppliers, Uhlandstrasse 12, 64297 Darmstadt, Germany. All rights reserved.
Contents
Chapter 1. Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Server Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Session Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Error Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Guaranteed Delivery Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Service Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Business Process Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Task Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Integration Process Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Document Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Processing Logged Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Viewing Logged Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Archiving or Deleting Logged Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Globalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
This guide explains how to configure webMethods Integration Server server, session,
error, guaranteed delivery, and service logging, and how to improve logging performance
or quality of service, as needed, using specific settings. The guide also explains how to
view logged data. In addition, the guide describes business process, task, integration
process, and document logging, and points to the webMethods documentation that
provides more detailed information of those types of logging.
Document Conventions
Convention Description
Bold Identifies elements on a screen.
Italic Identifies variable information that you must supply or change
based on your specific situation or environment. Identifies terms the
first time they are defined in text. Also identifies service input and
output variables.
Narrow font Identifies storage locations for services on the webMethods
Integration Server using the convention folder.subfolder:service.
Typewriter Identifies characters and values that you must type exactly or
font messages that the system displays on the console.
UPPERCASE Identifies keyboard keys. Keys that you must press simultaneously
are joined with the “+” symbol.
\ Directory paths use the “\” directory delimiter unless the subject is
UNIX‐specific.
[ ] Optional keywords or values are enclosed in [ ]. Do not type the [ ]
symbols in your own code.
Additional Information
The webMethods Advantage Web site at http://advantage.webmethods.com provides you
with important sources of information about webMethods products:
Troubleshooting Information. The webMethods Knowledge Base provides
troubleshooting information for many webMethods products.
Documentation Feedback. To provide feedback on webMethods documentation, go to
the Documentation Feedback Form on the webMethods Bookshelf.
Additional Documentation. Starting with 7.0, you have the option of downloading the
documentation during product installation to a single directory called
“_documentation,” located by default under webMethods installation directory. In
addition, you can find documentation for all webMethods products on the
webMethods Bookshelf.
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
Server Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Session Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
Error Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Service Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Task Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Document Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Globalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Overview
Logging for webMethods products provides important data you need to monitor
webMethods system activity and correct problems. The webMethods product suite offers
the types of logging described below.
This type of
logging... Provides information about...
Server Operations and errors that occur on Integration Server, such as
starting of Integration Server subsystems and loading of packages
belonging to Integration Server or other webMethods products.
Session Sessions opened on Integration Server by clients and Developer
users.
Error Stack trace information about all errors that occur in Integration
Server, including exceptions thrown by services.
Guaranteed Guaranteed delivery transactions.
delivery
Service Services that run in Integration Server.
Business process Business processes modeled in Designer that run on Integration
Servers.
Task Tasks designed in Designer that run on My webMethods Server.
Tasks can be called from business processes or can run as
standalone tasks.
Integration Integration processes made up of a chain of services that run on
process Integration Servers.
Document In doubt, failed, and retries exceeded documents, and documents
that Broker clients publish or subscribe to on Brokers.
Integration Server maintains this logged data. By default, Integration Server stores most
of the data in flat files, but Sofware AG highly recommends configuring Integration
Server to store the data in a database instead. For certain types of logging, you must
configure Integration Server to store logged data in a database.
This chapter describes each type of logging and the properties you can change to
customize that type of logging for your environment. It also briefly describes the
underlying Integration Server mechanism, called the audit subsystem, which performs
most of the logging. In addition, the chapter lists the default language used for log entries
and describes the effect of your operating environment and webMethods language packs
on log entries.
Server Logging
Server logging provides operational and error information from Integration Server’s
major subsystems, called facilities. For example, the package facility writes server log
entries when it loads and unloads packages, the flow manager facility writes server log
entries when it processes a flow service, and HTTP ports write server log entries when
they receive requests. All facilities write these log entries directly to a log named the server
log. You specify which facilities you want to write log entries and the amount of detail you
want each facility to provide.
Other webMethods products, such as Trading Networks and the webMethods EDI
Modules, also write entries to the server log, and do so automatically. Adapters also write
entries to the server log. In addition, you can have services write user‐defined messages
and pipelines to the server log at specified points during their execution.
You can use the information in the server log for general debugging purposes. Below is a
sample server log.
Session Logging
Session logging provides data about sessions that are opened on Integration Server by
clients and Developer users. You can use session log entries to do the following:
Track when sessions start, their current status, and their duration
Record the client that initiated the session and the Integration Server port on which
the client connected
Error Logging
Error logging provides data, including stack trace data, about all errors that occur in
Integration Server. Errors include exceptions thrown by services. You can use error log
data to debug services. Sample stack trace information is shown below.
java.lang.NullPointerException
at JpLogger.addScheduleID(JpLogger.java:46)
at java.lang.reflect.Method.invoke(Native Method)
at com.wm.app.b2b.server.JavaService.baseInvoke(JavaService.java:287
at com.wm.app.b2b.server.ServiceManager.invoke(ServiceManager.java:344)
at com.wm.app.b2b.server.comm.DefaultServerRequestHandler.handleMessage
DefaultServerRequestHandler.java:97)
at com.wm.app.b2b.server.HTTPMessageHandler.process(HTTPMessageHandler.
java:167)
at com.wm.app.b2b.server.Dispatch.run(Dispatch.java:204)
at com.wm.util.pool.PooledThread.run(PooledThread.java:105)
at java.lang.Thread.run(Thread.java:498)
See the names of guaranteed delivery processes that are running
Track whether the processes completed successfully or failed
For complete information about Integration Server’s guaranteed delivery capability, see
the webMethods Integration Server Administrator’s Guide.
Service Logging
Service logging provides data about flow and coded (for example, Java) services that run
in Integration Server. You can use service log entries and data to do the following:
Track when services start, their status, and their duration
Track whether services completed successfully or failed
Record the client that called the service, and the Integration Server port on which the
client connected
Resubmit services
In Integration Server, you globally enable one type of logging for all services, globally
disable all logging for all services, or enable customized logging on a service‐by‐service
basis. If you enable customized logging, you set up the customized logging for specific
services in Developer. For each service, you can choose the following in Developer:
When to log based on how the service is called. For example, you might choose to log
only when the service is called by a client request or trigger, as opposed to by other
services.
On what status to log. For example, you might choose to log only when the service
fails.
Whether to store the service’s input pipeline and, if so, when. For example, you might
choose to log the input pipeline only when an error occurs. Storing the input pipeline
allows you to resubmit the service later if necessary.
Note: Whether you enable or disable service logging in Integration Server and Developer,
if error logging is enabled, the audit subsystem always writes error log entries when
service errors occur. The data includes stack trace data about the errors.
You can augment service logging data using Integration Server built‐in services. The built‐
in services do the following:
Enable services to write user‐defined messages to the server log. You can use this
feature in any service to post progress messages at certain points in the service’s
execution (for example, to indicate whether certain segments of code ran
successfully). You can also use this feature to record the run‐time value of certain
variables at specified points in the service’s execution so you can see how the values
changed as the service ran.
Enable services to write the pipeline to the server log at specified points in the
service’s execution. You can use this feature in any service.
If you are storing logged data in a database, enable services to write user‐defined
messages to the database. You can use this feature in any service, including services
that are run by processes. The feature enables you to post progress messages at
specified points in the service’s execution (for example, to indicate whether certain
segments of code ran successfully).
You can write user‐defined data regardless of whether you globally enable or disable
service logging in Integration Server or set up customized service logging in Developer.
Record the path that business processes took at run time
Track when business processes and business process steps started, changed status,
and ended
Track whether business processes and steps completed successfully or failed
Resubmit business processes at specified steps
In Designer and My webMethods, you specify the amount and type of data to log for each
business process model version. In Designer, you can specify process step input and
output document fields for which to log run‐time values. In My webMethods, you can
also choose to log process transitions so you can see the path the process took at runtime.
For instructions on setting up business process logging, see the Designer online help and
the webMethods Monitor User’s Guide.
Process Engines send logged data for all business processes to the Integration Server audit
subsystem. The Process Engine is a package installed on every Integration Server that
runs business process steps. For detailed information on the Process Engine and how it
logs data, see the webMethods Process Engine User’s Guide.
Task Logging
Tasks are created in Designer and run on My webMethods Server. You can log two types
of data for tasks:
For all tasks, you can use task log entries to track the following:
When tasks are queued
When users accept or release tasks, suspend and resume tasks, and complete or
cancel tasks
Whether tasks completed successfully, failed, or expired
Task Engines send logged data for all tasks to the Integration Server audit subsystem.
The Task Engine is a feature installed on every My webMethods Server that runs
tasks. For detailed information on the Task Engine and instructions on setting up task
logging, see the webMethods Task Engine User’s Guide.
Users perform the actions listed above from the task list in My webMethods. For
instructions on performing actions on tasks, see the webMethods Task Engine User’s
Guide.
For tasks that are called from business processes, you can write business process log
entries. Tasks called from business processes are run as business process steps, so you
can log the same data for a task that you can log for any other business step (see
“Business Process Logging”, above). Process Engines log all business process entries.
Document Logging
There are several types of document logging:
When a trigger is configured for exactly‐once processing and Integration Server
cannot determine whether the current document is a copy of one the trigger has
already processed, the audit subsystem logs the document to the logging database as
an in doubt document. For more information on exactly‐once processing and in doubt
documents, see the Publish‐Subscribe Developer’s Guide.
If a transient error occurs while Integration Server is publishing, delivering, or
retrieving a document for a trigger, the audit subsystem logs the document to the
logging database as a failed document. For more information on failed documents, see
the Publish‐Subscribe Developer’s Guide.
If Integration Server has tried repeatedly to publish or deliver a document for a
trigger from its outbound store and failed, the audit subsystem logs the document to
the logging database as a retries exceeded document. For more information on retries
exceeded documents, see the Publish‐Subscribe Developer’s Guide.
You can configure your system to log specified documents that Broker clients publish
or subscribe to on Brokers. The audit subsystem logs those documents to the logging
database. For more information and detailed instructions, see the webMethods Broker
Administrator’s Guide.
Integration Server
audit
subsystem
database
You can change many properties of the temporary store, such as whether to maintain the
store on disk or in memory. If you are storing logged data in a database, you must change
some properties; for example, you must set the maximum number of entries the
temporary store can hold based on factors and constraints in your environment.
For complete information on the IS Core Audit Log and Process Audit Log database
components, see the webMethods Installation Guide.
Session Yes No
Monitor links related logged data in its display; for example, for a business process or
business process step, you can see all relevant service, error, and user‐defined message
entries. Integration Server Administrator does not link related data for you; you must look
through the individual logs for related data yourself. You can also perform a variety of
actions from Monitor; for example, if you logged input pipelines for services, you can edit
the pipelines and resubmit the services. For more information about Monitor, see the
webMethods Monitor User’s Guide.
Globalization
If a webMethods product is equipped with webMethods language packs and some of
those language packs correspond to the language used by the operating environment in
which the product is running, the product writes its log entries in the language used by
the operating system. If the product is equipped with no language packs or with language
packs that do not correspond to the language used by the operating system, the product
writes its log entries in U.S. English.
Suppose your operating environment uses Japanese as its language. You have installed
language packs including the Japanese Language Packs on Integration Server, so
Integration Server stores its own log entries in Japanese. You have not installed the
Japanese Language packs on Trading Networks, so Integration Server stores Trading
Networks’ log entries in U.S. English.
Note: Even if no language packs are installed on the webMethods product and the product
is using U.S. English, Integration Server might store log entries from external sources,
such as database drivers or adapter resources, in the language used by the operating
environment in which the product is running.
Note: The server log is always stored in flat files. You cannot store it in a database.
The benefits of using a database are as follows:
You can use Monitor, which allows you to view document, business process, and
integration process log entries, as well as perform a variety of actions not otherwise
available. For information on the benefits of using Monitor, see “Viewing Logged
Data” on page 15.
Storing logged data in a database improves logging performance. When you use a
database, multiple logging threads can write data from Integration Server’s temporary
store to the database simultaneously. When you use flat files, only one logging thread
at a time can write data to each file.
You can use facilities in your database to control the length of time the data is
retained. When you store logged data in flat files, you must delete the files manually
when you no longer need them.
You must either store the IS Core Audit Log and Process Audit Log to a database or to flat
files. You cannot store one log in a database and the other in flat files.
The section below explains how to configure Integration Server to store logged data in flat
files. For instructions on configuring Integration Server to store logged data in a database,
see the webMethods Installation Guide.
In the file names below, yyyymmdd identifies the date on which Integration Server created
the flat file.
Important! The guaranteed delivery function has a client component
and a server component. The server component runs on Integration
Server. The client component can run on another Integration Server or
can be a standalone Java program that uses the guaranteed delivery
TContext API. In the latter case, the log file written to by the
guaranteed delivery function is determined by the Java property
watt.tx.logfile. Each time you start the client component, specify this
property using the ‐D option on the command line:
-Dwatt.tx.logfile=logs/MyTX.log
For example:
1 In Integration Server Administrator, go to the SettingsExtended page and click Show
and Hide Keys. Integration Server Administrator displays a list of the Integration Server
configuration properties you can change using this method.
2 Select the check box next to the watt.debug.logfile property.
3 Click Save Changes. Integration Server Administrator displays the property in the
Extended Settings box.
4 Click Edit Extended Settings. In the Extended Settings box, set the property as follows:
watt.debug.logfile=fully qualified path to server, session, service,
and error log file directory
5 Click Save Changes, then restart Integration Server.
Important! If you choose to write synchronously, and Integration Server unexpectedly shuts
down or another unexpected disruption occurs, you might lose logged data.
1 In Integration Server Administrator, go to the SettingsExtended page and click Show
and Hide Keys. Integration Server Administrator displays a list of the Integration Server
configuration properties you can change using using this method.
2 Select the check box next to the watt.server.auditSync property.
3 Click Save Changes. Integration Server Administrator displays the property in the
Extended Settings box.
4 Click Edit Extended Settings. In the Extended Settings box, set the property to true if you
want to write logged data synchronously, or to false if you want to write logged data
asynchronously, using the temporary store.
5 Click Save Changes, then restart Integration Server.
1 In Integration Server Administrator, go to the SettingsExtended page and click Show
and Hide Keys. Integration Server Administrator displays a list of Integration Server
configuration properties you can change using this method.
2 Select check boxes next to properties as follows:
Select this
To change this... From the default... Reasons to change... property...
Minimum number of threads to use 1 thread Typically not watt.server.
concurrently to write logged data to the necessary to auditMinPool
temporary store and to pull logged data change.
from the temporary store and write it to a
database or flat files. For example, 1
thread means the audit subsystem uses
at least 1 thread to write logged data to
the temporary store, and at least 1 thread
to pull logged data from the store.
Maximum number of threads to use 10 threads Improve watt.server.
concurrently to write logged data to the performance. If auditMaxPool
temporary store and to pull logged data storing logs in a
from the temporary store and write it to a database,
database or flat files. For example, 10 coordinate with the
threads mean the audit subsystem uses maximum database
up to 10 threads to write logged data to connections value.
the temporary store, and up to 10 threads
to pull logged data from the store.
Number of log entries for each thread to 100 entries Customize to your watt.server.
pull from the temporary store and store, environment. auditFetchSize
as a batch, in a database or flat files.
If storing logged data in a database, 3 retries Improve quality of watt.server.
maximum number of times to retry service. auditRetryCount
writing a log entry to the database.
Select this
To change this... From the default... Reasons to change... property...
Whether to maintain the temporary store Disk; file stored Improve watt.server.audit
on disk or in memory. in Integration performance or Guaranteed
Server_directory quality of service.
\audit\data
directory
Maximum number of log entries the 100,000 entries Customize to your watt.server.audit
temporary store can hold. environment. If Threshold
storing logs in a
database,
coordinate with
database
connection values.
If maintaining the temporary store on 10 megabytes Adjust the size of watt.server.audit
disk, space allocation for the temporary the temporary store DBSize
store file. file for your
environment.
If maintaining the temporary store on Integration Save room on watt.server.audit
disk, directory to which to write the Server_directory Integration Server Dir
temporary store file. \audit host machine.
directory
3 Click Save Changes. Integration Server Administrator displays the selected properties
in the Extended Settings box.
4 Click Edit Extended Settings. In the Extended Settings box, set the properties as follows:
watt.server.auditMinPool=minimum concurrent threads to write data
to/pull data from temporary store
watt.server.auditMaxPool=maximum concurrent threads to write data
to/pull data from temporary store
The audit subsystem has its own thread pool, so the setting of this property does
not affect the performance of other Integration Server operations.
If you are storing logged data in a database, set this property equal to the total
maximum number of connections you specify for the connection pools for that
database, minus one for Monitor’s connection. If you do not set this property
correctly, the temporary store could fill to capacity, and subsequent log entry
requests and pending services would block. If such a situation occurs, the audit
subsystem tries to write the oldest pending log entry up to the number of times
specified on the watt.server.auditRetryCount property. If it still cannot write the
log entry to the temporary store, the audit subsystem writes the entry to the
server log instead. Log entry requests and services continue to block until space
again becomes available in the temporary store.
Set this property to a size that accommodates your system’s average volume for
log entries. Also consider the watt.server.auditMaxPool property setting and your
JVM’s heap size. If you are storing logged data in a database, factor in database
performance and the amount of bandwidth available through your network to the
database.
watt.server.auditRetryCount=maximum times to retry write to
database
If you are storing logged data in a database and the temporary store fills to
capacity, the audit subsystem tries to write the oldest pending log entry up to the
number of times specified on this property. Set this property based on the degree
to which you require log entries to be stored in the database. If the audit
subsystem cannot write the log entry to the temporary store after the specified
number of retries, it writes the entry to the server log instead.
watt.server.auditGuaranteed={true|false}
To maintain the temporary store on disk, set the property to true. To maintain the
temporary store in memory, set the property to false.
Maintaining the store on disk provides better logging quality of service, while
maintaining the store in memory provides better logging performance. However,
if you choose to maintain the temporary store in memory and Integration Server
shuts down abnormally, all information in the temporary store will be lost.
Make sure you have enough disk space or memory available to handle your
average volume for log entries.
watt.server.auditThreshold=maximum entries in temporary store
Specify this value in thousands. For example, if you want to set the maximum
entries to 200,000, specify 200.
Set this property to a size that accommodates your system’s average volume for
log entries. If your logging volume has sudden spikes, the audit subsystem can
usually catch up by writing the pending entries during lulls. Make sure the
Integration Server host machine has enough physical memory and RAM to
accommodate the largest possible size of the temporary store as specified on this
property, as well as the requirements of other applications on the Integration
Server.
If you are storing logged data in a database, the audit subsystem’s insertion of
logged data into the database is constrained by the database’s availability and
connections limit. If the audit subsystem cannot pull entries from the temporary
store and write them to the database quickly enough, the temporary store could
fill to capacity, and subsequent log entry requests and pending services would
block. Coordinate the setting of this property with the watt.server.auditFetchSize
property and your database connection values to make sure the temporary store
is emptied efficiently.
Integration Server displays messages that warn you when the temporary store is
about to or has filled to capacity. Integration Server also displays messages that
tell you when space has again become available in the temporary store and the
audit subsystem has resumed storing log entries in the database or flat files.
watt.server.server.auditDBSize=space allocation for temporary store
file
If you store the temporary store on disk, the audit subsystem creates a file of the
size you specify on this property in the Integration Server_directory\audit\data
directory under the name AuditStore.data0000000. Specify the value in
megabytes.
If the audit subsystem cannot pull entries from the temporary store quickly
enough, the temporary store file’s capacity might be insufficient to hold the
pending entries. In this case the audit subsystem creates a second file named
AuditStore.data0000001 that is the same size as the first. If the second file’s
capacity becomes insufficient, the audit subsystem creates a third file named
AuditStore.data0000002, and so on. These extra files continue to exist even after
all pending requests have been pulled, consuming space on your disk.
If the audit subsystem creates the extra files because of an unusual event (for
example, your database was down unexpectedly for a long period of time), you
should free up disk space by removing the extra files when the event is over and
your system has returned to normal. To do so, change the value on this property
by increasing it slightly. The audit subsystem will create a new temporary store
file of the specified size and delete all the old files.
If you find that you are removing extra files and the audit subsystem is recreating
them on a regular basis, however, it is a sign that you need more temporary store
space. Increase the value on this property as much as necessary. The audit
subsystem will create a new temporary store file of the specified size, copy all
pending requests from the old files to the new file, and delete all the old files. You
should also review the other temporary store properties discussed in this chapter
to make sure they are set for the most efficient processing of logged data.
watt.server.auditDir=fully qualified path to temporary store
directory
If you are storing the temporary store on disk and you want to save room on the
Integration Server host machine, you might set this location to a directory on a
remote machine.
5 Click Save Changes, then restart Integration Server.
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Overview
Server logging provides operational and error information from Integration Server’s
major subsystems, called facilities, and from facilities for individual products that are
installed on Integration Server. The facilities write all server log entries directly to a log
named the server log.
By default, all facilities write to the server log, and the facilities write log entries about
critical, error, warning, informational, and debug‐related situations. You can have only
selected facilities write to the log, and you can increase or decrease the amount of data the
facilities provide. This flexibility is useful for troubleshooting. For example, you might
temporarily increase the level of detail written to the server log to help uncover the cause
of an Integration Server error or performance problem, and return to a lower level once
the problem is resolved. You can also override the amount of information to include in the
server log for a particular Integration Server session.
By default, Integration Server queues log entries written by its facilities in memory, then
uses a background thread to write them to the server log. You can change that property so
that facilities write directly to the server log. Using a background thread improves
Integration Server performance, but writing directly causes the entries to appear in the
server log more quickly.
Integration Server always writes server log entries to flat files; you cannot store the server
log in a database. You can override the location of the server log files for a particular
session.
To specify the amount and type of information to include in the server log:
1 In Integration Server Administrator, go to the SettingsLogging page. The Loggers area
lists Integration Server and products that are installed on Integration Server, and the
facilities for each of these. To see the facilities and their current logging levels, open
the tree.
2 Click Edit Logging Settings. By default, all products inherit the logging level of the
Default node. Inherited values are shown in grey text. When you explicitly change the
logging level for a product or facility, that level overrides the Default node level. You
can take these actions:
Change the level for the Default node. To do so, click the level to use in the Logging
Level list for the Default node. Integration Server Administrator resets all products
and facilities that inherit from the Default node to the new level.
Change the level for a particular product from the Default node level. To do so,
click the level to use in the Logging Level list for the product node. Integration
Server Administrator resets all facilities that inherit their values from the product
to the new level.
Change the level for a particular facility. To do so, click the level to use in the
Logging Level list for the facility.
If you change a level and later want it to inherit from its parent node again, reset the
level to the level of the parent node.
The logging levels are described below. Each logging level includes the indicated type
of message plus all messages from the levels above it (for example, the Warn level
includes Fatal, Error, and Warn messages).
Important! Recording more information consumes more system resources.
3 Click Save Changes.
1 In Integration Server Administrator, go to the SettingsExtended page and click Show
and Hide Keys. Integration Server Administrator displays a list of the Integration Server
configuration properties you can change using this method.
2 Select the check box next to the watt.server.log.queued property.
3 Click Save Changes. Integration Server Administrator displays the property in the
Extended Settings box.
4 Click Edit Extended Settings. In the Extended Settings box, set the property to true if you
want to queue server log entries or to false if you do not want to queue server log
entries.
5 Click Save Changes, then restart Integration Server.
1 Open a command window and go to the Integration Server installation directory.
2 Start Integration Server by entering this command:
System Command
Windows bin\server.bat [-debug level] [-log {filename | none}]
Options are shown below.
Option Description
level Amount of information to record for all products and facilities listed
on the SettingsLogging page for this session. For possible values, see
“Specify Amount and Type of Information to Include” on page 26.
For this session only, this option overrides the values specified on the
SettingsLogging page and on the watt.debug.level property.
filename Fully qualified path to the file in which to write the server log for this
session.
For this session only, this option overrides the value specified on the
watt.debug.logfile property.
none Displays the server log on your console. Integration Server records a
timestamp with no other information in the server log file for this
session.
For this session only, this option overrides the value specified on the
watt.debug.logfile property.
Code Product
ITU Developer utility classes
EDICOR EDI Module
EDIINT EDIINT
ISS or ISC Integration Server
LGU Logging Utility
PRT Process Engine
MON Monitor
TNS Trading Networks
The logging levels and codes are Fatal (C), Error (E), Warn (W), Info (I), Debug (D), and
Trace (T). Your logging level setting determines the types of messages you see in the server
log.
1 In Integration Server Administrator, go to the SettingsExtended page and click Show
and Hide Keys. Integration Server Administrator displays a list of the Integration Server
configuration properties you can change using this method.
2 Select the check box next to the watt.debug.layout property.
3 Click Save Changes. Integration Server Administrator displays the property in the
Extended Settings box.
4 Click Edit Extended Settings. In the Extended Settings box, set the property to legacy if
you want to use the default format or to new if you want to use the 7.1 format.
5 Click Save Changes, then restart Integration Server.
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Overview
Session logging provides data about sessions that are opened on Integration Server. By
default, session logging is enabled, but you can disable it.
1 In Integration Server Administrator, go to the SettingsExtended page and click Show
and Hide Keys. Integration Server Administrator displays a list of Integration Server
configuration properties you can change using this method.
2 Select check box next to the watt.server.auditlog.session property.
3 Click Save Changes. Integration Server Administrator displays the selected property in
the Extended Settings box.
4 Click Edit Extended Settings. In the Extended Settings box, set the
watt.server.auditLog.session property to true to enable session logging, or to false
to disable session logging.
5 Click Save Changes, then restart Integration Server.
Column Details
Timestamp Date and time the entry was written to the log.
Server Id Integration Server on which the session occurred and port on
which the client connected. The ID can be DNSname:port or
IPaddress:port.
User Id Integration Server user name under which the client connected for
the session.
Client IP IP address of the machine from which the client request was
submitted. The word “system” appears for session requests from
Integration Server for operations such as running a scheduled
service or refreshing the display.
Session State Current status of the session (Started, Expired, or Ended).
RPCs Number of services the client has called so far during the session.
Column Details
Age Duration of the session, in milliseconds.
Session ID A string the server generates to identify each session uniquely.
By default, Integration Server Administrator displays the most recent entries in the log.
You can change various aspects of the display (see “Change the Log Displays” on
page 50).
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Overview
Error logging provides data, including stack trace data, about all errors that occur in
Integration Server. By default, error logging is enabled, but you can disable it.
1 In Integration Server Administrator, go to the SettingsExtended page and click Show
and Hide Keys. Integration Server Administrator displays a list of Integration Server
configuration properties you can change using this method.
2 Select the check box next to the watt.server.auditLog.error property.
3 Click Save Changes. Integration Server Administrator displays the selected property in
the Extended Settings box.
4 Click Edit Extended Settings. In the Extended Settings box, set the
watt.server.auditLog.error property to true to enable error logging, or to false to
disable error logging.
5 Click Save Changes, then restart Integration Server.
Column Details
Timestamp Date and time the entry was written to the log.
Service Name Name of the service in which the error occurred.
Error Message Message that describes the error that occurred.
Stack Trace Trace that shows the call sequence leading to the error. To expand
the display of stack trace data, select the Expand Stack Trace Data
check box in the Log display controls area and click Refresh.
Root Context Context information Monitor uses to connect related entries from
Parent Context different logs.
Current Context
By default, Integration Server Administrator displays the most recent entries in the log.
You can change various aspects of the display (see “Change the Log Displays” on
page 50).
For information about viewing error log entries in Monitor, see the webMethods Monitor
User’s Guide.
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Overview
Guaranteed delivery logging provides data about guaranteed delivery transactions in
Integration Server. By default, guaranteed delivery logging is enabled, but you can disable
it. The audit subsystem writes guaranteed delivery log entries to two logs, one for
inbound transactions and one for outbound transactions.
1 In Integration Server Administrator, go to the SettingsExtended page and click Show
and Hide Keys. Integration Server Administrator displays a list of Integration Server
configuration properties you can change using this method.
2 Select the check box next to the watt.server.auditLog.gd property.
3 Click Save Changes. Integration Server Administrator displays the selected property in
the Extended Settings box.
4 Click Edit Extended Settings. In the Extended Settings box, set the watt.server.auditLog.gd
property to true to enable guaranteed delivery logging, or to false to disable
guaranteed delivery logging.
5 Click Save Changes, then restart Integration Server.
Column Details
Timestamp Date and time the entry was written to the log..
Status Current status of the transaction (Start or Stop).
Message Name of the guaranteed delivery process that is running.
Error Message If the transaction failed, message that describes the error that
occurred.
Root Context Context information Monitor uses to connect related entries from
Parent Context different logs.
Current Context
By default, Integration Server Administrator displays the most recent entries in the
inbound guaranteed delivery transactions log. You can switch to the log entries in the
outbound transactions log by clicking View Guaranteed Delivery Outbound Log. You can
change various aspects of the display (see “Change the Log Displays” on page 50).
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Overview
Service logging provides data about flow and coded (for example, Java) services that run
in Integration Server. By default, logging is globally enabled in Integration Server on a
service‐by‐service basis for all services, but no customized logging is set up for any service
in Developer. Customized logging specifies the following for a service:
When to log based on how the service is called. For example, you might choose to log
only when the service is called by a client request or trigger, as opposed to by other
services.
On what status to log. For example, you might choose to log only when the service
fails.
Whether to store the service’s input pipeline and, if so, when. For example, you might
choose to log the input pipeline only when an error occurs. Storing the input pipeline
allows you to resubmit the service later if necessary.
You can change the global settings in Integration Server. You can set up one type of
logging for all services, or you can disable logging for all services. If you enable service‐
by‐service logging in Integration Server, you can set up customized logging for specific
services in Developer.
You can augment service logging data by using Integration Server built‐in services to
write user‐defined messages to the server log or to the IS Core Audit Log database.
Note: Entries in the audit log identify the Integration Server that executed the service. The
Integration Server ID always uses the primary Integration Server port, even if a service
execute using another (non‐primary) Integration Server port.
1 In Integration Server Administrator, go to the SettingsExtended page and click Show
and Hide Keys. Integration Server Administrator displays a list of the Integration Server
configuration properties you can change using this method.
2 Select the check box next to the watt.server.auditLog property.
3 Click Save Changes. Integration Server Administrator displays the property in the
Extended Settings box.
Sofware AG recommends using the perSvc option. Use the brief or verbose option only
in a development environment, when performing an extensive debugging effort.
5 Click Save Changes, then restart Integration Server.
Whether to store the service’s input pipeline and, if so, when, as follows:
Only when an error occurs
Always
For complete information on working with services, see the webMethods Developer User’s
Guide.
To improve service logging performance, do the following:
Set up customized logging for top‐level services only. Avoid logging nested services.
Log on service failure or log on service failure or successful completion. Only choose
to log on service failure or success and start when you need the greatest possible
quality of service.
Store the input pipeline only for top‐level services and only when absolutely
necessary. It is usually sufficient to store the pipeline on failure only. Remove all
unnecessary data from the pipeline to minimize the volume of data to store.
The business process log entries that the Process Engine can write for business process
steps that run services (that is, business process step start and successful completion
or failure log entries) convey the same information as the service log entries you can
write for services. In addition, the Process Engine can store the input pipeline for
services that are run by business process steps. To improve logging performance,
coordinate logging for such services to avoid logging the same information twice.
Note: When coordinating logging, keep in mind that when a service is run by a
business process step, it is actually called by a wrapper service, making it a nested
service (as opposed to a top‐level service).
Input Parameters
FullMessage String Optional. Complete message to record in the IS Core Audit Log
database. The message can be up to 1024 bytes.
BriefMessage String Optional. Shortened version of the full message. The message
can be up to 240 bytes.
EntryType String Type of message.
Set to... To...
Message Indicate that the message is informational and no action is
needed.
Warning Indicate that the message is a warning message. The
business process can complete successfully even if the
circumstance causing the warning is not addressed.
Error Default. Indicate that the message is an error message. An
error message will not stop the business process or put it in
an error state. However, the business process cannot
complete successfully until the circumstance causing the
error is resolved.
Output Parameters
None.
Column Details
Timestamp Date and time the entry was written to the log.
User Id Integration Server user name of the client that called the service
that generated the log entry.
Server Id Integration Server on which the service that generated the log
entry ran and port on which the requesting client connected. The
ID can be DNSname:port or IPaddress:port.
Service Name Service that generated the log entry.
Resubmittable Whether you can resubmit the service from Monitor. You can
resubmit a service if it is a top‐level (as opposed to nested) service
and the service’s input pipeline was logged.
Status Current status of the service (Started, Retried, Ended, or Failed).
Duration Length of time the service ran (in milliseconds).
Error Message If the service failed, message that describes the error that occurred.
Root Context Context information Monitor uses to connect related entries from
Parent Context different logs.
Current Context
By default, Integration Server Administrator displays the most recent entries in the log.
You can change various aspects of the display (see “Change the Log Displays” on
page 50).
For information about viewing service log entries in Monitor, see the webMethods Monitor
User’s Guide.
Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Send Messages About Critical Issues and Service Failures to Email Addresses . . . . . . . . . . . . 52
Overview
This chapter explains how to:
Change various aspects of the log displays
Configure Integration Server to automatically send notifications to a specified email
address each time a critical issue occurs or a service fails
Change various aspects of the displays temporarily
Change various aspects of the display permanently
Display logged data in different languages
1 In Integration Server Administrator, go to the SettingsLogging page and click Edit
Logging Settings.
2 In the Format box, type the date and time format to use. You can specify any format
that is supported by the Java class java.text.SimpleDateFormat (for example, yyyy‐
MM‐dd HH:mm:ss z).
3 Click Save Changes.
If Integration Server is storing logged data in a database, most log pages offer From: and
To: fields that let you choose the entries to display using a date range.
Note: Using date ranges can slow system performance.
Important! Increasing the number of entries displayed significantly can slow system
performance. Decreasing the refresh interval significantly can slow system performance.
1 In Integration Server Administrator, go to the SettingsExtended page and click Show
and Hide Keys. Integration Server Administrator displays a list of the Integration Server
configuration properties you can change using this method.
2 Select the check box next to the properties you want to change, as follows:
3 Click Save Changes. Integration Server Administrator displays the property in the
Extended Settings box.
4 Click Edit Extended Settings. In the Extended Settings box, set each property to a positive
integer.
5 Click Save Changes. Changes take effect immediately.
characters in a text editor or command shell on a Solaris system, you might change your
locale setting to ja_JP.UTF‐8.
On a Windows system, because the files do not contain the BOM character, text editors
such as Notepad might not detect the UTF‐8 encoding correctly. Adjust the encoding
manually so you can view the files. To view the logs in the cmd shell, you can use the
command chcp 65001.
A service fails. These service failures are the stack track information written to the
error log.
To send messages about critical issues and service failures to email addresses:
1 In Integration Server Administrator, go to the SettingsLogging page and click Edit
Logging Settings.
2 In the SMTP Server box, type the server name or IP address of the SMTP server to use to
send the messages.
3 In the Internal Email box, type the email address to which to send messages about
critical log entries. Typically, you would specify the email address for the Integration
Server administrator.
4 In the Service Email box, type the email address to which to send messages about
service failures. In a development environment, you might direct these messages to
the developer. In a production environment, you might direct these messages to the
Integration Server administrator.
5 By default, Integration Server uses character set utf‐8 for the messages. If you want to
use a different character set, identify the character set in the Default Email Charset box.
6 Click Save Changes.
7 By default, Integration Server connects to port 25 on the specified SMTP server. Also
by default, when sending a message, Integration Server provides its own address (the
From Address) as Integration‐Server@localhost, where localhost is the Integration
Server host machine. If you want to change either of these properties, follow these
steps:
a In Integration Server Administrator, go to the SettingsExtended page. Integration
Server Administrator displays a list of Integration Server configuration properties
you can change using this method.
b Click Edit Extended Settings. In the Extended Settings box, set the properties as
follows:
To change this...
SMTP server port watt.server.smtpServerPort=port to use
c Click Save Changes, then restart Integration Server.