/**
  * Test that no unexpected Exceptions occur if {@link FileLogger#printLog(LogLevel, String,
  * String)} is called after {@link FileLogger#closeLog()}
  */
 public void testCloseLog() throws Exception {
   FileLogger logger = new FileLogger();
   logger.init();
   // test the package-private methods to capture any exceptions that occur
   logger.doCloseLog();
   logger.writeToLog("test2");
 }
 /**
  * Test behavior when {@link FileLogger#getLog()} is called after {@link FileLogger#closeLog()}.
  */
 public void testGetLog_afterClose() throws Exception {
   FileLogger logger = new FileLogger();
   logger.init();
   logger.closeLog();
   // expect this to be silently handled
   logger.getLog();
 }
Example #3
0
  @Test
  public void testStopwatch() throws Exception {
    String lcFileName = "./logs/" + Java.getCallingMethodName(false, 0);
    File loFile = new File(lcFileName + ".log");
    loFile.delete();

    String lcMessage = "This is the message that is to be logged";
    FileLogger loLogger = new FileLogger(3, 10, loFile);

    for (int i = 0; i < 10; i++) {
      loLogger.log(lcMessage);
    }

    Thread.sleep(1500);

    assertTrue(loFile.exists());
  }
Example #4
0
  @Test
  public void testLog() throws Exception {
    String lcFileName = "./logs/" + Java.getCallingMethodName(false, 0);
    new File(lcFileName + ".log").delete();

    for (int i = 0; i < 3; i++) {
      new File(lcFileName + "_" + (i + 1) + ".log").delete();
    }

    String lcMessage = "This is the message that is to be logged";
    FileLogger loLogger = new FileLogger(3, 10, new File(lcFileName + ".log"));

    for (int i = 0; i < 4; i++) {
      loLogger.log(lcMessage + " i = " + i);
      // Force Flush
      loLogger.flush();
    }

    loLogger.log("final write");
    loLogger.flush();

    // Test the file contents
    BufferedReader loReader = new BufferedReader(new FileReader(lcFileName + ".log"));

    String lcLine = loReader.readLine();
    assertTrue(lcLine.contains("final write"));
    loReader.close();

    for (int i = 0; i < 3; i++) {
      loReader = new BufferedReader(new FileReader(lcFileName + "_" + (i + 1) + ".log"));
      lcLine = loReader.readLine();
      if (i == 0) {
        assertTrue(lcLine.contains("This is the message that is to be logged" + " i = " + 3));
      } else {
        assertTrue(lcLine.contains("This is the message that is to be logged" + " i = " + i));
      }
      loReader.close();
    }
  }
 private static FileLogger getFileLogger() {
   if (fileLogger == null) {
     fileLogger = new FileLogger("log.txt");
   }
   File file = fileLogger.getFile();
   if (file.length() > (1024 * 1000)) {
     SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddhhmmss");
     Date now = Calendar.getInstance().getTime();
     String fileName = String.format("log%s.txt", dateFormat.format(now));
     file.renameTo(new File(fileName));
     fileLogger = new FileLogger("log.txt");
   }
   return fileLogger;
 }
  /**
   * Test logging to a logger.
   *
   * @throws ConfigurationException if unable to create log file
   * @throws IOException if unable to read from the file
   * @throws SecurityException if unable to delete the log file on cleanup
   */
  public void testLogToLogger() throws ConfigurationException, IOException, SecurityException {
    String Text1 = "The quick brown fox jumps over the lazy doggie.";
    String Text2 = "Betty Botter bought some butter, 'But,' she said, 'this butter's bitter.'";
    String Text3 = "Wolf zombies quickly spot the jinxed grave.";
    BufferedReader logFileReader = null;
    FileLogger logger = new FileLogger();
    InputStreamSource logSource = null;

    try {

      logger.init();
      // Write 3 lines of text to the log...
      logger.printLog(LogLevel.INFO, LOG_TAG, Text1);
      String expectedText1 = LogUtil.getLogFormatString(LogLevel.INFO, LOG_TAG, Text1).trim();
      logger.printLog(LogLevel.VERBOSE, LOG_TAG, Text2);
      String expectedText2 = LogUtil.getLogFormatString(LogLevel.VERBOSE, LOG_TAG, Text2).trim();
      logger.printLog(LogLevel.ASSERT, LOG_TAG, Text3);
      String expectedText3 = LogUtil.getLogFormatString(LogLevel.ASSERT, LOG_TAG, Text3).trim();

      // Verify the 3 lines we logged
      logSource = logger.getLog();
      logFileReader = new BufferedReader(new InputStreamReader(logSource.createInputStream()));

      String actualLogString = logFileReader.readLine().trim();
      assertTrue(actualLogString.equals(expectedText1));

      actualLogString = logFileReader.readLine().trim();
      assertTrue(actualLogString.equals(expectedText2));

      actualLogString = logFileReader.readLine().trim();
      assertTrue(actualLogString.equals(expectedText3));

    } finally {
      if (logFileReader != null) {
        logFileReader.close();
      }
      if (logSource != null) {
        logSource.cancel();
      }
      logger.closeLog();
    }
  }
 @Test
 public void readsMessageFromFile() {
   FileLogger logger = new FileLogger(pathToEmptyFile);
   logger.log("Some content");
   assertEquals("Some content, ", logger.getLogs());
 }
 @Test
 public void writesMessageToFile() throws IOException {
   FileLogger logger = new FileLogger(pathToEmptyFile);
   logger.log("message");
   assertEquals("message, ", new String(Files.readAllBytes(Paths.get(pathToEmptyFile))));
 }
 /**
  * Test behavior when {@link FileLogger#getLog()} is called when {@link FileLogger#init()} has not
  * been called.
  */
 public void testGetLog_NoInit() {
   FileLogger logger = new FileLogger();
   // expect this to be silently handled
   logger.getLog();
 }
 private void log(String msg, FileLogger flogger) {
   String result = getClass().getName() + ": " + msg;
   System.out.println(result);
   if (flogger != null) flogger.log(msg);
 }