![](/img/trans.png)
[英]websphere liberty - Not able to generate application specific logging using slf4j or log4j
[英]websphere liberty - application specific logging configuration
我在部署於Websphere自由概要文件的應用程序中使用SLF4J。 我想對其進行配置,以便1-日志記錄配置(例如,如果我將log4j與slf4j一起使用,則為log4j屬性)駐留在應用程序war文件之外; 2-日志記錄配置僅適用於我的應用程序,而不適用於部署在同一概要文件上的其他應用程序。
(1)可以通過將slf4j與java.util.logging一起使用來實現,因為Websphere自由是與之集成的,但是日志記錄配置適用於整個概要文件
但是,同時獲得(1)和(2)的最佳方法是什么?
我最終將org.apache.log4j.PropertyConfigurator
與java.nio.file.WatchService
一起使用。
watchservice將在預定義的位置監視log4j.properties文件以進行更改。 如果文件被更改,它將調用此方法
/**
* Update configuration.
*/
public void updateConfiguration() {
Path path = configPath.resolve(LOG_FILE_NAME);
if (Files.exists(path)){
System.out.println(MessageFormat.format("Reloading logging configuration from {0}", path.toAbsolutePath()));
PropertyConfigurator.configure(path.toAbsolutePath().toString());
} else {
System.err.println(MessageFormat.format("log4j.properties file was expected at {0} but was not present. Please create this file and configure it for logging to work.", path.toAbsolutePath()));
}
}
這將允許在應用程序外部創建日志配置文件,該文件也可以在運行時更新。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.