From 299bdece0fba3b7c4d57464cb114e7ce463897f9 Mon Sep 17 00:00:00 2001 From: Jonathan Lennox Date: Wed, 8 May 2024 14:43:31 -0400 Subject: [PATCH 1/2] Use logRecord.getInstant() for timestamp in JitsiLogFormatter logs. Also use DateTimeFormatter to format the timestamp, and some other warning cleanups. --- .../utils/logging2/JitsiLogFormatter.java | 47 ++++++------------- 1 file changed, 14 insertions(+), 33 deletions(-) diff --git a/src/main/java/org/jitsi/utils/logging2/JitsiLogFormatter.java b/src/main/java/org/jitsi/utils/logging2/JitsiLogFormatter.java index 80e1e3b..93df0ef 100644 --- a/src/main/java/org/jitsi/utils/logging2/JitsiLogFormatter.java +++ b/src/main/java/org/jitsi/utils/logging2/JitsiLogFormatter.java @@ -17,8 +17,9 @@ package org.jitsi.utils.logging2; import java.io.*; -import java.text.*; -import java.util.*; +import java.time.ZoneId; +import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; import java.util.logging.*; import java.util.logging.Formatter; @@ -38,17 +39,7 @@ public class JitsiLogFormatter extends Formatter /** * Line separator used by current platform */ - private static String lineSeparator = System.getProperty("line.separator"); - - /** - * Two digit DecimalFormat instance, used to format datetime - */ - private static DecimalFormat twoDigFmt = new DecimalFormat("00"); - - /** - * Three digit DecimalFormat instance, used to format datetime - */ - private static DecimalFormat threeDigFmt = new DecimalFormat("000"); + private static final String lineSeparator = System.lineSeparator(); /** * The application name used to generate this log @@ -60,6 +51,12 @@ public class JitsiLogFormatter extends Formatter */ private static boolean timestampDisabled = false; + /** + * The formatter to use for timestamps. + */ + private static final DateTimeFormatter timestampFormatter = + DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS "); + /** * The default constructor for JitsiLogFormatter which loads * program name property from logging.properties file, if it exists @@ -77,7 +74,7 @@ public JitsiLogFormatter() @Override public synchronized String format(LogRecord record) { - StringBuffer sb = new StringBuffer(); + StringBuilder sb = new StringBuilder(); if (programName != null) { @@ -89,23 +86,7 @@ public synchronized String format(LogRecord record) if (!timestampDisabled) { - //current time - Calendar cal = Calendar.getInstance(); - int year = cal.get(Calendar.YEAR); - int month = cal.get(Calendar.MONTH) + 1; - int day = cal.get(Calendar.DAY_OF_MONTH); - int hour = cal.get(Calendar.HOUR_OF_DAY); - int minutes = cal.get(Calendar.MINUTE); - int seconds = cal.get(Calendar.SECOND); - int millis = cal.get(Calendar.MILLISECOND); - - sb.append(year).append('-'); - sb.append(twoDigFmt.format(month)).append('-'); - sb.append(twoDigFmt.format(day)).append(' '); - sb.append(twoDigFmt.format(hour)).append(':'); - sb.append(twoDigFmt.format(minutes)).append(':'); - sb.append(twoDigFmt.format(seconds)).append('.'); - sb.append(threeDigFmt.format(millis)).append(' '); + sb.append(timestampFormatter.format(ZonedDateTime.ofInstant(record.getInstant(), ZoneId.systemDefault()))); } //log level @@ -151,9 +132,9 @@ public synchronized String format(LogRecord record) PrintWriter pw = new PrintWriter(sw); record.getThrown().printStackTrace(pw); pw.close(); - sb.append(sw.toString()); + sb.append(sw); } - catch (RuntimeException ex) + catch (RuntimeException ignored) { } } From ea5fe9b2614f50212a5727f862c0d5f69e87ec0d Mon Sep 17 00:00:00 2001 From: Jonathan Lennox Date: Wed, 15 May 2024 17:58:17 -0400 Subject: [PATCH 2/2] Squash: Java import cleanups. --- src/main/java/org/jitsi/utils/logging2/JitsiLogFormatter.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/org/jitsi/utils/logging2/JitsiLogFormatter.java b/src/main/java/org/jitsi/utils/logging2/JitsiLogFormatter.java index 93df0ef..8e70b1a 100644 --- a/src/main/java/org/jitsi/utils/logging2/JitsiLogFormatter.java +++ b/src/main/java/org/jitsi/utils/logging2/JitsiLogFormatter.java @@ -17,11 +17,9 @@ package org.jitsi.utils.logging2; import java.io.*; -import java.time.ZoneId; -import java.time.ZonedDateTime; +import java.time.*; import java.time.format.DateTimeFormatter; import java.util.logging.*; -import java.util.logging.Formatter; public class JitsiLogFormatter extends Formatter {