private void saveRawLogFile(File rawFile, DeviceTestResult deviceTestResult) { rawFile.getParentFile().mkdirs(); try { if (!rawFile.createNewFile() || !rawFile.canWrite()) { return; } } catch (IOException e) { throw new RuntimeException("Unable to create raw log file " + rawFile.getAbsolutePath(), e); } try (Writer writer = new BufferedWriter( new OutputStreamWriter(new FileOutputStream(rawFile), UTF_8))) { for (LogCatMessage logCatMessage : deviceTestResult.getLog()) { writer.write(logCatMessage.getTimestamp().toString()); writer.write(" "); writer.write(logCatMessage.getLogLevel().getStringValue()); writer.write(" "); writer.write(logCatMessage.getTag()); writer.write(" "); writer.write(logCatMessage.getMessage()); writer.write("\n"); } } catch (IOException e) { throw new RuntimeException("Unable to write raw log file to " + rawFile.getAbsolutePath(), e); } }
LogLevel logLevel = LogLevel.getByLetterString(matcher.group(4)); if (logLevel == null && matcher.group(4).equals("F")) { logLevel = LogLevel.ASSERT;
if (m.getLogLevel().getPriority() < mLogLevel.getPriority()) { return false;
private void saveRawLogFile(File rawFile, DeviceTestResult deviceTestResult) { rawFile.getParentFile().mkdirs(); try { if (!rawFile.createNewFile() || !rawFile.canWrite()) { return; } } catch (IOException e) { throw new RuntimeException("Unable to create raw log file " + rawFile.getAbsolutePath(), e); } try (Writer writer = new BufferedWriter( new OutputStreamWriter(new FileOutputStream(rawFile), UTF_8))) { for (LogCatMessage logCatMessage : deviceTestResult.getLog()) { writer.write(logCatMessage.getTimestamp().toString()); writer.write(" "); writer.write(logCatMessage.getLogLevel().getStringValue()); writer.write(" "); writer.write(logCatMessage.getTag()); writer.write(" "); writer.write(logCatMessage.getMessage()); writer.write("\n"); } } catch (IOException e) { throw new RuntimeException("Unable to write raw log file to " + rawFile.getAbsolutePath(), e); } }
static LogEntry from(LogCatMessage message) { String rowClass; switch (message.getLogLevel()) { case ERROR: rowClass = "error"; break; case WARN: rowClass = "warning"; break; case INFO: rowClass = "info"; break; default: rowClass = ""; } String timestamp = message.getTimestamp().toString(); String level = message.getLogLevel().getStringValue(); return new LogEntry(rowClass, timestamp, level, message.getTag(), message.getMessage()); }
private static void println(LogLevel logLevel, String tag, String message) { if (logLevel.getPriority() < sLevel.getPriority()) { return; } if (!sOutputLoggers.isEmpty()) { for (ILogOutput logger : sOutputLoggers) { logger.printLog(logLevel, tag, message); } } if (sLogOutput != null) { sLogOutput.printLog(logLevel, tag, message); } else if (sOutputLoggers.isEmpty()) { printLog(logLevel, tag, message); } }
@Nullable @Override public HtmlLogCatMessage apply(@Nullable LogCatMessage logCatMessage) { HtmlLogCatMessage htmlLogCatMessage = new HtmlLogCatMessage(); htmlLogCatMessage.appName = logCatMessage.getAppName(); htmlLogCatMessage.logLevel = logCatMessage.getLogLevel().getStringValue(); htmlLogCatMessage.message = logCatMessage.getMessage(); htmlLogCatMessage.pid = logCatMessage.getPid(); htmlLogCatMessage.tag = logCatMessage.getTag(); htmlLogCatMessage.tid = logCatMessage.getTid(); htmlLogCatMessage.time = logCatMessage.getTimestamp().toString(); return htmlLogCatMessage; } };
/** * Returns the {@link LogLevel} enum matching the specified letter. * <p/> * The letter is passed as a {@link String} argument, but only the first character * is used. * @param letter the letter matching a <code>LogLevel</code> enum * @return a <code>LogLevel</code> object or <code>null</code> if no match were found. */ public static LogLevel getByLetterString(String letter) { if (letter.length() > 0) { return getByLetter(letter.charAt(0)); } return null; }
/** * Returns the {@link LogLevel} enum matching the specified letter. * <p> * The letter is passed as a {@link String} argument, but only the first character * is used. * @param letter the letter matching a <code>LogLevel</code> enum * @return a <code>LogLevel</code> object or <code>null</code> if no match were found. */ public static LogLevel getByLetterString(String letter) { if (!letter.isEmpty()) { return getByLetter(letter.charAt(0)); } return null; }
/** * Returns the {@link LogLevel} enum matching the specified letter. * @param letter the letter matching a <code>LogLevel</code> enum * @return a <code>LogLevel</code> object or <code>null</code> if no match were found. */ public static LogLevel getByLetter(char letter) { for (LogLevel mode : values()) { if (mode.mPriorityLetter == letter) { return mode; } } return null; }
/** * Returns the {@link LogLevel} enum matching the specified letter. * <p/> * The letter is passed as a {@link String} argument, but only the first character * is used. * @param letter the letter matching a <code>LogLevel</code> enum * @return a <code>LogLevel</code> object or <code>null</code> if no match were found. */ public static LogLevel getByLetterString(String letter) { if (!letter.isEmpty()) { return getByLetter(letter.charAt(0)); } return null; }
public static LogLevel getByString(String value) { for (LogLevel mode : values()) { if (mode.mStringValue.equals(value)) { return mode; } } return null; }
/** * Sets the minimum {@link LogLevel} to display. * <p/>This change takes effect right away. */ public static void setLogLevel(String value) { sLogLevel = LogLevel.getByString(value); Log.setLevel(sLogLevel); }
public static LogLevel getByString(String value) { for (LogLevel mode : values()) { if (mode.mStringValue.equals(value)) { return mode; } } return null; }
public static String getLogFormatString(LogLevel logLevel, String tag, String message) { SimpleDateFormat formatter = new SimpleDateFormat("hh:mm:ss", Locale.getDefault()); return String.format("%s %c/%s: %s\n", formatter.format(new Date()), logLevel.getPriorityLetter(), tag, message); } }
/** * Returns the {@link LogLevel} enum matching the specified letter. * @param letter the letter matching a <code>LogLevel</code> enum * @return a <code>LogLevel</code> object or <code>null</code> if no match were found. */ public static LogLevel getByLetter(char letter) { for (LogLevel mode : values()) { if (mode.mPriorityLetter == letter) { return mode; } } return null; }
public static LogLevel getByString(String value) { for (LogLevel mode : values()) { if (mode.mStringValue.equals(value)) { return mode; } } return null; }
/** * Sets the minimum {@link LogLevel} to display. * <p/>This change takes effect right away. */ public static void setLogLevel(String value) { sLogLevel = LogLevel.getByString(value); Log.setLevel(sLogLevel); }
/** * Returns the {@link LogLevel} enum matching the specified letter. * @param letter the letter matching a <code>LogLevel</code> enum * @return a <code>LogLevel</code> object or <code>null</code> if no match were found. */ public static LogLevel getByLetter(char letter) { for (LogLevel mode : values()) { if (mode.mPriorityLetter == letter) { return mode; } } return null; }
private static void println(LogLevel logLevel, String tag, String message) { if (logLevel.getPriority() >= mLevel.getPriority()) { if (sLogOutput != null) { sLogOutput.printLog(logLevel, tag, message); } else { printLog(logLevel, tag, message); } } }