haproxy が mac osx のどこにログを書き込むか知っている人はいますか? を使用して、Rails バックエンドに送信される安全な Cookie をログに記録したいと考えていますcapture cookie _secure len 32
。
Console.app を確認しましたが、そこにログが表示されません。
HAProxy は syslog にログを記録するため、Console.app をチェックして出力を表示するのは正しかったです。
問題は、OSX では、最初に syslog を設定してネットワーク リスナーを含める必要があることです。
これが私のために働いた手順です[ソース] :
HA Proxy Logging on Lion
-------------------------
# To enable haproxy logging we need to change syslogd
# startup procedure to include its network listener.
# Backup syslogd start up file
sudo cp /System/Library/LaunchDaemons/com.apple.syslogd.plist /System/Library/LaunchDaemons/com.apple.syslogd.plist.bakup
# Convert binary file to xml to be human readable / editable
sudo plutil -convert xml1 /System/Library/LaunchDaemons/com.apple.syslogd.plist
# Edit /System/Library/LaunchDaemons/com.apple.syslogd.plist
# and add the following snippet under the sockets node
<key>NetworkListener</key>
<dict>
<key>SockServiceName</key>
<string>syslog</string>
<key>SockType</key>
<string>dgram</string>
</dict>
# Should read like this now
<key>Sockets</key>
<dict>
<key>AppleSystemLogger</key>
<dict>
<key>SockPathMode</key>
<integer>438</integer>
<key>SockPathName</key>
<string>/var/run/asl_input</string>
</dict>
<key>BSDSystemLogger</key>
<dict>
<key>SockPathMode</key>
<integer>438</integer>
<key>SockPathName</key>
<string>/var/run/syslog</string>
<key>SockType</key>
<string>dgram</string>
</dict>
<key>NetworkListener</key>
<dict>
<key>SockServiceName</key>
<string>syslog</string>
<key>SockType</key>
<string>dgram</string>
</dict>
</dict>
# Save the file
# Convert back to binary file
sudo plutil -convert binary1 /System/Library/LaunchDaemons/com.apple.syslogd.plist
# Restart syslogd
sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist
# I added the following entry to /etc/syslog.conf
local2.* /var/log/haproxy.log
# Include logging options in haproxy.cfg
global
log 127.0.0.1 local2 debug
defaults
mode http
option httplog
log global
# Restart HAproxy
haproxy で dtruss を使用して、それらがどこに書き込まれているかを確認します。見ている間に、ファイル I/O syscall が通過するのを見るはずです。
さらに良いことに、それはオープンソースです。コードを見てください。