Có thể có các thông điệp ghi nhật ký python là INFO hoặc DEBUG để chuyển sang chế độ stdout và CẢNH BÁO hoặc lớn hơn để đi tới stderr không?Phân chia nhật ký bằng Python giữa stdout và stderr
11
A
Trả lời
-1
Tôi nghĩ điều này sẽ giúp: Handler.setLevel(lvl)
Thiết lập ngưỡng cho trình xử lý này để lvl. Việc ghi nhật ký thư ít nghiêm trọng hơn lvl sẽ bị bỏ qua. Khi một trình xử lý được tạo, mức được đặt thành NOTSET (làm cho tất cả các thông báo được xử lý).
Nhưng bây giờ tôi thấy rằng nó sẽ không làm những gì bạn muốn (split INFO/DEBUG từ CẢNH BÁO/ERROR)
Điều đó đang được nói, bạn có thể viết một handler tùy chỉnh (một lớp mở rộng logging.StreamHandler
ví dụ) và ghi đè phương thức Handler.handle()
.
30
Điều này dường như làm những gì tôi muốn:
#!/usr/bin/python
import sys
import logging
class InfoFilter(logging.Filter):
def filter(self, rec):
return rec.levelno in (logging.DEBUG, logging.INFO)
logger = logging.getLogger('__name__')
logger.setLevel(logging.DEBUG)
h1 = logging.StreamHandler(sys.stdout)
h1.setLevel(logging.DEBUG)
h1.addFilter(InfoFilter())
h2 = logging.StreamHandler()
h2.setLevel(logging.WARNING)
logger.addHandler(h1)
logger.addHandler(h2)
Các vấn đề liên quan
- 1. khởi chạy ứng dụng, chụp stdout và stderr bằng C++
- 2. Cách thêm stdout và stderr vào tệp nhật ký trong bình
- 3. Phân tích nhật ký bằng Python
- 4. bộ lọc vim và stdout/stderr
- 5. Piping cả stdout và stderr trong bash?
- 6. Chụp stdout/stderr với NDK
- 7. Suppress stdout/stderr print từ các hàm Python
- 8. Python: logging.streamhandler không gửi nhật ký tới stdout
- 9. Về stdout/stderr chuyển hướng
- 10. Sao chép stdout thành stderr
- 11. Python subprocess.call và subprocess.Popen stdout
- 12. Chuyển hướng stdout + stderr trên dịch vụ C# Windows
- 13. Python: subprocess.call, stdout thành file, stderr để tập tin, hiển thị stderr trên màn hình trong thời gian thực
- 14. Lỗi ghi nhật ký để gỡ lỗi và gỡ lỗi, thông tin để stdout với log4j
- 15. Khi sử dụng subprocess.Popen(), stderr và stdout không có đầu ra
- 16. Kiểm tra stdout và stderr chuyển hướng trong bash script
- 17. Cách chuyển hướng STDOUT và STDERR sang biến số
- 18. Đặt màu chữ stdout/stderr trong Windows
- 19. Chuyển hướng stdout và stderr sang ổ cắm cho chương trình shell được phân phối
- 20. Làm thế nào để chuyển hướng quá trình con stdout/stderr cho quá trình stdout/stderr chính trong Java?
- 21. Ghi nhật ký bằng Python từ nhiều chủ đề
- 22. Chuyển hướng stdout sang logger bằng Python
- 23. Logging stdout và stderr để đăng nhập tập tin sử dụng Python 'với' tuyên bố
- 24. chuyển hướng sys.stdout sang nhật ký python
- 25. Sự khác biệt giữa Nhật ký và Nhật ký?
- 26. tệp nhật ký phân tích cú pháp python
- 27. Ghi nhật ký và quay các tập tin bằng Python
- 28. Chuyển hướng stderr phụ tiến trình tới stdout
- 29. Có thể gửi tin nhắn đăng nhập INFO và DEBUG tới stdout và thông báo mức cao hơn tới stderr
- 30. Cron gửi email với STDERR nhưng KHÔNG STDOUT?
này là không đủ để * thông điệp dừng * Chú ý phải đăng nhập để stdout * vẫn *. –
Một bộ lọc có thể sẽ tốt hơn. – glglgl
Đúng, tôi nhận thấy nó sau khi đăng câu trả lời của tôi. Đã sửa lỗi. –