Class AnalysisLogger
- java.lang.Object
-
- com.ibm.websphere.als.AnalysisLogger
-
Deprecated.
public class AnalysisLogger extends java.lang.Object
This is the entry into the logging facility. Any application needs to log data must create an instance of this class using the appropriate constructor. Since this class listens on the ServletContext events to determine when to log data to the persistent storage, to use it in an EJB, pass null for the ServletContext so that it doesn't listen for the ServletContext events. And in this case, the application is responsible for callingflush
method at the appropriate interval. MethodgetLogSize
may be used as a determination criteria.There are 3 persistent storage implementations: Database, File, and HTTP. Use appropriate constructor to enable each one. The Database persistence is implemented by
DatabaseLogger
class. The application is responsible for setting up the database and the table as defined by theDatabaseLogger
class. This class works with any database supports JDBC. The File persistence is implemented byFileLogger
class.FileLogger
is not clusterable; that is, it must be defined on all machines participating in a cluster. The HTTP persistence is implemented byHttpLogger
class. It supports both HTTP and HTTPS transport. However, HTTPS is not recommended if the traffic volume is high.Application may define custom-logger by implementing the interface Logger. To enable debug trace, set com.ibm.websphere.als.*=all=enabled.
Sample usage for IBM DB2: DatabaseLogger dblogger = new DatabaseLogger(ds, "CURRENT TIMESTAMP", "WAS.ALS", "db2admin", "db2admin"); AnalysisLogger logger = new AnalysisLogger(context, dblogger); ... logger.log(request, "sample=testing;");
- See Also:
Logger
,DatabaseLogger
,FileLogger
,HttpLogger
-
-
Field Summary
Fields Modifier and Type Field and Description protected static com.ibm.ejs.ras.TraceComponent
myTracer
Deprecated.
-
Constructor Summary
Constructors Constructor and Description AnalysisLogger(javax.servlet.ServletContext sc, Logger l)
Deprecated.Constructs an AnalysisLogger object with the default cache size of 50 entries.AnalysisLogger(javax.servlet.ServletContext sc, Logger l, int maxBufferSize)
Deprecated.Constructs an AnalysisLogger object.
-
Method Summary
Methods Modifier and Type Method and Description static void
debug(java.lang.Exception e)
Deprecated.void
flush()
Deprecated.Flushes the data in the cache.java.lang.String
getAppID()
Deprecated.Returns the current application ID.boolean
getAutoSession()
Deprecated.Returns the auto-create session flag.boolean
getCookieLogging()
Deprecated.Returns the COOKIE logging flag.boolean
getHttpLogging()
Deprecated.Returns the HTTP logging flag.Logger
getLogger()
Deprecated.Returns the current Logger object.int
getLogSize()
Deprecated.Returns the number of log entries currently in the buffer awaiting to be written to the permanent storage.boolean
isEnabled()
Deprecated.Returns the logging enabled flag.void
log(javax.servlet.http.HttpServletRequest hsr, java.lang.String data)
Deprecated.Logs the specified data.void
log(javax.servlet.http.HttpServletRequest hsr, java.lang.String key, java.lang.String value)
Deprecated.Logs the specified data.void
setAppID(java.lang.String appID)
Deprecated.Sets the application ID.void
setAutoSession(boolean value)
Deprecated.Sets the auto-create session flag tovalue
.void
setCookieLogging(boolean value)
Deprecated.Sets the COOKIE logging flag tovalue
.void
setEnabled(boolean value)
Deprecated.Sets the logging enabled flag tovalue
.void
setHttpLogging(boolean value)
Deprecated.Sets the HTTP logging flag tovalue
.void
terminate()
Deprecated.Stops logging and releases all associated resources.
-
-
-
Constructor Detail
-
AnalysisLogger
public AnalysisLogger(javax.servlet.ServletContext sc, Logger l)
Deprecated.Constructs an AnalysisLogger object with the default cache size of 50 entries.- Parameters:
sc
- a ServletContext of the webapp requesting the logging. If this param is null, flusing the cache is done as part of log() invocation. This behavior is necessary for EJB logging.l
- a Logger responsible for writing data to persistent storage- See Also:
Logger
-
AnalysisLogger
public AnalysisLogger(javax.servlet.ServletContext sc, Logger l, int maxBufferSize)
Deprecated.Constructs an AnalysisLogger object.- Parameters:
sc
- a ServletContext of the webapp requesting the logging. If this param is null, flusing the cache is done as part of log() invocation. This behavior is necessary for EJB logging.l
- a Logger responsible for writing data to persistent storagemaxBufferSize
- a maximum number of entries cached in the buffer before callingflush()
- See Also:
Logger
-
-
Method Detail
-
log
public void log(javax.servlet.http.HttpServletRequest hsr, java.lang.String data) throws java.lang.Exception
Deprecated.Logs the specified data. The data is kept in the buffer and written to permanent storage based on 2 factors--the number of the distinct entries in the buffer reachesmaxBufferSize
specified in the constructor, or the time elapse since last flush has been longer than a minute. The format of the data iskey=value;
. Note that the semicolon is appended to the value automatically.- Parameters:
hsr
- - the HttpServletRequest of the request. If this param is null, a unique sequence number is generated for the REQID, and the session ID is zerodata
- - a well-formated and semicolon-terminated string- Throws:
java.lang.Exception
- - thrown when unable to write data
-
log
public void log(javax.servlet.http.HttpServletRequest hsr, java.lang.String key, java.lang.String value) throws java.lang.Exception
Deprecated.Logs the specified data. The data is kept in the buffer and written to permanent storage based on 2 factors--the number of the distinct entries in the buffer reachesmaxBufferSize
specified in the constructor, or the time elapse since last flush has been longer than a minute. The format of the data iskey=value;
. Note that the semicolon is appended to the value automatically.- Parameters:
hsr
- - the HttpServletRequest of the request. If this param is null, a unique sequence number is generated for the REQID, and the session ID is zerokey
- - the key of the datavalue
- - the value of the data- Throws:
java.lang.Exception
- - thrown when unable to write data
-
flush
public void flush() throws java.lang.Exception
Deprecated.Flushes the data in the cache. Webapp doesn't have to call this method since the cache is flushed automatically based on the time elapse since last log and the size of the data in the cache during processing of ApplicationListener and ServletInvocationListener event. In the case of no valid ServletContext object (non-webapp), the application might wish to invoke this method directly to store the content of the cache.- Throws:
java.lang.Exception
- - thrown when unable to write data- See Also:
getLogSize()
-
setEnabled
public void setEnabled(boolean value)
Deprecated.Sets the logging enabled flag tovalue
. This is a convenient way for the application to turn logging on or off. The default value istrue
.- Parameters:
value
- - value to set enable flag to
-
isEnabled
public boolean isEnabled()
Deprecated.Returns the logging enabled flag. This is a convenient way for the application to check for logging status.
-
setHttpLogging
public void setHttpLogging(boolean value)
Deprecated.Sets the HTTP logging flag tovalue
. Application should turn off HTTP logging if it is not needed. If this flag is off, the HttpData field that is logged will be null. The default value istrue
.- Parameters:
value
- - value to set HTTP logging flag to
-
getHttpLogging
public boolean getHttpLogging()
Deprecated.Returns the HTTP logging flag.
-
setCookieLogging
public void setCookieLogging(boolean value)
Deprecated.Sets the COOKIE logging flag tovalue
. Application should turn off COOKIE logging if it is not needed. If this flag is false, the COOKIE field that is logged will be null. The default value istrue
.- Parameters:
value
- - value to set COOKIE logging flag to
-
getCookieLogging
public boolean getCookieLogging()
Deprecated.Returns the COOKIE logging flag.
-
setAutoSession
public void setAutoSession(boolean value)
Deprecated.Sets the auto-create session flag tovalue
. If this flag is true and if the session object doesn't exist for a request, a session object will be automatically created before processing logging for that request. The default value istrue
.If the application doesn't track session and auto-create is true, the
log
method should be called at least once before any output is written to the response object- Parameters:
value
- - value to set auto-create session flag to
-
getAutoSession
public boolean getAutoSession()
Deprecated.Returns the auto-create session flag.
-
getLogger
public Logger getLogger()
Deprecated.Returns the current Logger object.
-
setAppID
public void setAppID(java.lang.String appID)
Deprecated.Sets the application ID. The application ID is logged with the record.- Parameters:
appID
- - a String representing the application ID, limited to 128 characters
-
getAppID
public java.lang.String getAppID()
Deprecated.Returns the current application ID.
-
getLogSize
public int getLogSize()
Deprecated.Returns the number of log entries currently in the buffer awaiting to be written to the permanent storage. This value may be used as a criteria to call flush() method.
-
terminate
public void terminate()
Deprecated.Stops logging and releases all associated resources. None webapp should call this method prior to terminating.
-
debug
public static void debug(java.lang.Exception e)
Deprecated.
-
-