mirror of
https://github.com/vale981/ray
synced 2025-03-06 10:31:39 -05:00

* Redis logging * Rearrange logging interfaces * Fix test case * Changes to logging interface and test case for logging * Fixes * Fix memory leaks * Add interface method to destroy logger * is_local -> is_direct * Merge fix
39 lines
1.2 KiB
C
39 lines
1.2 KiB
C
#ifndef LOGGING_H
|
|
#define LOGGING_H
|
|
|
|
#define RAY_VERBOSE -1
|
|
#define RAY_DEBUG 0
|
|
#define RAY_INFO 1
|
|
#define RAY_WARNING 2
|
|
#define RAY_ERROR 3
|
|
#define RAY_FATAL 4
|
|
|
|
/* Entity types. */
|
|
#define RAY_FUNCTION "FUNCTION"
|
|
#define RAY_OBJECT "OBJECT"
|
|
#define RAY_TASK "TASK"
|
|
|
|
typedef struct ray_logger_impl ray_logger;
|
|
|
|
/* Initialize a Ray logger for the given client type and logging level. If the
|
|
* is_direct flag is set, the logger will treat the given connection as a
|
|
* direct connection to the log. Otherwise, it will treat it as a socket to
|
|
* another process with a connection to the log.
|
|
* NOTE: User is responsible for freeing the returned logger. */
|
|
ray_logger *init_ray_logger(const char *client_type,
|
|
int log_level,
|
|
int is_direct,
|
|
void *conn);
|
|
|
|
/* Free the logger. This does not free the connection to the log. */
|
|
void free_ray_logger(ray_logger *logger);
|
|
|
|
/* Log an event at the given log level with the given event_type.
|
|
* NOTE: message cannot contain spaces! JSON format is recommended.
|
|
* TODO: Support spaces in messages. */
|
|
void ray_log(ray_logger *logger,
|
|
int log_level,
|
|
const char *event_type,
|
|
const char *message);
|
|
|
|
#endif
|