LaunchAgentsで標準出力・エラー出力を設定する

LaunchAgentsで起動しているデーモン等で標準出力・エラー出力先を指定するには、StandardOutPathとStandardErrorPathを設定する。

例えばmemcachedでは次のようにする(ちなみにhomebrewでインストールした)。

vi ~/Library/LaunchAgents/com.danga.memcached.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>Label</key>
  <string>com.danga.memcached</string>
  <key>KeepAlive</key>
  <true/>
  <key>ProgramArguments</key>
  <array>
    <string>/usr/local/bin/memcached</string>
    <string>-l</string>
    <string>127.0.0.1</string>
    <string>-vv</string><!-- エラーや警告、コマンド等を出力するオプション -->
  </array>
  <key>StandardOutPath</key>
  <string>/usr/local/var/log/memcached.log</string>
  <key>StandardErrorPath</key>
  <string>/usr/local/var/log/memcached.log</string>
  <key>RunAtLoad</key>
  <true/>
  <key>WorkingDirectory</key>
  <string>/usr/local</string>
</dict>
</plist>
launchctl unload ~/Library/LaunchAgents/com.danga.memcached.plist
launchctl load ~/Library/LaunchAgents/com.danga.memcached.plist

memcachedの場合は-vvもしくは-vオプションも必要なので要注意。