Журнал 4j, ссылающийся на вход - PullRequest
1 голос
/ 28 сентября 2011

Я хотел бы сослаться на ввод в моем файле свойств log 4j так, чтобы, когда он получает команду ввода извне, он просматривал ее в списке и действовал соответствующим образом.

Вот как это выглядит:

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

где $ {log_file_name} - это целое число, переданное переключателю d

, теперь целое число ссылается на список:

1-Food

2-Fruits

3-Vegetables

, так что когда $ {log_file_name} равен 1, команда станет:

log4j.appender.R.File = / home/oracle/conf/ATL_food/ATL_food.log

как я могу установить это в файле свойств?

1 Ответ

1 голос
/ 28 сентября 2011

Для файла свойств 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.Вы можете сделать числовую замену самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...