Ghi log theo mức độ, đổi nơi nhận log. Tiếp...
Định nghĩa | |
| #define | NJIN_LOG(level, ...) |
| Ghi log ở mức level, tự điền file và dòng. Các macro bên dưới gọn hơn. | |
| #define | NJIN_TRACE(...) |
| Ghi log mức trace. Tham số giống printf. | |
| #define | NJIN_DEBUG(...) |
| Ghi log mức debug. Tham số giống printf. | |
| #define | NJIN_INFO(...) |
| Ghi log mức info. Tham số giống printf. | |
| #define | NJIN_WARN(...) |
| Ghi log mức warn. Tham số giống printf. | |
| #define | NJIN_ERROR(...) |
| Ghi log mức error. Tham số giống printf. | |
| #define | NJIN_FATAL(...) |
| Ghi log mức fatal rồi dừng chương trình bằng std::abort(). | |
Typedefs | |
| using | njin::log_sink |
| Hàm nhận mọi dòng log vượt qua bộ lọc mức độ. | |
Enumerations | |
| enum | njin::log_level { njin::log_trace , njin::log_debug , njin::log_info , njin::log_warn , njin::log_error , njin::log_fatal , njin::log_off } |
| Mức độ của một dòng log, từ chi tiết nhất đến nghiêm trọng nhất. Tiếp... | |
Các hàm | |
| void | njin::log_set_level (log_level level) |
| Bỏ qua các dòng log có mức thấp hơn level. | |
| log_level | njin::log_get_level () |
| Mức tối thiểu hiện tại. | |
| bool | njin::log_enabled (log_level level) |
| Đúng nếu một dòng log ở mức level sẽ được ghi. | |
| void | njin::log_set_sink (log_sink sink, void *user=nullptr) |
| Thay nơi nhận log. | |
| const char * | njin::log_level_name (log_level level) |
| Tên của một mức, ví dụ "WARN". | |
| void | njin::log_write (log_level level, const char *file, i32 line, const char *fmt,...) |
| Ghi một dòng log theo định dạng printf. | |
Ghi log theo mức độ, đổi nơi nhận log.
| #define NJIN_LOG | ( | level, | |
| ... ) |
Ghi log ở mức level, tự điền file và dòng. Các macro bên dưới gọn hơn.
| #define NJIN_TRACE | ( | ... | ) |
Ghi log mức trace. Tham số giống printf.
| #define NJIN_DEBUG | ( | ... | ) |
Ghi log mức debug. Tham số giống printf.
| #define NJIN_INFO | ( | ... | ) |
Ghi log mức info. Tham số giống printf.
| #define NJIN_WARN | ( | ... | ) |
Ghi log mức warn. Tham số giống printf.
| #define NJIN_ERROR | ( | ... | ) |
Ghi log mức error. Tham số giống printf.
| #define NJIN_FATAL | ( | ... | ) |
Ghi log mức fatal rồi dừng chương trình bằng std::abort().
| using njin::log_sink |
Hàm nhận mọi dòng log vượt qua bộ lọc mức độ.
line là 0 khi không biết đúng dòng, chỉ có tên nguồn (file là "njin" cho log của window/audio backend); cả file cũng là nullptr khi không biết gì. user là con trỏ đã truyền cho log_set_sink().
| enum njin::log_level |
Mức độ của một dòng log, từ chi tiết nhất đến nghiêm trọng nhất.
| Enumerator | |
|---|---|
| log_trace | Chi tiết nhất, thường chỉ dùng khi lần theo lỗi. |
| log_debug | Thông tin để gỡ lỗi. |
| log_info | Sự kiện bình thường. |
| log_warn | Có vấn đề nhưng chương trình vẫn chạy tiếp. |
| log_error | Một thao tác đã thất bại. |
| log_fatal | Lỗi không thể tiếp tục. NJIN_FATAL() dừng chương trình. |
| log_off | Chỉ dùng với log_set_level() để tắt toàn bộ log. |
| void njin::log_set_level | ( | log_level | level | ) |
Bỏ qua các dòng log có mức thấp hơn level.
Mặc định là log_debug ở bản debug và log_info khi có NDEBUG.
| level | Mức tối thiểu được giữ lại. |
| log_level njin::log_get_level | ( | ) |
Mức tối thiểu hiện tại.
| bool njin::log_enabled | ( | log_level | level | ) |
Đúng nếu một dòng log ở mức level sẽ được ghi.
| level | Mức cần kiểm tra. |
| void njin::log_set_sink | ( | log_sink | sink, |
| void * | user = nullptr ) |
Thay nơi nhận log.
Truyền nullptr để trở về mặc định (stderr).
| sink | Hàm nhận log, hoặc nullptr. |
| user | Con trỏ tùy ý, được truyền lại cho sink. |
| const char * njin::log_level_name | ( | log_level | level | ) |
Tên của một mức, ví dụ "WARN".
| level | Mức cần lấy tên. |
Ghi một dòng log theo định dạng printf.
Nên dùng các macro NJIN_* bên dưới vì chúng tự điền file và line.
| level | Mức của dòng log. |
| file | Tên file nguồn, hoặc nullptr. |
| line | Số dòng, hoặc 0. |
| fmt | Chuỗi định dạng kiểu printf. |