Skip to content

Commit e8b2372

Browse files
committed
Logging adjustments:
* Adjust log pattern to include thread * add filtering and deactivate additivity * add logging during tests
1 parent 00dc0ea commit e8b2372

File tree

3 files changed

+41
-2
lines changed

3 files changed

+41
-2
lines changed

net.sourceforge.pmd.eclipse.plugin.test/META-INF/MANIFEST.MF

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,6 @@ Require-Bundle: org.eclipse.ui,
1515
org.junit,
1616
org.apache.log4j,
1717
org.apache.commons.io
18-
Import-Package: org.slf4j
18+
Import-Package: ch.qos.logback.classic,
19+
org.slf4j
20+
Bundle-Activator: net.sourceforge.pmd.eclipse.internal.TestActivator
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/**
2+
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
3+
*/
4+
5+
package net.sourceforge.pmd.eclipse.internal;
6+
7+
import org.eclipse.core.runtime.IStatus;
8+
import org.eclipse.core.runtime.Status;
9+
import org.eclipse.ui.plugin.AbstractUIPlugin;
10+
import org.slf4j.LoggerFactory;
11+
12+
import net.sourceforge.pmd.eclipse.plugin.PMDPlugin;
13+
14+
import ch.qos.logback.classic.Logger;
15+
16+
public class TestActivator extends AbstractUIPlugin {
17+
18+
public TestActivator() {
19+
PMDPlugin mainPlugin = PMDPlugin.getDefault();
20+
Object l = LoggerFactory.getLogger("net.sourceforge.pmd");
21+
if (l instanceof Logger) {
22+
Logger logger = (Logger) l;
23+
logger.setAdditive(true);
24+
} else {
25+
mainPlugin.getLog().log(new Status(IStatus.WARNING, PMDPlugin.PLUGIN_ID, "Couldn't setup logging for tests."));
26+
}
27+
28+
}
29+
30+
}

net.sourceforge.pmd.eclipse.plugin/src/main/java/net/sourceforge/pmd/eclipse/logging/internal/LogbackConfiguration.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
import net.sourceforge.pmd.eclipse.plugin.PMDPlugin;
1515

16+
import ch.qos.logback.classic.Level;
1617
import ch.qos.logback.classic.Logger;
1718
import ch.qos.logback.classic.LoggerContext;
1819
import ch.qos.logback.classic.encoder.PatternLayoutEncoder;
@@ -43,10 +44,16 @@ public void configureLogback() {
4344
EclipseLogAppender logbackEclipseAppender = new EclipseLogAppender(PMDPlugin.PLUGIN_ID, getLog());
4445
logbackEclipseAppender.setContext(logbackContext);
4546
logbackEclipseAppender.setName(PMDPlugin.PLUGIN_ID);
47+
ThresholdFilter filter = new ThresholdFilter();
48+
filter.setContext(logbackContext);
49+
filter.setLevel(Level.INFO.toString());
50+
filter.start();
51+
logbackEclipseAppender.addFilter(filter);
4652
logbackEclipseAppender.start();
4753

4854
Logger l = logbackContext.getLogger(ROOT_LOG_ID);
4955
l.addAppender(logbackEclipseAppender);
56+
l.setAdditive(false);
5057

5158
if (!SLF4JBridgeHandler.isInstalled()) {
5259
SLF4JBridgeHandler.install();
@@ -92,7 +99,7 @@ private void configureLogs(String logFileName, String logLevel) {
9299

93100
PatternLayoutEncoder encoder = new PatternLayoutEncoder();
94101
encoder.setContext(logbackContext);
95-
encoder.setPattern("%d{yyyy/MM/dd HH:mm:ss,SSS} %-5p %-32c{1} %m%n");
102+
encoder.setPattern("%d{yyyy/MM/dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n");
96103
encoder.start();
97104
appender.setEncoder(encoder);
98105

0 commit comments

Comments
 (0)