Skip to content

Commit

Permalink
Issue #4567 - Backport of StdErrLog 10.0.x for Throwable behavior change
Browse files Browse the repository at this point in the history
Signed-off-by: Joakim Erdfelt <joakim.erdfelt@gmail.com>
  • Loading branch information
joakime committed Feb 20, 2020
1 parent d453333 commit 0e53640
Showing 1 changed file with 16 additions and 20 deletions.
36 changes: 16 additions & 20 deletions jetty-util/src/main/java/org/eclipse/jetty/util/log/StdErrLog.java
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@
@ManagedObject("Jetty StdErr Logging Implementation")
public class StdErrLog extends AbstractLogger
{
private static final String EOL = System.getProperty("line.separator");
private static final String EOL = System.lineSeparator();
private static final Object[] EMPTY_ARGS = new Object[0];
// Do not change output format lightly, people rely on this output format now.
private static int __tagpad = Integer.parseInt(Log.__props.getProperty("org.eclipse.jetty.util.log.StdErrLog.TAG_PAD", "0"));
Expand Down Expand Up @@ -132,13 +132,11 @@ public static void setTagPad(int pad)
__tagpad = pad;
}

@SuppressWarnings("UnusedAssignment")
private int _level = LEVEL_INFO;
private int _level;
// Level that this Logger was configured as (remembered in special case of .setDebugEnabled())
private int _configuredLevel;
private PrintStream _stderr = System.err;
@SuppressWarnings("UnusedAssignment")
private boolean _source = __source;
private boolean _source;
// Print the long form names, otherwise use abbreviated
private boolean _printLongNames = __long;
// The full log name, as provided by the system.
Expand Down Expand Up @@ -353,28 +351,26 @@ public boolean isDebugEnabled()
@Override
public void setDebugEnabled(boolean enabled)
{
if (enabled)
{
this._level = LEVEL_DEBUG;
int level = enabled ? LEVEL_DEBUG : this.getConfiguredLevel();
this.setLevel(level);

for (Logger log : Log.getLoggers().values())
{
if (log.getName().startsWith(getName()) && log instanceof StdErrLog)
((StdErrLog)log).setLevel(LEVEL_DEBUG);
}
}
else
String name = getName();
for (Logger log : Log.getLoggers().values())
{
this._level = this._configuredLevel;

for (Logger log : Log.getLoggers().values())
if (log.getName().startsWith(name) && log instanceof StdErrLog)
{
if (log.getName().startsWith(getName()) && log instanceof StdErrLog)
((StdErrLog)log).setLevel(((StdErrLog)log)._configuredLevel);
StdErrLog logger = (StdErrLog)log;
level = enabled ? LEVEL_DEBUG : logger.getConfiguredLevel();
logger.setLevel(level);
}
}
}

private int getConfiguredLevel()
{
return _configuredLevel;
}

public int getLevel()
{
return _level;
Expand Down

0 comments on commit 0e53640

Please # to comment.