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

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

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

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

我也尝试过将文件符号链接到 /dev/null,但即使有链接,VirtualBox 也拒绝启动。我无法在虚拟机启动时简单地删除该文件,因为它对该文件进行了锁定。

简化版本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

我该如何更改日志位置?或者,如果可能的话,我该如何从一开始就阻止它生成?

答案1

我设法按照更改日志文件位置这个帖子。为了将日志文件位置更改为相对于我的 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

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

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

config.vm.provider "virtualbox" do |vb|
  vb.customize [ "modifyvm", :id, "--uartmode1", "disconnected" ]
end

相关内容