Repository: logging-log4j2 Updated Branches: refs/heads/master 95a8c4fa7 -> 68e43b84d
Make Timer implement StringBuilderFormattable Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/68e43b84 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/68e43b84 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/68e43b84 Branch: refs/heads/master Commit: 68e43b84d8705cb6ff2bbcc999ae7e1f2665e5d9 Parents: 95a8c4f Author: Mikael Ståldal <[email protected]> Authored: Wed May 10 14:12:05 2017 +0200 Committer: Mikael Ståldal <[email protected]> Committed: Wed May 10 14:12:05 2017 +0200 ---------------------------------------------------------------------- .../java/org/apache/logging/log4j/Timer.java | 25 +++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/68e43b84/log4j-api/src/test/java/org/apache/logging/log4j/Timer.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/Timer.java b/log4j-api/src/test/java/org/apache/logging/log4j/Timer.java index cca30b5..2a4780a 100644 --- a/log4j-api/src/test/java/org/apache/logging/log4j/Timer.java +++ b/log4j-api/src/test/java/org/apache/logging/log4j/Timer.java @@ -19,12 +19,13 @@ package org.apache.logging.log4j; import java.io.Serializable; import java.text.DecimalFormat; +import org.apache.logging.log4j.util.StringBuilderFormattable; import org.apache.logging.log4j.util.Strings; /** * */ -public class Timer implements Serializable +public class Timer implements Serializable, StringBuilderFormattable { private static final long serialVersionUID = 9175191792439630013L; @@ -144,16 +145,23 @@ public class Timer implements Serializable @Override public String toString() { - final StringBuilder result = new StringBuilder("Timer ").append(name); + final StringBuilder result = new StringBuilder(); + formatTo(result); + return result.toString(); + } + + @Override + public void formatTo(StringBuilder buffer) { + buffer.append("Timer ").append(name); switch (status) { case "Start": - result.append(" started"); + buffer.append(" started"); break; case "Pause": - result.append(" paused"); + buffer.append(" paused"); break; case "Resume": - result.append(" resumed"); + buffer.append(" resumed"); break; case "Stop": long nanoseconds = elapsedTime; @@ -184,7 +192,7 @@ public class Timer implements Serializable elapsed += numFormat.format(seconds) + '.'; numFormat = new DecimalFormat("000000000"); elapsed += numFormat.format(nanoseconds) + " seconds"; - result.append(" stopped. Elapsed time: ").append(elapsed); + buffer.append(" stopped. Elapsed time: ").append(elapsed); if (iterations > 0) { nanoseconds = elapsedTime / iterations; // Get elapsed hours @@ -213,14 +221,13 @@ public class Timer implements Serializable elapsed += numFormat.format(seconds) + '.'; numFormat = new DecimalFormat("000000000"); elapsed += numFormat.format(nanoseconds) + " seconds"; - result.append(" Average per iteration: ").append(elapsed); + buffer.append(" Average per iteration: ").append(elapsed); } break; default: - result.append(' ').append(status); + buffer.append(' ').append(status); break; } - return result.toString(); } @Override
