5

haproxy が mac osx のどこにログを書き込むか知っている人はいますか? を使用して、Rails バックエンドに送信される安全な Cookie をログに記録したいと考えていますcapture cookie _secure len 32

Console.app を確認しましたが、そこにログが表示されません。

4

4 に答える 4

4

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
于 2013-09-19T15:17:07.733 に答える
0

haproxy で dtruss を使用して、それらがどこに書き込まれているかを確認します。見ている間に、ファイル I/O syscall が通過するのを見るはずです。

さらに良いことに、それはオープンソースです。コードを見てください。

于 2013-03-15T01:10:23.167 に答える