非常简单。
将您的 logback.xml 文件放在目录 /config 中(或插件内的任何位置)
在您的插件项目 (plugin.xml) 中,执行以下操作。
- 依赖项选项卡:添加:org.slf4j.api,ch.qos.logback.classic ch.qos.logback.core
- 构建选项卡,“二进制构建”,检查文件“config/logback.xml”
在您的初始化类(plugin.xml 中的“lifeCycleURI”指向的类)中添加以下内容:
@PostContextCreate
public void init()
...
SLF4JConfigurator.configure();
...
}
SLF4JConfigurator 类:
public final class SLF4JConfigurator {
private static final String BUNDLE_NAME = FrameworkUtil.getBundle(SLF4JConfigurator.class).getSymbolicName();
private static final String LOGBACK_XML = "platform:/plugin/" + BUNDLE_NAME + "/config/logback.xml";
public static void configure() {
// Reset Current SLF4J config
JoranConfigurator configurator = new JoranConfigurator();
LoggerContext loggerContext = (LoggerContext) LoggerFactory.getILoggerFactory();
configurator.setContext(loggerContext);
loggerContext.reset();
// Read Configuration file
try {
URL configFile = new URL(LOGBACK_XML);
InputStream configurationStream = configFile.openStream();
configurator.doConfigure(configurationStream);
configurationStream.close();
} catch (JoranException | IOException e) {
// Problem when reading file...
e.printStackTrace();
}
StatusPrinter.printInCaseOfErrorsOrWarnings(loggerContext);
// Confirm message
Logger logger = LoggerFactory.getLogger(SLF4JConfigurator.class);
logger.info("Logging configuration initialised.");
}
}
在“产品”定义中包含 3 个依赖项。如果您使用 tycho 构建,来自 eclipse 的 slf4j+logback 插件插件将自动与您的应用程序捆绑在一起,无需添加到您的 pom 文件中。
这就是我在 JMSToolBox中的做法(在 sourceforge 上)