package org.erlide.libs;
import java.io.InputStream;
import java.util.Properties;
import org.apache.log4j.FileAppender;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
import org.eclipse.core.resources.ResourcesPlugin;
import org.erlide.common.util.DebugStream;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
public class LibsActivator implements BundleActivator {
@Override
public void start(final BundleContext context) throws Exception {
DebugStream.activate();
System.out.println("START ERLIDE " + context.getBundle().getVersion());
final Properties props = new Properties();
final InputStream fis = context.getBundle()
.getEntry("/log4j.properties").openStream();
props.load(fis);
fis.close();
props.putAll(System.getProperties());
PropertyConfigurator.configure(props);
setLogFileName();
Logger.getLogger("org.erlide").setAdditivity(false);
}
private void setLogFileName() {
final FileAppender fsa = (FileAppender) Logger.getLogger("org.erlide")
.getAppender("erlide_log");
fsa.setFile(getLogDir() + "/erlide.log");
fsa.activateOptions();
}
@Override
public void stop(final BundleContext context) throws Exception {
}
private static String getLogDir() {
return ResourcesPlugin.getWorkspace().getRoot().getLocation()
.toPortableString();
}
}