2011-09-28 97 views
1

我想在我的日誌4j屬性文件中引用輸入,以便當它從外部接收到輸入命令時,它將在列表中查找並相應地執行操作。日誌4j參考輸入

這是它的樣子:

log4j.appender.R.File=/home/oracle/conf/ATL_${log_file_name}/ATL_${log_file_name}.dlg 

其中$ {LOG_FILE_NAME}是d開關

現在整數參考名單上傳遞了一個整數:

1 - 食品

2-Fruits

3-Vegetables

,這樣當$ {} LOG_FILE_NAME爲1,則該命令將變成:

log4j.appender.R.File = /家庭/ ORACLE/conf目錄/ ATL_food/ATL_food.log

怎麼可以在屬性文件中設置它?

回答

1

log4j屬性文件沒有這樣的功能。

但是,您可以添加文件附加目的地到根記錄器編程,見下面的例子:

import java.io.IOException; 
import org.apache.log4j.*; 

public class LogTest { 
    public static void main(String args[]) throws IOException { 
     String category = System.getProperty("logCategory"); 
     Logger rootLogger = Logger.getRootLogger(); 
     PatternLayout layout = new PatternLayout("%d{ISO8601} [%t] %-5p %c %x - %m%n"); // replace with your layout 
     String logFileName = "/home/oracle/conf/ATL_" + category + "/ATL_" + category + ".dlg"; 
     rootLogger.addAppender(new FileAppender(layout, logFileName, false)); 
    } 
} 

您通過在命令行上一個VM參數-DlogCategory=food。你可以自己做一個數字替換。