从 Vagrant 启动虚拟机时,如何重新定位或禁用 VirtualBox 日志文件?

Joh*_*n Y 8 virtualbox vagrant

当我vagrant up使用 VirtualBox 作为提供程序运行时,它会创建一个ubuntu-xenial-16.04-cloudimg-console.log在项目根目录中调用的日志文件。这给 PHPStorm 带来了困难,因为它没有从搜索中排除单个文件的选项,只有文件夹。

我想在_log目录中创建这个日志文件,但我找不到如何配置它的位置;Vagrantfile 文档中似乎没有任何内容,而且我在 VirtualBox GUI 中找不到任何选项。

我还尝试将文件符号链接到 /dev/null,但是如果链接存在,VirtualBox 甚至拒绝启动。我不能在 VM 启动时简单地删除该文件,因为它锁定了它。

简化版Vagrantfile如下:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant.configure("2") do |config|
  config.vm.box = "ubuntu/xenial64"

  config.disksize.size = "10GB"

  config.vm.network "forwarded_port", guest: 80, host: 80, host_ip: "127.0.0.1"
  config.vm.network "forwarded_port", guest: 3306, host: 3306, host_ip: "127.0.0.1"

  config.vm.synced_folder ".", "/var/www/html"

  config.vm.provider "virtualbox" do |vb|
    vb.gui = false
    vb.memory = "2048"
  end

  config.vm.provision "shell", inline: <<-SHELL
    # redacted
  SHELL
end
Run Code Online (Sandbox Code Playgroud)

如何更改日志位置?或者,如果可能的话,我怎样才能防止它首先生成?

jon*_*sfh 12

我设法按照这篇文章更改了日志文件位置。要将日志文件位置更改为相对于我的 Vagrantfile 的名为 /temp 的文件夹,我将其添加到 Vagrantfile(在Vagrant.configure(2) do |config|- 部分内):

config.vm.provider "virtualbox" do |vb|
  vb.customize [
    "modifyvm", :id, "--uartmode1", "file",
    File.join(Dir.pwd, "temp/ubuntu-xenial-16.04-cloudimg-console.log")
  ]
end
Run Code Online (Sandbox Code Playgroud)

这似乎覆盖了当前的位置设置。临时文件夹必须已经存在。

要完全禁用日志文件输出,请按照上述链接中的方法操作:

config.vm.provider "virtualbox" do |vb|
  vb.customize [ "modifyvm", :id, "--uartmode1", "disconnected" ]
end
Run Code Online (Sandbox Code Playgroud)