Điểm:0

Có thể đệm các cột trong nhật ký truy cập/lỗi nginx không?

lá cờ ml

Gần đây, tôi đã bật ipv6 trên trang web của mình và mặc dù tôi không thường xuyên có nhu cầu xem tệp access_log theo cách thủ công, nhưng có dịp tôi làm điều đó khiến tôi rất khó chịu khi cột (IP) đầu tiên của tôi đôi khi dài 7 ký tự và đôi khi là 39 ký tự.

Có cách nào để đệm cột đầu tiên luôn rộng (giả sử) 39 ký tự không?

Tôi đã googled và xem các tài liệu nginx và tôi không thể tìm thấy bất cứ thứ gì, nhưng hình dung ai đó ở đây có thể biết một mẹo ...

Tôi cho rằng nếu không có gì khác thì có thể với bản đồ bằng cách nào đó, nhưng tôi chỉ biết sử dụng biểu thức chính quy với điều đó và không thể nghĩ ra cách chơi với độ dài hoặc phần đệm ...

Điểm:0
lá cờ ml

OK, kể từ khi viết nó, tôi đã nghĩ ra giải pháp (chỉ đọc: duy nhất) tốt nhất của mình:

bản đồ $remote_addr $padded_ip { "~^(.{39})" "$1";
                              "~^(.{38})" "$1 ";
                              "~^(.{37})" "$1 ";
                              "~^(.{36})" "$1 ";
                              "~^(.{35})" "$1 ";
                              "~^(.{34})" "$1 ";
                              "~^(.{33})" "$1 ";
                              "~^(.{32})" "$1 ";
                              "~^(.{31})" "$1 ";
                              "~^(.{30})" "$1 ";
                              "~^(.{29})" "$1 ";
                              "~^(.{28})" "$1 ";
                              "~^(.{27})" "$1 ";
                              "~^(.{26})" "$1 ";
                              "~^(.{25})" "$1 ";
                              "~^(.{24})" "$1 ";
                              "~^(.{23})" "$1 ";
                              "~^(.{22})" "$1 ";
                              "~^(.{21})" "$1 ";
                              "~^(.{20})" "$1 ";
                              "~^(.{19})" "$1 ";
                              "~^(.{18})" "$1 ";
                              "~^(.{17})" "$1 ";
                              "~^(.{16})" "$1 ";
                              "~^(.{15})" "$1 ";
                              "~^(.{14})" "$1 ";
                              "~^(.{13})" "$1 ";
                              "~^(.{12})" "$1 ";
                              "~^(.{11})" "$1 ";
                              "~^(.{10})" "$1 ";
                              "~^(.{9})" "$1 ";
                              "~^(.{8})" "$1 ";
                              "~^(.{7})" "$1 "; }

Nó không đẹp sao?

Tôi cho rằng tác động hiệu suất của điều này là tối thiểu? Vâng, đó là một bản hack ghê tởm và khủng khiếp, nhưng tôi cho rằng nó sẽ là CPU tối thiểu để thực hiện điều này theo từng yêu cầu... nhưng tôi đã học được rằng đừng bao giờ giả định bất cứ điều gì về nginx!

Sergey Serov avatar
lá cờ de
Hấp dẫn! Nhưng xây dựng quá lớn thường là một lá cờ mà cách này là sai. Tôi cho rằng sẽ tốt hơn nếu viết bash-script (hoặc bất kỳ ngôn ngữ thoải mái nào) sẽ được phân tích nhật ký theo cách Bạn muốn.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.