| 30 | } |
| 31 | |
| 32 | static inline char get_log_prefix(LogLevel level) { |
| 33 | using enum LogLevel; |
| 34 | switch (level) { |
| 35 | case LOG_LEVEL_ERROR: |
| 36 | return 'E'; |
| 37 | case LOG_LEVEL_WARNING: |
| 38 | return 'W'; |
| 39 | case LOG_LEVEL_INFO: |
| 40 | return 'I'; |
| 41 | case LOG_LEVEL_DEBUG: |
| 42 | return 'D'; |
| 43 | case LOG_LEVEL_VERBOSE: |
| 44 | return 'V'; |
| 45 | default: |
| 46 | return '?'; |
| 47 | } |
| 48 | } |
| 49 | |
| 50 | static uint64_t get_log_timestamp() { |
| 51 | static uint64_t base = 0U; |