aboutsummaryrefslogtreecommitdiff
path: root/src/log.h
diff options
context:
space:
mode:
authorallusive-dev <[email protected]>2023-09-19 17:46:20 +1000
committerallusive-dev <[email protected]>2023-09-19 17:46:20 +1000
commit5650d887357bf2a3fac8c5fd4f467bf8795b5fc4 (patch)
tree4b825dc642cb6eb9a060e54bf8d69288fbee4904 /src/log.h
parentUpdate picom.sample.conf (diff)
downloadcompfy-5650d887357bf2a3fac8c5fd4f467bf8795b5fc4.tar.xz
compfy-5650d887357bf2a3fac8c5fd4f467bf8795b5fc4.zip
reset
Diffstat (limited to 'src/log.h')
-rw-r--r--src/log.h96
1 files changed, 0 insertions, 96 deletions
diff --git a/src/log.h b/src/log.h
deleted file mode 100644
index e40fe3c..0000000
--- a/src/log.h
+++ /dev/null
@@ -1,96 +0,0 @@
-// SPDX-License-Identifier: MPL-2.0
-// Copyright (c) 2018 Yuxuan Shui <[email protected]>
-
-#pragma once
-#include <assert.h>
-#include <stdio.h>
-
-#include "compiler.h"
-
-enum log_level {
- LOG_LEVEL_INVALID = -1,
- LOG_LEVEL_TRACE = 0,
- LOG_LEVEL_DEBUG,
- LOG_LEVEL_INFO,
- LOG_LEVEL_WARN,
- LOG_LEVEL_ERROR,
- LOG_LEVEL_FATAL,
-};
-
-#define LOG_UNLIKELY(level, x, ...) \
- do { \
- if (unlikely(LOG_LEVEL_##level >= log_get_level_tls())) { \
- log_printf(tls_logger, LOG_LEVEL_##level, __func__, x, ##__VA_ARGS__); \
- } \
- } while (0)
-
-#define LOG(level, x, ...) \
- do { \
- if (LOG_LEVEL_##level >= log_get_level_tls()) { \
- log_printf(tls_logger, LOG_LEVEL_##level, __func__, x, ##__VA_ARGS__); \
- } \
- } while (0)
-#define log_trace(x, ...) LOG_UNLIKELY(TRACE, x, ##__VA_ARGS__)
-#define log_debug(x, ...) LOG_UNLIKELY(DEBUG, x, ##__VA_ARGS__)
-#define log_info(x, ...) LOG(INFO, x, ##__VA_ARGS__)
-#define log_warn(x, ...) LOG(WARN, x, ##__VA_ARGS__)
-#define log_error(x, ...) LOG(ERROR, x, ##__VA_ARGS__)
-#define log_fatal(x, ...) LOG(FATAL, x, ##__VA_ARGS__)
-
-#define log_error_errno(x, ...) LOG(ERROR, x ": %s", ##__VA_ARGS__, strerror(errno))
-
-struct log;
-struct log_target;
-
-attr_printf(4, 5) void log_printf(struct log *, int level, const char *func,
- const char *fmt, ...);
-
-attr_malloc struct log *log_new(void);
-/// Destroy a log struct and every log target added to it
-attr_nonnull_all void log_destroy(struct log *);
-attr_nonnull(1) void log_set_level(struct log *l, int level);
-attr_pure enum log_level log_get_level(const struct log *l);
-attr_nonnull_all void log_add_target(struct log *, struct log_target *);
-attr_pure enum log_level string_to_log_level(const char *);
-/// Remove a previously added log target for a log struct, and destroy it. If the log
-/// target was never added, nothing happens.
-void log_remove_target(struct log *l, struct log_target *tgt);
-
-extern thread_local struct log *tls_logger;
-
-/// Create a thread local logger
-static inline void log_init_tls(void) {
- tls_logger = log_new();
-}
-/// Set thread local logger log level
-static inline void log_set_level_tls(int level) {
- assert(tls_logger);
- log_set_level(tls_logger, level);
-}
-static inline attr_nonnull_all void log_add_target_tls(struct log_target *tgt) {
- assert(tls_logger);
- log_add_target(tls_logger, tgt);
-}
-
-static inline attr_nonnull_all void log_remove_target_tls(struct log_target *tgt) {
- assert(tls_logger);
- log_remove_target(tls_logger, tgt);
-}
-
-static inline attr_pure enum log_level log_get_level_tls(void) {
- assert(tls_logger);
- return log_get_level(tls_logger);
-}
-
-static inline void log_deinit_tls(void) {
- assert(tls_logger);
- log_destroy(tls_logger);
- tls_logger = NULL;
-}
-
-attr_malloc struct log_target *stderr_logger_new(void);
-attr_malloc struct log_target *file_logger_new(const char *file);
-attr_malloc struct log_target *null_logger_new(void);
-attr_malloc struct log_target *gl_string_marker_logger_new(void);
-
-// vim: set noet sw=8 ts=8: