Author: pderop
Date: Thu Nov 10 22:05:27 2016
New Revision: 1769208

URL: http://svn.apache.org/viewvc?rev=1769208&view=rev
Log:
FELIX-5407: DM annotation plugin generates temp log files even if logging is 
disabled.

Modified:
    
felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/plugin/bnd/AnnotationPlugin.java
    
felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/plugin/bnd/BndLogger.java

Modified: 
felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/plugin/bnd/AnnotationPlugin.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/plugin/bnd/AnnotationPlugin.java?rev=1769208&r1=1769207&r2=1769208&view=diff
==============================================================================
--- 
felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/plugin/bnd/AnnotationPlugin.java
 (original)
+++ 
felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/plugin/bnd/AnnotationPlugin.java
 Thu Nov 10 22:05:27 2016
@@ -68,8 +68,6 @@ public class AnnotationPlugin implements
      * @throws Exception on any errors.
      */
     public boolean analyzeJar(Analyzer analyzer) throws Exception {
-        m_logger = new BndLogger(m_reporter, analyzer.getBsn());
-
         try {
             init(analyzer);
 
@@ -124,7 +122,7 @@ public class AnnotationPlugin implements
     }
 
     private void init(Analyzer analyzer) {
-        m_logger.setLevel(parseOption(m_properties, LOGLEVEL, 
BndLogger.Level.Warn.toString()));
+        m_logger = new BndLogger(m_reporter, analyzer.getBsn(), 
parseOption(m_properties, LOGLEVEL, null));
         m_buildImportExportService = parseOption(m_properties, BUILD_IMPEXT, 
false);
         m_addRequireCapability = parseOption(m_properties, 
ADD_REQUIRE_CAPABILITY, false);
         analyzer.setExceptions(true);

Modified: 
felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/plugin/bnd/BndLogger.java
URL: 
http://svn.apache.org/viewvc/felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/plugin/bnd/BndLogger.java?rev=1769208&r1=1769207&r2=1769208&view=diff
==============================================================================
--- 
felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/plugin/bnd/BndLogger.java
 (original)
+++ 
felix/trunk/dependencymanager/org.apache.felix.dependencymanager.annotation/src/org/apache/felix/dm/annotation/plugin/bnd/BndLogger.java
 Thu Nov 10 22:05:27 2016
@@ -59,21 +59,25 @@ public class BndLogger extends Logger {
      * @param logLevel
      * @param bsn
      */
-    public BndLogger(Reporter reporter, String bsn) {
+    public BndLogger(Reporter reporter, String bsn, String level) {
         m_reporter = reporter;
-        File logFilePath = new File(System.getProperty("java.io.tmpdir") + 
File.separator + "dmplugin"
-            + File.separator + bsn + ".log");
-        new File(logFilePath.getParent()).mkdirs();
-
-        PrintWriter writer = null;
-        try {
-            writer = new PrintWriter(new FileWriter(logFilePath, false));
-        }
-        catch (IOException e) {
-            reporter.exception(e, "Could not create scrplugin log file: %s", 
logFilePath);
-            writer = null;
+        if (level != null) {
+               setLevel(level);
+               File logFilePath = new 
File(System.getProperty("java.io.tmpdir") + File.separator + "dmplugin"
+                               + File.separator + bsn + ".log");
+               new File(logFilePath.getParent()).mkdirs();
+
+                       PrintWriter writer = null;
+                       try {
+                               writer = new PrintWriter(new 
FileWriter(logFilePath, false));
+                       } catch (IOException e) {
+                               reporter.exception(e, "Could not create 
scrplugin log file: %s", logFilePath);
+                               writer = null;
+                       }
+               this.logWriter = writer;
+        } else {
+               this.logWriter = null; // no logging enabled, we'll only report 
warn/errs to bnd reporter.
         }
-        this.logWriter = writer;
     }
 
     /**
@@ -85,24 +89,6 @@ public class BndLogger extends Logger {
         }
     }
 
-    /**
-     * Sets the enabled log level.
-     * 
-     * @param level
-     *            the enabled level ("Error", "Warn", "Info", or "Debug")
-     */
-    public void setLevel(String level) {
-        try {
-            level = Character.toUpperCase(level.charAt(0))
-                    + level.substring(1).toLowerCase();
-            this.logEnabled = Level.valueOf(level);
-        } catch (IllegalArgumentException e) {
-            this.logEnabled = Level.Warn;
-            warn("Bnd scrplugin logger initialized with invalid log level: "
-                    + level);
-        }
-    }
-
     // Reporter
 
     public boolean isDebugEnabled() {
@@ -159,6 +145,24 @@ public class BndLogger extends Logger {
         logErr(String.format(content, args), err);
     }
 
+    /**
+     * Sets the enabled log level.
+     * 
+     * @param level
+     *            the enabled level ("Error", "Warn", "Info", or "Debug")
+     */
+    private void setLevel(String level) {
+        try {
+            level = Character.toUpperCase(level.charAt(0))
+                    + level.substring(1).toLowerCase();
+            this.logEnabled = Level.valueOf(level);
+        } catch (IllegalArgumentException e) {
+            this.logEnabled = Level.Warn;
+            warn("Bnd scrplugin logger initialized with invalid log level: "
+                    + level);
+        }
+    }
+
     private void logErr(String msg, Throwable t) {
         log(Level.Error, msg, t);
     }


Reply via email to