2012-01-16 36 views
8

Mặc dù tài liệu khá rõ ràng và không rõ ràng và cách thức hiệu quả cho người mới bắt đầu, tôi đã phát triển như PSGI và hiện đang sử dụng nó trong một trong các ứng dụng của tôi. Những gì tôi muốn biết là làm thế nào để quản lý đăng nhập qua một ứng dụng đa nút? Điều gì được coi là "thực hành tốt nhất" về việc đăng nhập vào PSGI?Ghi nhật ký PSGI (Perl)

+6

[Plack :: Middleware :: AccessLog] (http://p3rl.org/Plack::Middleware::AccessLog) –

+0

Bạn đang nói về chỉ truy cập nhật ký hoặc đăng nhập chung? –

Trả lời

5

Tôi khuyên bạn nên sử dụng Plack::Middleware::AccessLog để truy cập nhật ký và Plack::Middleware::LogDispatch để ghi nhật ký tùy chỉnh. Cả hai đều sử dụng mô-đun Log::Dispatch phổ biến.

Tài liệu MiddleDispatch Middleware không hiển thị cho bạn cách sử dụng đối tượng ghi nhật ký khi nó được thiết lập. Dưới đây là một ví dụ:

my $app = sub { 
    my $env = shift; 
    $env->{'psgix.logger'}->({ level => "debug", message => "This is debug" }); 
    return [ 200, [], [] ]; 
}; 

Để giải quyết những mối quan tâm đa nút, sau đó bạn có thể sử dụng Log::Dispatch::Syslog đó sẽ gửi khai thác gỗ để rsyslog mà có thể lần lượt vượt qua các dữ liệu đăng nhập vào một máy chủ rsyslog. Bằng cách này, tất cả các nút có thể đăng nhập vào một máy chủ đăng nhập trung tâm duy nhất.

Với sự linh hoạt của Log :: Dispatch, bạn cũng có tùy chọn đăng nhập cả cục bộ lẫn từ xa để dự phòng nếu bạn muốn. Các bản ghi được gửi đến máy chủ trung tâm có thể được coi là chính và việc ghi nhật ký được thực hiện cục bộ có thể được coi là sao lưu trong trường hợp máy chủ đăng nhập trung tâm là xuống một chút.

Sử dụng một máy chủ log trung tâm có nhiều ưu điểm:

  1. Bạn có thể 'grep' các bản ghi của bạn trên toàn bộ cụm ở một nơi.
  2. Xoay vòng và phân tích nhật ký đơn giản hơn với một bộ tệp nhật ký.
  3. Bạn chuẩn bị tốt hơn để mở rộng quy mô cụm của mình, vì bạn có thể tắt nút mà không phải lo lắng về việc mất ghi nhật ký hoặc giữ máy chủ chỉ để công việc cron qua đêm có thể kích hoạt nhật ký.

Tôi hiện đang sử dụng Đăng nhập :: Phân phối và Rsyslog cùng nhau theo cách này để tự quản lý cụm nhiều nút.

Các vấn đề liên quan