pFad - Phone/Frame/Anonymizer/Declutterfier! Saves Data!


--- a PPN by Garber Painting Akron. With Image Size Reduction included!

URL: http://github.com/jruby/jruby/commit/f0e89f41c8151f077c5cfbaf44784c2c23a1a882

" /> include current thread-name as well as level in logger's formatted me… · jruby/jruby@f0e89f4 · GitHub
Skip to content

Commit f0e89f4

Browse files
committed
include current thread-name as well as level in logger's formatted message e.g. :
2015-11-04T11:29:41.759+01:00 [main] INFO SampleLogger : hello world
1 parent 80ff67f commit f0e89f4

3 files changed

Lines changed: 35 additions & 8 deletions

File tree

core/src/main/java/org/jruby/util/log/OutputStreamLogger.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -120,12 +120,12 @@ public void setDebugEnable(boolean debug) {
120120

121121
protected void write(String message, String level, Object[] args) {
122122
CharSequence suble = substitute(message, args);
123-
stream.println(formatMessage(suble.toString()));
123+
stream.println(formatMessage(suble, level));
124124
}
125125

126126
protected void write(String message, String level, Throwable throwable) {
127127
synchronized (stream) {
128-
stream.println(formatMessage(message));
128+
stream.println(formatMessage(message, level));
129129
//if ( message == null || message.length() > 0 ) stream.print(' ');
130130
writeStackTrace(stream, throwable);
131131
}
@@ -139,12 +139,17 @@ protected static void writeStackTrace(PrintStream stream, Throwable throwable) {
139139
throwable.printStackTrace(stream);
140140
}
141141

142-
protected String formatMessage(CharSequence message) {
143-
return new StringBuilder()
142+
protected String formatMessage(CharSequence message, String level) {
143+
// 2015-11-04T11:29:41.759+01:00 [main] INFO SampleLogger : hello world
144+
return new StringBuilder(64)
144145
.append(new DateTime(System.currentTimeMillis()))
145-
.append(": ")
146+
.append(' ')
147+
.append('[').append(Thread.currentThread().getName()).append(']')
148+
.append(' ')
149+
.append(level)
150+
.append(' ')
146151
.append(loggerName)
147-
.append(": ")
152+
.append(" : ")
148153
.append(message)
149154
.toString();
150155
}

core/src/main/java/org/jruby/util/log/StandardErrorLogger.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ protected void write(String message, String level, Object[] args) {
5050
if ( stream == null ) stream = System.err;
5151

5252
CharSequence suble = substitute(message, args);
53-
stream.println(formatMessage(suble.toString()));
53+
stream.println(formatMessage(suble, level));
5454
}
5555

5656
@Override
@@ -61,7 +61,7 @@ protected void write(String message, String level, Throwable throwable) {
6161
if ( stream == null ) stream = System.err;
6262

6363
synchronized (stream) {
64-
stream.println(formatMessage(message));
64+
stream.println(formatMessage(message, level));
6565
writeStackTrace(stream, throwable);
6666
}
6767
}

core/src/test/java/org/jruby/util/log/OutputStreamLoggerTest.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,28 @@ public void testWithDebuggingEnabled() {
8383
}
8484
}
8585

86+
@Test
87+
public void testIncludesLevel() {
88+
final boolean debug = logger.isDebugEnabled();
89+
try {
90+
logger.setDebugEnable(true);
91+
logger.debug("{} message", "a debug");
92+
assertStreamNotEmpty();
93+
assertStreamEndsWith("DEBUG OutputStreamLoggerTest : a debug message");
94+
95+
logger.info("hello!");
96+
assertStreamNotEmpty();
97+
assertStreamEndsWith("INFO OutputStreamLoggerTest : hello!");
98+
99+
logger.warn("red-{}", "alert");
100+
assertStreamNotEmpty();
101+
assertStreamEndsWith("WARN OutputStreamLoggerTest : red-alert");
102+
}
103+
finally {
104+
logger.setDebugEnable(debug);
105+
}
106+
}
107+
86108
@Test
87109
public void testWithException() {
88110
logger.error("debug-test-x", new RuntimeException("42"));

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad © 2024 Your Company Name. All rights reserved.





Check this box to remove all script contents from the fetched content.



Check this box to remove all images from the fetched content.


Check this box to remove all CSS styles from the fetched content.


Check this box to keep images inefficiently compressed and original size.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy