Package io.hawt.log.support
Class LogQuerySupport
- java.lang.Object
-
- io.hawt.log.support.LogQuerySupport
-
- All Implemented Interfaces:
LogQuerySupportMBean
- Direct Known Subclasses:
LogQueryBase
public abstract class LogQuerySupport extends java.lang.Object implements LogQuerySupportMBean
Base class for anyLogQuerySupportMBeanimplementation
-
-
Field Summary
Fields Modifier and Type Field Description protected com.fasterxml.jackson.databind.ObjectMappermapper
-
Constructor Summary
Constructors Modifier Constructor Description protectedLogQuerySupport()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddJarEntryToIndex(java.util.jar.JarEntry entry, java.lang.StringBuilder buffer)LogResultsallLogResults()Returns all the available recent log events as aLogResultsobject which is then serializedstatic java.lang.StringensureStartsWithSlash(java.lang.String path)java.lang.StringfilterLogEvents(java.lang.String jsonFilter)Filters the list of log events using the JSON encoding ofLogFilterprotected java.lang.StringgetArtifactFile(java.lang.String mavenCoords, java.lang.String filePath, java.lang.String classifier)java.lang.StringgetHostName()java.lang.StringgetJavaDoc(java.lang.String mavenCoordinates, java.lang.String filePath)Returns the javadoc file for the given maven coordinates and filePathjava.lang.StringgetLogEvents(int maxCount)Returns the recent log events as JSONjavax.management.ObjectNamegetMbeanName()javax.management.MBeanServergetMbeanServer()java.lang.StringgetSource(java.lang.String mavenCoords, java.lang.String className, java.lang.String filePath)Returns the source file for the given maven coordinates so that we can link log messages to source codeprotected booleanisRoot(java.lang.String filePath)Returns true if the file path is "/" or emptyprotected java.lang.StringjarIndex(java.net.URL url)protected java.lang.StringjarIndex(java.util.jar.JarFile jarFile)LogResultsjsonQueryLogResults(java.lang.String jsonFilter)Allows a JSON filter to be specified then returns the log results as a serialised objectprotected LogFilterjsonToLogFilter(java.lang.String json)protected java.lang.StringloadCoords(java.lang.String coords, java.lang.String filePath, java.lang.String classifier)protected static java.lang.StringloadString(java.net.URL url)LogResultslogResultsSince(long time)Returns all the available log events since the given timestamp (millis)voidregisterMBeanServer(javax.management.MBeanServer mbeanServer)voidsetHostName(java.lang.String hostName)voidsetMbeanName(javax.management.ObjectName mbeanName)voidsetMbeanServer(javax.management.MBeanServer mbeanServer)voidstart()Registers the object with JMXvoidstop()Unregisters the object with JMXprotected java.lang.StringtoJSON(java.lang.Object answer)voidunregisterMBeanServer(javax.management.MBeanServer mbeanServer)-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface io.hawt.log.support.LogQuerySupportMBean
getLogResults, queryLogResults
-
-
-
-
Method Detail
-
loadString
protected static java.lang.String loadString(java.net.URL url) throws java.io.IOException- Throws:
java.io.IOException
-
start
public void start()
Registers the object with JMX
-
stop
public void stop()
Unregisters the object with JMX
-
allLogResults
public LogResults allLogResults() throws java.io.IOException
Description copied from interface:LogQuerySupportMBeanReturns all the available recent log events as aLogResultsobject which is then serialized- Specified by:
allLogResultsin interfaceLogQuerySupportMBean- Returns:
- the log events as a serialized object
- Throws:
java.io.IOException
-
logResultsSince
public LogResults logResultsSince(long time)
Description copied from interface:LogQuerySupportMBeanReturns all the available log events since the given timestamp (millis)- Specified by:
logResultsSincein interfaceLogQuerySupportMBean- Returns:
- the log events as a serialized object
-
getLogEvents
public java.lang.String getLogEvents(int maxCount) throws java.io.IOExceptionDescription copied from interface:LogQuerySupportMBeanReturns the recent log events as JSON- Specified by:
getLogEventsin interfaceLogQuerySupportMBean- Parameters:
maxCount- maximum number to return o <0 for all of them- Returns:
- the log events as a blob of JSON using
LogEvent - Throws:
java.io.IOException
-
filterLogEvents
public java.lang.String filterLogEvents(java.lang.String jsonFilter) throws java.io.IOExceptionDescription copied from interface:LogQuerySupportMBeanFilters the list of log events using the JSON encoding ofLogFilter- Specified by:
filterLogEventsin interfaceLogQuerySupportMBean- Returns:
- the log events as a blob of JSON using
LogEvent - Throws:
java.io.IOException
-
jsonQueryLogResults
public LogResults jsonQueryLogResults(java.lang.String jsonFilter) throws java.io.IOException
Description copied from interface:LogQuerySupportMBeanAllows a JSON filter to be specified then returns the log results as a serialised object- Specified by:
jsonQueryLogResultsin interfaceLogQuerySupportMBean- Throws:
java.io.IOException
-
getMbeanName
public javax.management.ObjectName getMbeanName() throws javax.management.MalformedObjectNameException- Throws:
javax.management.MalformedObjectNameException
-
setMbeanName
public void setMbeanName(javax.management.ObjectName mbeanName)
-
getMbeanServer
public javax.management.MBeanServer getMbeanServer()
-
setMbeanServer
public void setMbeanServer(javax.management.MBeanServer mbeanServer)
-
getHostName
public java.lang.String getHostName()
-
setHostName
public void setHostName(java.lang.String hostName)
-
registerMBeanServer
public void registerMBeanServer(javax.management.MBeanServer mbeanServer)
-
unregisterMBeanServer
public void unregisterMBeanServer(javax.management.MBeanServer mbeanServer)
-
toJSON
protected java.lang.String toJSON(java.lang.Object answer) throws java.io.IOException- Throws:
java.io.IOException
-
jsonToLogFilter
protected LogFilter jsonToLogFilter(java.lang.String json) throws java.io.IOException
- Throws:
java.io.IOException
-
getSource
public java.lang.String getSource(java.lang.String mavenCoords, java.lang.String className, java.lang.String filePath) throws java.io.IOExceptionDescription copied from interface:LogQuerySupportMBeanReturns the source file for the given maven coordinates so that we can link log messages to source code- Specified by:
getSourcein interfaceLogQuerySupportMBean- Parameters:
mavenCoords- is a string of the form "groupId:artifactId:version". For some uber bundles this can be a space separated list.- Throws:
java.io.IOException
-
getJavaDoc
public java.lang.String getJavaDoc(java.lang.String mavenCoordinates, java.lang.String filePath) throws java.io.IOExceptionDescription copied from interface:LogQuerySupportMBeanReturns the javadoc file for the given maven coordinates and filePath- Specified by:
getJavaDocin interfaceLogQuerySupportMBean- Parameters:
mavenCoordinates- is a string of the form "groupId:artifactId:version". For some uber bundles this can be a space separated list.- Throws:
java.io.IOException
-
getArtifactFile
protected java.lang.String getArtifactFile(java.lang.String mavenCoords, java.lang.String filePath, java.lang.String classifier) throws java.io.IOException- Throws:
java.io.IOException
-
loadCoords
protected java.lang.String loadCoords(java.lang.String coords, java.lang.String filePath, java.lang.String classifier) throws java.io.IOException- Throws:
java.io.IOException
-
jarIndex
protected java.lang.String jarIndex(java.net.URL url) throws java.io.IOException- Throws:
java.io.IOException
-
jarIndex
protected java.lang.String jarIndex(java.util.jar.JarFile jarFile)
-
addJarEntryToIndex
protected void addJarEntryToIndex(java.util.jar.JarEntry entry, java.lang.StringBuilder buffer)
-
isRoot
protected boolean isRoot(java.lang.String filePath)
Returns true if the file path is "/" or empty
-
ensureStartsWithSlash
public static java.lang.String ensureStartsWithSlash(java.lang.String path)
-
-