Я хочу записать некоторые сообщения INFO в отдельный файл вне var / jenkins / logs (местоположение журнала по умолчанию Jenkins), но я не смог найти никаких рабочих примеров.
Вход в журналы Jenkinsпросто:
static final Logger LOGGER = Logger.getLogger([YOUR_CLASS_NAME].class.getName());
LOGGER.log(Level.INFO, [MESSAGE]);
, но я не уверен, как регистрировать сообщения в отдельном файле.
Любая помощь очень ценится!
Добавление после ответа
Контекст, из которого я хочу войти, находится в пользовательском плагине, который я написал, где я в основном перезаписываю компаратор по умолчанию в Jenkins своим собственным.Исходя из определенных критериев, задания рассматриваются как более приоритетные, чем другие, в очереди на сборку.
@Override
public int compare(Queue.BuildableItem lhs, Queue.BuildableItem rhs) {
if (shouldBePrioritized(lhs) && !shouldBePrioritized(rhs)) {
LOGGER.log(Level.INFO, "[BQP] Comparing " + lhs.task.getName() + "and " + rhs.task.getName() + ". Result: " + lhs.task.getName());
return -1;
}
if (shouldBePrioritized(rhs) && !shouldBePrioritized((lhs))) {
LOGGER.log(Level.INFO, "[BQP] Comparing " + lhs.task.getName() + "and " + rhs.task.getName() + ". Result: " + rhs.task.getName());
return 1;
}
LOGGER.log(Level.INFO, "[BQP] Comparing " + lhs.task.getName() + "and " + rhs.task.getName() + ". Result: equal");
return super.compare(lhs, rhs);
}
В настоящее время я использую этот LOGGER.log (), который записывает сравнения в журналы Jenkins, но я хотел бы войтисравнения в отдельном файле на виртуальной машине, в котором находится контейнер Docker, на котором работает Jenkins, но я считаю, что это выходит за рамки вопроса.Пока все в порядке, если мне удастся записать эту информацию в файл в контейнере Jenkins.
Спасибо!