Author: gnodet
Date: Thu Nov 26 09:44:37 2009
New Revision: 884480
URL: http://svn.apache.org/viewvc?rev=884480&view=rev
Log:
FELIX-1877: karaf.main.BootstrapLogManager possible resource leak and ignored
exception in open method
Modified:
felix/trunk/karaf/main/src/main/java/org/apache/felix/karaf/main/BootstrapLogManager.java
Modified:
felix/trunk/karaf/main/src/main/java/org/apache/felix/karaf/main/BootstrapLogManager.java
URL:
http://svn.apache.org/viewvc/felix/trunk/karaf/main/src/main/java/org/apache/felix/karaf/main/BootstrapLogManager.java?rev=884480&r1=884479&r2=884480&view=diff
==============================================================================
---
felix/trunk/karaf/main/src/main/java/org/apache/felix/karaf/main/BootstrapLogManager.java
(original)
+++
felix/trunk/karaf/main/src/main/java/org/apache/felix/karaf/main/BootstrapLogManager.java
Thu Nov 26 09:44:37 2009
@@ -50,10 +50,20 @@
log = new File(filename);
} else {
// Make a best effort to log to the default file appender
configured for log4j
+ FileInputStream fis = null;
try {
- props.load(new
FileInputStream("../etc/org.ops4j.pax.logging.cfg"));
+ fis = new FileInputStream("../etc/org.ops4j.pax.logging.cfg");
+ props.load(fis);
} catch (IOException e) {
props.setProperty("log4j.appender.out.file",
"${karaf.base}/data/log/karaf.log");
+ } finally {
+ if (fis != null) {
+ try {
+ fis.close();
+ } catch (IOException ioe) {
+ ioe.printStackTrace();
+ }
+ }
}
filename =
Main.substVars(props.getProperty("log4j.appender.out.file"),"log4j.appender.out.file",
null, null);
log = new File(filename);
@@ -87,7 +97,11 @@
private void open (File logfile, boolean append) throws IOException {
if (!logfile.getParentFile().exists()) {
- logfile.getParentFile().mkdirs();
+ try {
+ logfile.getParentFile().mkdirs();
+ } catch (SecurityException se) {
+ throw new IOException(se.getMessage());
+ }
}
FileOutputStream fout = new FileOutputStream(logfile, append);
BufferedOutputStream out = new BufferedOutputStream(fout);
@@ -104,4 +118,4 @@
}
-}
\ No newline at end of file
+}