com.google.appengine.api.log.LogServiceFactory Java Examples

The following examples show how to use com.google.appengine.api.log.LogServiceFactory. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: LoggingServlet.java    From appengine-java-vm-runtime with Apache License 2.0 6 votes vote down vote up
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
    throws ServletException, IOException {
  resp.setContentType("text/plain");
  if (req.getParameter("printLogs") != null) {
    LogService ls = LogServiceFactory.getLogService();
    LogQuery query = withIncludeAppLogs(true).minLogLevel(LogService.LogLevel.FATAL);
    for (RequestLogs logs : ls.fetch(query)) {
      for (AppLogLine logLine : logs.getAppLogLines()) {
        if (logLine.getLogLevel().equals(LogService.LogLevel.FATAL)) {
          resp.getWriter().println(logLine);
        }
      }
    }
  } else {
    Logger logger = Logger.getLogger("com.foo");
    resp.getWriter().println(logger.getLevel());
    Logger logger2 = Logger.getLogger("com.foo.bar");
    resp.getWriter().println(logger2.getLevel());
    resp.getWriter().println(configRan);
    logger2.severe("not null");
    logger2.severe((String)null);
  }
}
 
Example #2
Source File: LogQueryTest.java    From appengine-tck with Apache License 2.0 6 votes vote down vote up
@Test
@InSequence(20)
public void testRequestIds() throws Exception {
    LogService service = LogServiceFactory.getLogService();

    LogQuery logQuery = new LogQuery().requestIds(Arrays.asList(request1Id, request2Id));
    Iterator<RequestLogs> iterator = service.fetch(logQuery).iterator();
    assertEquals(request1Id, iterator.next().getRequestId());
    assertEquals(request2Id, iterator.next().getRequestId());
    assertFalse(iterator.hasNext());

    logQuery = new LogQuery().requestIds(Arrays.asList(request2Id));
    iterator = service.fetch(logQuery).iterator();
    assertEquals(request2Id, iterator.next().getRequestId());
    assertFalse(iterator.hasNext());
}
 
Example #3
Source File: LoggingTest.java    From appengine-tck with Apache License 2.0 6 votes vote down vote up
public RequestLogs getCurrentRequestLogs() {
        LogQuery logQuery = new LogQuery()
            .includeAppLogs(true)
            .includeIncomplete(true)
            .startTimeMillis(System.currentTimeMillis() - 20000);
        for (RequestLogs requestLogs : LogServiceFactory.getLogService().fetch(logQuery)) {
            if (requestLogs.getRequestId().equals(getCurrentRequestId())) {
                return requestLogs;
            }
        }
        fail("Could not find RequestLogs for current request");
        return null;

//        not sure, why the following code throws LogServiceException: An error occurred retrieving logs from storage.
//        LogQuery logQuery = new LogQuery()
//            .includeAppLogs(true)
//            .requestIds(Collections.singletonList(getCurrentRequestId()));
//        Iterable<RequestLogs> iterable = LogServiceFactory.getLogService().fetch(logQuery);
//        assertTrue("Could not find RequestLogs for current request", iterable.iterator().hasNext());
//        return iterable.iterator().next();
    }
 
Example #4
Source File: CompileLogsAction.java    From teammates with GNU General Public License v2.0 5 votes vote down vote up
private List<AppLogLine> getErrorLogs() {
    LogService logService = LogServiceFactory.getLogService();

    long endTime = Instant.now().toEpochMilli();
    // Sets the range to 6 minutes to slightly overlap the 5 minute email timer
    long queryRange = 1000 * 60 * 6;
    long startTime = endTime - queryRange;

    LogQuery q = LogQuery.Builder.withDefaults()
                                 .includeAppLogs(true)
                                 .startTimeMillis(startTime)
                                 .endTimeMillis(endTime)
                                 .minLogLevel(LogLevel.ERROR);

    Iterable<RequestLogs> logs = logService.fetch(q);
    List<AppLogLine> errorLogs = new ArrayList<>();

    for (RequestLogs requestLogs : logs) {
        List<AppLogLine> logList = requestLogs.getAppLogLines();

        for (AppLogLine currentLog : logList) {
            LogLevel logLevel = currentLog.getLogLevel();

            if (LogLevel.FATAL == logLevel || LogLevel.ERROR == logLevel) {
                errorLogs.add(currentLog);
            }
        }
    }

    return errorLogs;
}
 
Example #5
Source File: LogViewerServlet.java    From appengine-java-vm-runtime with Apache License 2.0 5 votes vote down vote up
@Override
public void doGet(HttpServletRequest req, HttpServletResponse resp) throws IOException {
  resp.setContentType("text/plain");

  PrintWriter writer = resp.getWriter();

  boolean applogs = true;
  if ("false".equals(req.getParameter("applogs"))) {
    applogs = false;
  }

  boolean combined = false;
  if ("true".equals(req.getParameter("combined"))) {
    combined = true;
  }

  LogQuery query = LogQuery.Builder.withIncludeAppLogs(true).includeIncomplete(true);
  for (RequestLogs record : LogServiceFactory.getLogService().fetch(query)) {
    Calendar cal = Calendar.getInstance();
    cal.setTimeInMillis(record.getStartTimeUsec() / 1000);

    writer.println(String.format("\nDate: %s", cal.getTime().toString()));
    if (combined) {
      writer.println("COMBINED:" + record.getCombined());
    } else {
      writer.println("URL: " + record.getResource());
      writer.println("");
    }
    if (applogs) {
      List<AppLogLine> appLogs = record.getAppLogLines();
      for (AppLogLine appLog : appLogs) {
        writer.println("[" + appLog.getLogLevel() + "] " + appLog.getLogMessage());
      }
    }
  }
}
 
Example #6
Source File: LoggingTestBase.java    From appengine-tck with Apache License 2.0 5 votes vote down vote up
protected Iterator<RequestLogs> findLogLine(LogQuery query, int retryMax) {
    LogService service = LogServiceFactory.getLogService();
    Iterator<RequestLogs> iterator = null;
    for (int i = 0; i <= retryMax; i++) {
        iterator = service.fetch(query).iterator();
        if (iterator.hasNext()) {
            return iterator;
        }
        pause(1500);
    }
    return iterator;
}
 
Example #7
Source File: LoggingTestBase.java    From appengine-tck with Apache License 2.0 5 votes vote down vote up
protected AppLogLine findLogLine(String text, LogQuery logQuery) {
    Iterable<RequestLogs> iterable = LogServiceFactory.getLogService().fetch(logQuery);
    for (RequestLogs logs : iterable) {
        for (AppLogLine logLine : logs.getAppLogLines()) {
            if (logLine.getLogMessage().contains(text)) {
                return logLine;
            }
        }
    }
    return null;
}
 
Example #8
Source File: LoggingTestBase.java    From appengine-tck with Apache License 2.0 4 votes vote down vote up
protected static void clear() {
    LogService service = LogServiceFactory.getLogService();
    TestLifecycleEvent event = TestLifecycles.createServiceLifecycleEvent(LoggingTestBase.class, service);
    TestLifecycles.after(event);
}
 
Example #9
Source File: LogQueryTest.java    From appengine-tck with Apache License 2.0 4 votes vote down vote up
private void executeQuery(LogQuery logQuery) {
    LogService service = LogServiceFactory.getLogService();
    Iterator<RequestLogs> iterator = service.fetch(logQuery).iterator();
}
 
Example #10
Source File: LogServiceTest.java    From appengine-tck with Apache License 2.0 4 votes vote down vote up
@Before
public void setUp() throws Exception {
    service = LogServiceFactory.getLogService();
}