Class LogsQueryClient

java.lang.Object
com.azure.monitor.query.LogsQueryClient

public final class LogsQueryClient extends Object
The synchronous client for querying Azure Monitor logs.

Instantiating a synchronous Logs query Client

 LogsQueryClient logsQueryClient = new LogsQueryClientBuilder()
         .credential(tokenCredential)
         .buildClient();
 
  • Method Details

    • queryWorkspace

      public LogsQueryResult queryWorkspace(String workspaceId, String query, QueryTimeInterval timeInterval)
      Returns all the Azure Monitor logs matching the given query in the specified workspaceId.

      Query logs from the last 24 hours

       LogsQueryResult queryResult = logsQueryClient.queryWorkspace("{workspace-id}", "{kusto-query}",
               QueryTimeInterval.LAST_DAY);
       for (LogsTableRow row : queryResult.getTable().getRows()) {
           System.out.println(row.getRow()
                   .stream()
                   .map(LogsTableCell::getValueAsString)
                   .collect(Collectors.joining(",")));
       }
       
      Parameters:
      workspaceId - The workspaceId where the query should be executed.
      query - The Kusto query to fetch the logs.
      timeInterval - The time period for which the logs should be looked up.
      Returns:
      The logs matching the query.
    • queryWorkspace

      public <T> List<T> queryWorkspace(String workspaceId, String query, QueryTimeInterval timeInterval, Class<T> type)
      Returns all the Azure Monitor logs matching the given query in the specified workspaceId.
      Type Parameters:
      T - The type the result of this query should be mapped to.
      Parameters:
      workspaceId - The workspaceId where the query should be executed.
      query - The Kusto query to fetch the logs.
      timeInterval - The time period for which the logs should be looked up.
      type - The type the result of this query should be mapped to.
      Returns:
      The logs matching the query as a list of objects of type T.
    • queryWorkspace

      public <T> List<T> queryWorkspace(String workspaceId, String query, QueryTimeInterval timeInterval, Class<T> type, LogsQueryOptions options)
      Returns all the Azure Monitor logs matching the given query in the specified workspaceId.
      Type Parameters:
      T - The type the result of this query should be mapped to.
      Parameters:
      workspaceId - The workspaceId where the query should be executed.
      query - The Kusto query to fetch the logs.
      timeInterval - The time period for which the logs should be looked up.
      type - The type the result of this query should be mapped to.
      options - The log query options to configure server timeout, set additional workspaces or enable statistics and rendering information in response.
      Returns:
      The logs matching the query as a list of objects of type T.
    • queryWorkspaceWithResponse

      public Response<LogsQueryResult> queryWorkspaceWithResponse(String workspaceId, String query, QueryTimeInterval timeInterval, LogsQueryOptions options, Context context)
      Returns all the Azure Monitor logs matching the given query in the specified workspaceId.

      Query logs from the last 7 days and set the service timeout to 2 minutes

       Response<LogsQueryResult> queryResult = logsQueryClient.queryWorkspaceWithResponse("{workspace-id}",
               "{kusto-query}",
               QueryTimeInterval.LAST_7_DAYS,
               new LogsQueryOptions().setServerTimeout(Duration.ofMinutes(2)),
               Context.NONE);
      
       for (LogsTableRow row : queryResult.getValue().getTable().getRows()) {
           System.out.println(row.getRow()
                   .stream()
                   .map(LogsTableCell::getValueAsString)
                   .collect(Collectors.joining(",")));
       }
       
      Parameters:
      workspaceId - The workspaceId where the query should be executed.
      query - The Kusto query to fetch the logs.
      timeInterval - The time period for which the logs should be looked up.
      options - The log query options to configure server timeout, set additional workspaces or enable statistics and rendering information in response.
      context - Additional context that is passed through the Http pipeline during the service call. If no additional context is required, pass Context.NONE instead.
      Returns:
      The logs matching the query including the HTTP response.
    • queryWorkspaceWithResponse

      public <T> Response<List<T>> queryWorkspaceWithResponse(String workspaceId, String query, QueryTimeInterval timeInterval, Class<T> type, LogsQueryOptions options, Context context)
      Returns all the Azure Monitor logs matching the given query in the specified workspaceId.
      Type Parameters:
      T - The type the result of this query should be mapped to.
      Parameters:
      workspaceId - The workspaceId where the query should be executed.
      query - The Kusto query to fetch the logs.
      timeInterval - The time period for which the logs should be looked up.
      type - The type the result of this query should be mapped to.
      options - The log query options to configure server timeout, set additional workspaces or enable statistics and rendering information in response.
      context - Additional context that is passed through the Http pipeline during the service call. If no additional context is required, pass Context.NONE instead.
      Returns:
      The logs matching the query including the HTTP response.
    • queryBatch

      public LogsBatchQueryResultCollection queryBatch(LogsBatchQuery logsBatchQuery)
      Returns all the Azure Monitor logs matching the given batch of queries.

      Execute a batch of logs queries

       LogsBatchQuery batchQuery = new LogsBatchQuery();
       String queryId1 = batchQuery.addWorkspaceQuery("{workspace-id-1}", "{kusto-query-1}", QueryTimeInterval.LAST_DAY);
       String queryId2 = batchQuery.addWorkspaceQuery("{workspace-id-2}", "{kusto-query-2}",
               QueryTimeInterval.LAST_7_DAYS, new LogsQueryOptions().setServerTimeout(Duration.ofMinutes(2)));
      
       LogsBatchQueryResultCollection batchQueryResponse = logsQueryClient.queryBatch(batchQuery);
      
       for (LogsBatchQueryResult queryResult : batchQueryResponse.getBatchResults()) {
           System.out.println("Logs query result for query id " + queryResult.getId());
           for (LogsTableRow row : queryResult.getTable().getRows()) {
               System.out.println(row.getRow()
                       .stream()
                       .map(LogsTableCell::getValueAsString)
                       .collect(Collectors.joining(",")));
           }
       }
       
      Parameters:
      logsBatchQuery - LogsBatchQuery containing a batch of queries.
      Returns:
      A collection of query results corresponding to the input batch of queries.@return
    • queryBatchWithResponse

      public Response<LogsBatchQueryResultCollection> queryBatchWithResponse(LogsBatchQuery logsBatchQuery, Context context)
      Returns all the Azure Monitor logs matching the given batch of queries.
      Parameters:
      logsBatchQuery - LogsBatchQuery containing a batch of queries.
      context - Additional context that is passed through the Http pipeline during the service call. If no additional context is required, pass Context.NONE instead.
      Returns:
      A collection of query results corresponding to the input batch of queries.@return