簡體   English   中英

Websphere自由-應用程序特定的日志記錄配置

[英]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.PropertyConfiguratorjava.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM