mirror of
https://github.com/ysoftdevs/DependencyCheck.git
synced 2026-03-26 11:01:44 +01:00
added logback instead of JUL to resolve issue #164
Former-commit-id: 226e52fc03b22501358d6d147d3fa042c274f1f4
This commit is contained in:
@@ -17,10 +17,11 @@
|
|||||||
*/
|
*/
|
||||||
package org.owasp.dependencycheck;
|
package org.owasp.dependencycheck;
|
||||||
|
|
||||||
|
import ch.qos.logback.classic.LoggerContext;
|
||||||
|
import ch.qos.logback.classic.encoder.PatternLayoutEncoder;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
@@ -33,10 +34,11 @@ import org.owasp.dependencycheck.data.nvdcve.DatabaseProperties;
|
|||||||
import org.owasp.dependencycheck.dependency.Dependency;
|
import org.owasp.dependencycheck.dependency.Dependency;
|
||||||
import org.owasp.dependencycheck.org.apache.tools.ant.DirectoryScanner;
|
import org.owasp.dependencycheck.org.apache.tools.ant.DirectoryScanner;
|
||||||
import org.owasp.dependencycheck.reporting.ReportGenerator;
|
import org.owasp.dependencycheck.reporting.ReportGenerator;
|
||||||
import org.owasp.dependencycheck.utils.LogUtils;
|
|
||||||
import org.owasp.dependencycheck.utils.Settings;
|
import org.owasp.dependencycheck.utils.Settings;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
import ch.qos.logback.core.FileAppender;
|
||||||
|
import org.slf4j.impl.StaticLoggerBinder;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The command line interface for the DependencyCheck application.
|
* The command line interface for the DependencyCheck application.
|
||||||
@@ -45,11 +47,6 @@ import org.slf4j.LoggerFactory;
|
|||||||
*/
|
*/
|
||||||
public class App {
|
public class App {
|
||||||
|
|
||||||
/**
|
|
||||||
* The location of the log properties configuration file.
|
|
||||||
*/
|
|
||||||
private static final String LOG_PROPERTIES_FILE = "log.properties";
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The logger.
|
* The logger.
|
||||||
*/
|
*/
|
||||||
@@ -90,8 +87,9 @@ public class App {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final InputStream in = App.class.getClassLoader().getResourceAsStream(LOG_PROPERTIES_FILE);
|
if (cli.getVerboseLog() != null) {
|
||||||
LogUtils.prepareLogger(in, cli.getVerboseLog());
|
prepareLogger(cli.getVerboseLog());
|
||||||
|
}
|
||||||
|
|
||||||
if (cli.isGetVersion()) {
|
if (cli.isGetVersion()) {
|
||||||
cli.printVersionInfo();
|
cli.printVersionInfo();
|
||||||
@@ -350,4 +348,29 @@ public class App {
|
|||||||
Settings.setString(Settings.KEYS.ANALYZER_ASSEMBLY_MONO_PATH, pathToMono);
|
Settings.setString(Settings.KEYS.ANALYZER_ASSEMBLY_MONO_PATH, pathToMono);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void prepareLogger(String verboseLog) {
|
||||||
|
StaticLoggerBinder loggerBinder = StaticLoggerBinder.getSingleton();
|
||||||
|
LoggerContext context = (LoggerContext) loggerBinder.getLoggerFactory();
|
||||||
|
|
||||||
|
final PatternLayoutEncoder encoder = new PatternLayoutEncoder();
|
||||||
|
encoder.setPattern("%d %C:%L%n%-5level - %msg%n");
|
||||||
|
encoder.setContext(context);
|
||||||
|
encoder.start();
|
||||||
|
FileAppender fa = new FileAppender();
|
||||||
|
fa.setAppend(true);
|
||||||
|
fa.setEncoder(encoder);
|
||||||
|
fa.setContext(context);
|
||||||
|
fa.setFile(verboseLog);
|
||||||
|
final File f = new File(verboseLog);
|
||||||
|
String name = f.getName();
|
||||||
|
int i = name.lastIndexOf('.');
|
||||||
|
if (i > 1) {
|
||||||
|
name = name.substring(0, i);
|
||||||
|
}
|
||||||
|
fa.setName(name);
|
||||||
|
fa.start();
|
||||||
|
final ch.qos.logback.classic.Logger rootLogger = context.getLogger(ch.qos.logback.classic.Logger.ROOT_LOGGER_NAME);
|
||||||
|
rootLogger.addAppender(fa);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
16
dependency-check-cli/src/main/resources/logback.xml
Normal file
16
dependency-check-cli/src/main/resources/logback.xml
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
<configuration>
|
||||||
|
<contextName>dependency-check</contextName>
|
||||||
|
<!-- Logging configuration -->
|
||||||
|
<appender name="console" class="ch.qos.logback.core.ConsoleAppender">
|
||||||
|
<Target>System.out</Target>
|
||||||
|
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||||
|
<level>INFO</level>
|
||||||
|
</filter>
|
||||||
|
<encoder>
|
||||||
|
<pattern>[%level] %msg%n</pattern>
|
||||||
|
</encoder>
|
||||||
|
</appender>
|
||||||
|
<root level="DEBUG">
|
||||||
|
<appender-ref ref="console"/>
|
||||||
|
</root>
|
||||||
|
</configuration>
|
||||||
Reference in New Issue
Block a user