public final class LogQuery
extends java.lang.Object
implements java.lang.Cloneable, java.io.Serializable
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 versions of the application's default
module for which logs records should retrieved.
versions
specifies module versions of the application for which
logs should be retrieved.
requestIds
, if not empty()
, indicates that instead of a
time-based scan, logs for the specified requests should be returned.
See the Request IDs section of
the Java Servlet Environment documentation for how to retrieve these IDs
at runtime. Malformed request IDs cause an exception and unrecognized request IDs
are ignored. This option may not be combined with other filtering options such as
startTime, endTime, offset, or minLogLevel. When requestIds
is not empty()
,
majorVersionIds
are ignored. Logs are returned in the order requested.
batchSize
specifies the internal batching strategy of the returned
Iterable<RequestLogs>
. 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));There are a couple of ways to configure
LogQuery
to limit
LogService.fetch(LogQuery)
to only return log records for specific
module versions.
versions(List)
(LogQuery.Builder.withVersions(List)
) -
Includes designated module versions for the application.
majorVersionIds(List)
(LogQuery.Builder.withMajorVersionIds(List)
) -
Includes designated versions of the default module for the application.
LogQuery
only one of these methods may be used. If neither is used,
LogService.fetch(LogQuery)
results may include any module version.
It is not allowed to call both versions(List)
(LogQuery.Builder.withVersions(List)
)
and requestIds(List)
(LogQuery.Builder.withRequestIds(List)
for the same LogQuery
.Modifier and Type | Class and Description |
---|---|
static class |
LogQuery.Builder
Contains static creation methods for
LogQuery . |
static class |
LogQuery.Version
Specifies a version of a module.
|
Constructor and Description |
---|
LogQuery() |
Modifier and Type | Method and Description |
---|---|
LogQuery |
batchSize(int batchSize)
Sets the batch size.
|
LogQuery |
clone()
Makes a copy of a provided LogQuery.
|
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.util.List<java.lang.String> |
getRequestIds() |
java.lang.Long |
getStartTimeMillis() |
java.lang.Long |
getStartTimeUsec() |
java.util.List<LogQuery.Version> |
getVersions() |
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 |
requestIds(java.util.List<java.lang.String> requestIds)
Sets the list of request ids to query.
|
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.
|
LogQuery |
versions(java.util.List<LogQuery.Version> versions)
Restricts the query to log records for the specified module versions.
|
public LogQuery clone()
clone
in class java.lang.Object
public LogQuery offset(java.lang.String offset)
offset
- The offset to set.this
(for chaining)public LogQuery startTimeMillis(long startTimeMillis)
startTimeMillis
- The start time to set, in milliseconds.this
(for chaining)public LogQuery startTimeUsec(long startTimeUsec)
startTimeUsec
- The start time to set, in microseconds.this
(for chaining)public LogQuery endTimeMillis(long endTimeMillis)
endTimeMillis
- The end time to set, in milliseconds.this
(for chaining)public LogQuery endTimeUsec(long endTimeUsec)
endTimeUsec
- The end time to set, in microseconds.this
(for chaining)public LogQuery batchSize(int batchSize)
batchSize
- The batch size to set. Must be greater than 0.this
(for chaining)public LogQuery minLogLevel(LogService.LogLevel minLogLevel)
minLogLevel
- The minimum log level to set.this
(for chaining)public LogQuery includeIncomplete(boolean includeIncomplete)
includeIncomplete
- The value to set.this
(for chaining)public LogQuery includeAppLogs(boolean includeAppLogs)
includeAppLogs
- The value to set.this
(for chaining)public LogQuery majorVersionIds(java.util.List<java.lang.String> versionIds)
versionIds
- The major version identifier list to set.this
(for chaining)public LogQuery versions(java.util.List<LogQuery.Version> versions)
versions
- The list of module versions to query.this
(for chaining)public LogQuery requestIds(java.util.List<java.lang.String> requestIds)
requestIds
- The request id list to set.this
(for chaining)public java.lang.String getOffset()
null
if none was provided.public java.lang.Integer getBatchSize()
null
if none was provided.public java.lang.Long getEndTimeMillis()
null
if none was provided.public java.lang.Long getEndTimeUsec()
null
if none was provided.public java.lang.Boolean getIncludeAppLogs()
public java.lang.Boolean getIncludeIncomplete()
public LogService.LogLevel getMinLogLevel()
null
if none was provided.public java.lang.Long getStartTimeMillis()
null
if none was provided.public java.lang.Long getStartTimeUsec()
null
if none was provided.public java.util.List<java.lang.String> getMajorVersionIds()
public java.util.List<LogQuery.Version> getVersions()
public java.util.List<java.lang.String> getRequestIds()
null
if none were set.