<dependency>
<groupId>org.ops4j.pax.logging</groupId>
<artifactId>pax-logging-api</artifactId>
<version>${pax.logging.version}</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.logging</groupId>
<artifactId>pax-logging-service</artifactId>
<version>${pax.logging.version}</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.logging</groupId>
<artifactId>pax-logging-log4j1</artifactId>
<version>${pax.logging.version}</version>
</dependency>
properties
log4j.rootLogger=INFO, stdout, file
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=mylog.log
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=5
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
import org.ops4j.pax.logging.Logger;
import org.ops4j.pax.logging.LoggerProvider;
import org.ops4j.pax.logging.PaxLoggingService;
import org.osgi.framework.BundleActivator;
import org.osgi.framework.BundleContext;
import org.osgi.framework.ServiceReference;
import org.osgi.framework.ServiceRegistration;
public class MyBundleActivator implements BundleActivator {
private BundleContext bundleContext;
private LoggerProvider loggerProvider;
private ServiceRegistration<?> loggerServiceRegistration;
@Override
public void start(BundleContext bundleContext) throws Exception {
this.bundleContext = bundleContext;
configureLogger();
}
@Override
public void stop(BundleContext bundleContext) throws Exception {
unregisterLogger();
}
private void configureLogger() {
ServiceReference<PaxLoggingService> serviceReference = bundleContext.getServiceReference(PaxLoggingService.class);
PaxLoggingService loggingService = bundleContext.getService(serviceReference);
loggerProvider = loggingService.getLogger(null, "MyBundleActivator", LoggerProvider.class);
configureLogger(loggerProvider.getLogger("MyLogger"));
}
private void configureLogger(Logger logger) {
logger.info("Hello, World!");
}
private void unregisterLogger() {
loggerServiceRegistration.unregister();
}
}