File: log.go

package info (click to toggle)
golang-collectd 0.5.0%2Bgit20240104.26404de-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 468 kB
  • sloc: ansic: 324; sh: 7; makefile: 3
file content (60 lines) | stat: -rw-r--r-- 1,583 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
package fake

// #cgo CPPFLAGS: -DHAVE_CONFIG_H
// #cgo LDFLAGS: -ldl
// #include <stdlib.h>
// #include "plugin.h"
//
// typedef struct {
//   const char *name;
//   plugin_log_cb callback;
//   user_data_t user_data;
// } log_callback_t;
// static log_callback_t *log_callbacks = NULL;
// static size_t log_callbacks_num = 0;
//
// int plugin_register_log(const char *name,
//                         plugin_log_cb callback,
//                         user_data_t const *user_data) {
//   log_callback_t *ptr = realloc(log_callbacks, (log_callbacks_num+1) * sizeof(*log_callbacks));
//   if (ptr == NULL) {
//     return ENOMEM;
//   }
//   log_callbacks = ptr;
//   log_callbacks[log_callbacks_num] = (log_callback_t){
//     .name = name,
//     .callback = callback,
//     .user_data = *user_data,
//   };
//   log_callbacks_num++;
//
//   return 0;
// }
//
// void plugin_log(int level, const char *format, ...) {
//   char msg[1024];
//   va_list ap;
//   va_start(ap, format);
//   vsnprintf(msg, sizeof(msg), format, ap);
//   msg[sizeof(msg)-1] = 0;
//   va_end(ap);
//
//   for (size_t i = 0; i < log_callbacks_num; i++) {
//     log_callbacks[i].callback(level, msg, &log_callbacks[i].user_data);
//   }
// }
//
// void reset_log(void) {
//   for (size_t i = 0; i < log_callbacks_num; i++) {
//     user_data_t *ud = &log_callbacks[i].user_data;
//     if (ud->free_func == NULL) {
//       continue;
//     }
//     ud->free_func(ud->data);
//     ud->data = NULL;
//   }
//   free(log_callbacks);
//   log_callbacks = NULL;
//   log_callbacks_num = 0;
// }
import "C"