com.paulwithers.openLog
Class OpenLogItem

java.lang.Object
  extended by com.paulwithers.openLog.OpenLogItem
All Implemented Interfaces:
java.io.Serializable

public class OpenLogItem
extends java.lang.Object
implements java.io.Serializable

See Also:
Serialized Form

Nested Class Summary
static class OpenLogItem.LogType
          Enum to define log type
 
Field Summary
private  java.lang.String _accessLevel
           
private  java.lang.Throwable _baseException
           
private  java.util.Vector<java.lang.String> _clientVersion
           
private  Database _currentDatabase
           
private  java.lang.Boolean _displayError
           
private  java.lang.String _displayErrorGeneric
           
private  Document _errDoc
           
private  java.lang.String _errDocUnid
           
private  java.util.Date _eventJavaTime
           
private  DateTime _eventTime
           
private  java.lang.String _eventType
           
private  java.lang.String _formName
           
private  Database _logDb
           
private  java.lang.String _logDbName
           
private  java.lang.String _logEmail
           
private  java.lang.String _logExpireDate
           
private static java.lang.String _logFormName
           
private  java.lang.Boolean _logSuccess
           
private  java.lang.String _message
           
private  Session _session
           
private  Session _sessionAsSigner
           
private  java.util.logging.Level _severity
           
private  java.util.Date _startJavaTime
           
private  DateTime _startTime
           
private  java.lang.Boolean _suppressEventStack
           
private  java.lang.String _thisAgent
           
private  java.lang.String _thisDatabase
           
private  java.lang.String _thisServer
           
private  java.util.Vector<java.lang.String> _userRoles
           
 java.lang.String olDebugLevel
           
private static long serialVersionUID
           
private  java.lang.Boolean suppressControlIdsForEvents
           
 
Constructor Summary
OpenLogItem()
           
 
Method Summary
 void addFacesMessage(java.lang.String component, java.lang.String msg)
           
private  Database createLogDbFromTemplate()
          Checks whether there is an org.openlog.templateFilepath xsp/notes.ini variable.
 java.lang.String getAccessLevel()
           
 java.lang.Throwable getBase()
          Gets the Throwable that is the error to be logged
 java.util.Vector<java.lang.String> getClientVersion()
           
 Database getCurrentDatabase()
           
 java.lang.Boolean getDisplayError()
           
 java.lang.String getDisplayErrorGeneric()
           
 java.lang.String getEffName()
           
 Document getErrDoc()
           
 int getErrLine(java.lang.Throwable ee)
           
 DateTime getEventTime()
           
 java.lang.String getEventType()
           
 java.lang.String getFormName()
           
 Database getLogDb()
           
 java.lang.String getLogDbName()
           
 java.lang.String getLogEmail()
           
 java.lang.String getLogExpireDate()
           
 java.lang.String getLogFormName()
           
 boolean getLogSuccess()
           
 java.lang.String getMessage()
           
private  Session getSession()
           
private  Session getSessionAsSigner()
           
 java.util.logging.Level getSeverity()
           
private  java.util.Vector<java.lang.String> getStackTrace(java.lang.Throwable ee)
           
private  java.util.Vector<java.lang.String> getStackTrace(java.lang.Throwable ee, int skip)
           
 DateTime getStartTime()
           
 java.lang.Boolean getSuppressEventStack()
          Gets xsp.property of whether to suppress stack trace.
 java.lang.String getThisAgent()
           
 java.lang.String getThisDatabase()
          Gets the database the error is being logged for
private  java.lang.String getThisDatabasePath()
           
 java.lang.String getThisServer()
           
 java.lang.String getUserName()
           
 java.util.Vector<java.lang.String> getUserRoles()
           
 java.lang.Boolean isSuppressControlIdsForEvents()
          Allows suppressing control IDs when logging messages from openLogBean with SSJS
 void logError(Session s, java.lang.Throwable ee)
           
 void logError(Session s, java.lang.Throwable ee, java.lang.String message, java.util.logging.Level severity, Document doc)
           
 java.lang.String logError(java.lang.Throwable ee)
           
 java.lang.String logErrorEx(java.lang.Throwable ee, java.lang.String msg, java.util.logging.Level severityType, Document doc)
           
 void logEvent(Session s, java.lang.Throwable ee, java.lang.String message, java.util.logging.Level severity, Document doc)
           
 java.lang.String logEvent(java.lang.Throwable ee, java.lang.String msg, java.util.logging.Level severityType, Document doc)
           
 void recycle()
           
 void setBase(java.lang.Throwable base)
          Sets the Throwable that is the error to be logged
 void setDisplayError(java.lang.Boolean error)
           
 void setErrDoc(Document doc)
           
