【发布时间】:2018-11-14 21:34:31
【问题描述】:
我想在 var/jenkins/logs(Jenkins 的默认日志位置)之外的单独文件中记录一些 INFO 消息,但我找不到任何工作示例。
登录 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 日志中,但我想将比较记录在运行 Jenkins 的 Docker 容器所在的 VM 上的单独文件中,但我相信这超出了问题的范围。现在,如果我设法将这些信息记录在 Jenkins 容器内的文件中,那就没问题了。
谢谢!
【问题讨论】: