37 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef __LOGGING_H__
 | 
						|
#define __LOGGING_H__
 | 
						|
 | 
						|
#include <stdarg.h>
 | 
						|
#include <stdbool.h>
 | 
						|
 | 
						|
#include "logging/logging-core.h"
 | 
						|
#include "logging/logging-handler.h"
 | 
						|
#include "logging/logging-interceptor.h"
 | 
						|
 | 
						|
// 日志操作器
 | 
						|
typedef struct Logger {
 | 
						|
    log_level        level;
 | 
						|
    log_Handler     *handler;
 | 
						|
    log_Interceptor *interceptor;
 | 
						|
    const char      *name;
 | 
						|
    void (*fatal)(const char *format, ...);
 | 
						|
    void (*error)(const char *format, ...);
 | 
						|
    void (*warning)(const char *format, ...);
 | 
						|
    void (*info)(const char *format, ...);
 | 
						|
    void (*debug)(const char *format, ...);
 | 
						|
 | 
						|
    void (*addHandler)(log_Handler *handler);
 | 
						|
    void (*addInterceptor)(log_Interceptor *Interceptor);
 | 
						|
} Logger;
 | 
						|
 | 
						|
// 日志类对象
 | 
						|
typedef struct Logging {
 | 
						|
    Logger *(*getLogger)(const char *name, log_level level);
 | 
						|
    log_status (*setLevel)(Logger *logger, log_level level);
 | 
						|
    Logger *(*getCurrentLogger)(void);
 | 
						|
    log_status (*destroyLogging)(struct Logging *logging);
 | 
						|
} Logging;
 | 
						|
 | 
						|
Logging *newLogging(); // 创建日志类对象
 | 
						|
 | 
						|
#endif // __LOGGING_H__
 |