private  void setEventType(OpenLogItem.LogType typeError)
           
 void setLogDbName(java.lang.String newLogPath)
           
 void setMessage(java.lang.String message)
           
 void setOlDebugLevel(java.lang.String newDebugLevel)
           
 void setSeverity(java.util.logging.Level severity)
          Sets the severity level to be logged
 void setSuppressControlIdsForEvents()
          Allows suppressing control IDs when logging messages from openLogBean with SSJS
 void setSuppressEventStack(java.lang.Boolean suppressEventStack)
           
 void setThisAgent(boolean currPage)
          Complex method to get the "page" to log the error against.
 boolean writeToLog()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

serialVersionUID

private static final long serialVersionUID
See Also:
Constant Field Values

_logFormName

private static final java.lang.String _logFormName
See Also:
Constant Field Values

_logDbName

private java.lang.String _logDbName

_thisDatabase

private java.lang.String _thisDatabase

_thisServer

private java.lang.String _thisServer

_thisAgent

private java.lang.String _thisAgent

_logSuccess

private java.lang.Boolean _logSuccess

_accessLevel

private java.lang.String _accessLevel

_userRoles

private java.util.Vector<java.lang.String> _userRoles

_clientVersion

private java.util.Vector<java.lang.String> _clientVersion

_formName

private java.lang.String _formName

_severity

private java.util.logging.Level _severity

_eventType

private java.lang.String _eventType

_message

private java.lang.String _message

_baseException

private java.lang.Throwable _baseException

_startJavaTime

private java.util.Date _startJavaTime

_eventJavaTime

private java.util.Date _eventJavaTime

_errDocUnid

private java.lang.String _errDocUnid

_session

private transient Session _session

_sessionAsSigner

private transient Session _sessionAsSigner

_logDb

private transient Database _logDb

_suppressEventStack

private transient java.lang.Boolean _suppressEventStack

_logEmail

private transient java.lang.String _logEmail

_logExpireDate

private transient java.lang.String _logExpireDate

_currentDatabase

private transient Database _currentDatabase

_startTime

private transient DateTime _startTime

_eventTime

private transient DateTime _eventTime

_errDoc

private transient Document _errDoc

suppressControlIdsForEvents

private transient java.lang.Boolean suppressControlIdsForEvents

_displayError

private transient java.lang.Boolean _displayError

_displayErrorGeneric

private transient java.lang.String _displayErrorGeneric

olDebugLevel

public transient java.lang.String olDebugLevel
Constructor Detail

OpenLogItem

public OpenLogItem()
Method Detail

setBase

public void setBase(java.lang.Throwable base)
Sets the Throwable that is the error to be logged

Parameters:
base -

getBase

public java.lang.Throwable getBase()
Gets the Throwable that is the error to be logged

Returns:
Throwable current error object

setSeverity

public void setSeverity(java.util.logging.Level severity)
Sets the severity level to be logged

Parameters:
severity - Level severity

setMessage

public void setMessage(java.lang.String message)
Parameters:
message - the message to set

getThisDatabase

public java.lang.String getThisDatabase()
Gets the database the error is being logged for

Returns:
String database filepath

getThisServer

public java.lang.String getThisServer()
Returns:
the thisServer

getThisAgent

public java.lang.String getThisAgent()
Returns:
the thisAgent

setThisAgent

public void setThisAgent(boolean currPage)
Complex method to get the "page" to log the error against. xsp.openlog.includeQueryString allows the querystring to be logged as well. If parameter is true, it logs for the current XPage being processed. Otherwise, we're now in the application's Error page, so we need to get the previous page (if there is one) and log for that.

Parameters:
currPage - boolean whether to log current URL or previous

getLogDb

public Database getLogDb()
Returns:
the logDb

getCurrentDatabase

public Database getCurrentDatabase()
Returns:
the currentDatabase

getUserName

public java.lang.String getUserName()
Returns:
the userName

getEffName

public java.lang.String getEffName()
Returns:
the effName

getAccessLevel

public java.lang.String getAccessLevel()
Returns:
the accessLevel

getUserRoles

public java.util.Vector<java.lang.String> getUserRoles()
Returns:
the userRoles

getClientVersion

public java.util.Vector<java.lang.String> getClientVersion()
Returns:
the server / client (XPiNC, not Run On Server) Version

getStartTime

public DateTime getStartTime()
Returns:
the startTime

getLogExpireDate

public java.lang.String getLogExpireDate()
Returns:
the expire date

getLogEmail

public java.lang.String getLogEmail()
Returns:
the log email address

getLogDbName

public java.lang.String getLogDbName()
Returns:
the logDbName

getSuppressEventStack

