com.google.appengine.api.log
Class LogQuery

java.lang.Object
  extended by com.google.appengine.api.log.LogQuery
All Implemented Interfaces:
java.lang.Cloneable

public final class LogQuery
extends java.lang.Object
implements java.lang.Cloneable

Allows users to customize the behavior of LogService.fetch(LogQuery).

startTime is the earliest request completion or last-update time that results should be fetched for, in seconds since the Unix epoch. If null then no requests will be excluded for ending too long ago.

endTime is the latest request completion or last-update time that results should be fetched for, in seconds since the Unix epoch. If null then no requests will be excluded for ending too recently.

offset is a cursor into the log stream retrieved from a previously emitted RequestLogs.getOffset(). This iterator will begin returning logs immediately after the record from which the offset came. If null, the query will begin at startTime.

minLogLevel is a LogService.LogLevel which serves as a filter on the requests returned. Requests with no application logs at or above the specified level will be omitted. Works even if includeAppLogs is not True.

includeIncomplete selects whether requests that have started but not yet finished should be included in the query. Defaults to False.

includeAppLogs specifies whether or not to include application logs in the query results. Defaults to False.

majorVersionIds specifies which the version(s) of the application for which logs should be retrieved. If null, logs for the version making the request will be returned.

batchSize specifies the internal batching strategy of the returned Iterable. Has no impact on the result of the query.

Notes on usage:
The recommended way to instantiate a LogQuery object is to statically import LogQuery.Builder.* and invoke a static creation method followed by an instance mutator (if needed):

 import static com.google.appengine.api.log.LogQuery.Builder.*;

 ...

 // All requests, including application logs.
 iter = logService.fetch(withIncludeAppLogs(true));

 // All requests ending in the past day (or still running) with an info log or higher.
 Calendar cal = Calendar.getInstance();
 cal.add(Calendar.DAY_OF_MONTH, -1);
 iter = logService.fetch(withEndTimeMillis(cal.time())
     .includeIncomplete(true).minimumLogLevel(LogService.INFO));
 


Nested Class Summary
static class LogQuery.Builder
          Contains static creation methods for FetchOptions.
 
Constructor Summary
LogQuery()
           
 
Method Summary
 LogQuery batchSize(int batchSize)
          Sets the batch size.
 LogQuery endTimeMillis(long endTimeMillis)
          Sets the end time to a value in milliseconds.
 LogQuery endTimeUsec(long endTimeUsec)
          Sets the end time to a value in microseconds.
 java.lang.Integer getBatchSize()
           
 java.lang.Long getEndTimeMillis()
           
 java.lang.Long getEndTimeUsec()
           
 java.lang.Boolean getIncludeAppLogs()
           
 java.lang.Boolean getIncludeIncomplete()
           
 java.util.List<java.lang.String> getMajorVersionIds()
           
 LogService.LogLevel getMinLogLevel()
           
 java.lang.String getOffset()
           
 java.lang.Long getStartTimeMillis()
           
 java.lang.Long getStartTimeUsec()
           
 LogQuery includeAppLogs(boolean includeAppLogs)
          Sets include application logs.
 LogQuery includeIncomplete(boolean includeIncomplete)
          Sets include incomplete.
 LogQuery majorVersionIds(java.util.List<java.lang.String> versionIds)
          Sets the major version identifiers to query.
 LogQuery minLogLevel(LogService.LogLevel minLogLevel)
          Sets the minimum log level.
 LogQuery offset(java.lang.String offset)
          Sets the offset.
 LogQuery startTimeMillis(long startTimeMillis)
          Sets the start time to a value in milliseconds.
 LogQuery startTimeUsec(long startTimeUsec)
          Sets the start time to a value in microseconds.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LogQuery

public LogQuery()
Method Detail

offset

public LogQuery offset(java.lang.String offset)
Sets the offset. Please read the class javadoc for an explanation of how offset is used.

Parameters:
offset - The offset to set.
Returns:
this (for chaining)

startTimeMillis

public LogQuery startTimeMillis(long startTimeMillis)
Sets the start time to a value in milliseconds. Please read the class javadoc for an explanation of how start time is used.

Parameters:
startTimeMillis - The start time to set, in milliseconds.
Returns:
this (for chaining)

startTimeUsec

public LogQuery startTimeUsec(long startTimeUsec)
Sets the start time to a value in microseconds. Please read the class javadoc for an explanation of how start time is used.

Parameters:
startTimeUsec - The start time to set, in microseconds.
Returns:
this (for chaining)

endTimeMillis

public LogQuery endTimeMillis(long endTimeMillis)
Sets the end time to a value in milliseconds. Please read the class javadoc for an explanation of how end time is used.

Parameters:
endTimeMillis - The end time to set, in milliseconds.
Returns:
this (for chaining)

endTimeUsec

public LogQuery endTimeUsec(long endTimeUsec)
Sets the end time to a value in microseconds. Please read the class javadoc for an explanation of how end time is used.

Parameters:
endTimeUsec - The end time to set, in microseconds.
Returns:
this (for chaining)

batchSize

public LogQuery batchSize(int batchSize)
Sets the batch size. Please read the class javadoc for an explanation of how batch size is used.

Parameters:
batchSize - The batch size to set. Must be greater than 0.
Returns:
this (for chaining)

minLogLevel

public LogQuery minLogLevel(LogService.LogLevel minLogLevel)
Sets the minimum log level. Please read the class javadoc for an explanation of how minimum log level is used.

Parameters:
minLogLevel - The minimum log level to set.
Returns:
this (for chaining)

includeIncomplete

public LogQuery includeIncomplete(boolean includeIncomplete)
Sets include incomplete. Please read the class javadoc for an explanation of how include incomplete is used.

Parameters:
includeIncomplete - The value to set.
Returns:
this (for chaining)

includeAppLogs

public LogQuery includeAppLogs(boolean includeAppLogs)
Sets include application logs. Please read the class javadoc for an explanation of how include application logs is used.

Parameters:
includeAppLogs - The value to set.
Returns:
this (for chaining)

majorVersionIds

public LogQuery majorVersionIds(java.util.List<java.lang.String> versionIds)
Sets the major version identifiers to query. Please read the class javadoc for an explanation of how major versions are used.

Parameters:
versionIds - The major version identifier list to set.
Returns:
this (for chaining)

getOffset

public java.lang.String getOffset()
Returns:
The offset, or null if none was provided.

getBatchSize

public java.lang.Integer getBatchSize()
Returns:
The batch size, or null if none was provided.

getEndTimeMillis

public java.lang.Long getEndTimeMillis()
Returns:
The end time in milliseconds, or null if none was provided.

getEndTimeUsec

public java.lang.Long getEndTimeUsec()
Returns:
The end time in microseconds, or null if none was provided.

getIncludeAppLogs

public java.lang.Boolean getIncludeAppLogs()
Returns:
Whether or not application logs should be returned.

getIncludeIncomplete

public java.lang.Boolean getIncludeIncomplete()
Returns:
Whether or not incomplete request logs should be returned.

getMinLogLevel

public LogService.LogLevel getMinLogLevel()
Returns:
The minimum log level, or null is none was provided.

getStartTimeMillis

public java.lang.Long getStartTimeMillis()
Returns:
The start time in milliseconds, or null is none was provided.

getStartTimeUsec

public java.lang.Long getStartTimeUsec()
Returns:
The start time in microseconds, or null is none was provided.

getMajorVersionIds

public java.util.List<java.lang.String> getMajorVersionIds()
Returns:
The list of major app versions that should be queried over, or null is none were set.