【问题标题】:Where is homebrew services start log自制服务启动日志在哪里
【发布时间】:2018-11-30 01:32:39
【问题描述】:

当我运行brew services start mosquitto 时,服务并没有真正启动。当我使用brew services list 时,服务的状态为黄色started。我想知道为什么这个服务启动失败了,怎么回事?

【问题讨论】:

    标签: service homebrew


    【解决方案1】:

    通常的日志以/usr/local/var/log/结尾。

    【讨论】:

    • 或 /opt/homebrew/var/log 在 ARM 上,如 m1。
    • 我没有这些目录(M1 Monterey)
    • 其他系统我没试过,不过你应该可以用brew --prefix找到var/log所在的文件夹
    【解决方案2】:

    当您看到 brew 服务的黄色“已启动”表示该服务的状态为“未知”时,将打印已启动的文本以实现复古兼容性。

    在您的情况下,我建议将一些日志输出添加到您的 .plist 关联文件中,以编辑正确的 plist 文件检查 mosquitto 行上“brew services list”命令的输出,您将拥有对应的 .plist 名称文件,编辑该文件并添加两个条目,我打印用于我的 apache 安装的 plist 文件,请将此文件用作指南。检查 StandardOutPath 和 StandardErrorPath 的行并为您的特定情况创建类似的内容。

    保存文件后尝试再次运行服务,但这次检查相关的日志。 根据我的经验,当您看到黄色启动时,这意味着您有一些权限问题,您可以尝试保存关联的数据并重新安装 brew 公式作为第二个选项。

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
      <key>Label</key>
      <string>homebrew.mxcl.httpd</string>
      <key>ProgramArguments</key>
      <array>
        <string>/usr/local/opt/httpd/bin/httpd</string>
        <string>-D</string>
        <string>FOREGROUND</string>
      </array>
      <key>RunAtLoad</key>
      <true/>
      <key>StandardOutPath</key>
      <string>/usr/local/var/log/hombebrew/httpd/homebrew.mxcl.httpd.log</string>
      <key>StandardErrorPath</key>
      <string>/usr/local/var/log/hombebrew/httpd/homebrew.mxcl.httpd.stderr.log</string>
    </dict>
    </plist>
    

    【讨论】:

    • 我做了这个更改,但brew services restart &lt;service&gt; 正在默默地重写我的 .plist 文件
    • 查看更多here
    猜你喜欢
    • 2017-08-21
    • 1970-01-01
    • 2015-11-30
    • 2018-07-12
    • 1970-01-01
    • 2020-03-21
    • 2017-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多