public java.lang.Boolean getSuppressEventStack()
Gets xsp.property of whether to suppress stack trace. Should be xsp.openlog.suppressEventStack=true to suppress. Anything else will return false

Returns:
whether or not stack should be suppressed for events
Since:
4.0.0

setSuppressEventStack

public void setSuppressEventStack(java.lang.Boolean suppressEventStack)
Parameters:
suppressEventStack - Boolean whether or not to suppress stack trace for Events
Since:
4.0.0

getThisDatabasePath

private java.lang.String getThisDatabasePath()
Returns:
the database path

getLogFormName

public java.lang.String getLogFormName()
Returns:
the logFormName

getFormName

public java.lang.String getFormName()
Returns:
the formName

getErrLine

public int getErrLine(java.lang.Throwable ee)
Returns:
the errLine

getSeverity

public java.util.logging.Level getSeverity()
Returns:
the severity

getEventTime

public DateTime getEventTime()
Returns:
the eventTime

getEventType

public java.lang.String getEventType()
Returns:
the eventType

getMessage

public java.lang.String getMessage()
Returns:
the message

getErrDoc

public Document getErrDoc()
Returns:
the errDoc

setErrDoc

public void setErrDoc(Document doc)
Parameters:
doc - the document

setLogDbName

public void setLogDbName(java.lang.String newLogPath)

setOlDebugLevel

public void setOlDebugLevel(java.lang.String newDebugLevel)

isSuppressControlIdsForEvents

public java.lang.Boolean isSuppressControlIdsForEvents()
Allows suppressing control IDs when logging messages from openLogBean with SSJS

Returns:
the includeControlIdsForEvents
Since:
6.0.0

setSuppressControlIdsForEvents

public void setSuppressControlIdsForEvents()
Allows suppressing control IDs when logging messages from openLogBean with SSJS

Parameters:
includeControlIdsForEvents - the includeControlIdsForEvents to set
Since:
6.0.0

getDisplayError

public java.lang.Boolean getDisplayError()
Returns:
whether errors should be displayed or not
Since:
2.0.0

setDisplayError

public void setDisplayError(java.lang.Boolean error)
Parameters:
error - whether or not to display the errors
Since:
2.0.0

getDisplayErrorGeneric

public java.lang.String getDisplayErrorGeneric()
Returns:
String of a generic error message or an empty string
Since:
2.0.0

getSession

private Session getSession()
Returns:
the session

getSessionAsSigner

private Session getSessionAsSigner()
Returns:
the signer session

recycle

public void recycle()

getLogSuccess

public boolean getLogSuccess()

logError

public java.lang.String logError(java.lang.Throwable ee)

setEventType

private void setEventType(OpenLogItem.LogType typeError)
Parameters:
typeError - LogType of Error or Event

logErrorEx

public java.lang.String logErrorEx(java.lang.Throwable ee,
                                   java.lang.String msg,
                                   java.util.logging.Level severityType,
                                   Document doc)

logEvent

public java.lang.String logEvent(java.lang.Throwable ee,
                                 java.lang.String msg,
                                 java.util.logging.Level severityType,
                                 Document doc)

getStackTrace

private java.util.Vector<java.lang.String> getStackTrace(java.lang.Throwable ee,
                                                         int skip)

getStackTrace

private java.util.Vector<java.lang.String> getStackTrace(java.lang.Throwable ee)
Parameters:
ee - the Throwable
Returns:
Vector of stack trace elements

logError

public void logError(Session s,
                     java.lang.Throwable ee)
Parameters:
s - Session the session to log for
ee - Throwable the error to log

logError

public void logError(Session s,
                     java.lang.Throwable ee,
                     java.lang.String message,
                     java.util.logging.Level severity,
                     Document doc)
Parameters:
s - Session the session to log for
ee - Throwable the error to log
message - String the alternative message to log
severity - Level to log as
doc - Document to provide link for

logEvent

public void logEvent(Session s,
                     java.lang.Throwable ee,
                     java.lang.String message,
                     java.util.logging.Level severity,
                     Document doc)
Parameters:
s - Session the session to log for
ee - Throwable the event to log
message - String the alternative message to log
severity - Level to log as
doc - Document to provide link for

writeToLog

public boolean writeToLog()

createLogDbFromTemplate

private Database createLogDbFromTemplate()
                                  throws NotesException
Checks whether there is an org.openlog.templateFilepath xsp/notes.ini variable. If so, creates a copy of that database to use as the logDb

Returns:
Database log database to log to
Throws:
NotesException

addFacesMessage

public void addFacesMessage(java.lang.String component,
                            java.lang.String msg)
Parameters:
component - String component ID
msg - String message to be passed back to the browser