add fullpath option for write file's path
This commit is contained in:
parent
f9ea34994b
commit
4dfcde69ef
@ -21,6 +21,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "log.h"
|
#include "log.h"
|
||||||
|
#include <libgen.h>
|
||||||
|
|
||||||
#define MAX_CALLBACKS 32
|
#define MAX_CALLBACKS 32
|
||||||
|
|
||||||
@ -35,6 +36,7 @@ static struct {
|
|||||||
log_LockFn lock;
|
log_LockFn lock;
|
||||||
int level;
|
int level;
|
||||||
bool quiet;
|
bool quiet;
|
||||||
|
bool fullpath;
|
||||||
Callback callbacks[MAX_CALLBACKS];
|
Callback callbacks[MAX_CALLBACKS];
|
||||||
} L;
|
} L;
|
||||||
|
|
||||||
@ -111,6 +113,9 @@ void log_set_quiet(bool enable) {
|
|||||||
L.quiet = enable;
|
L.quiet = enable;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void log_set_fullpath(bool enable) {
|
||||||
|
L.fullpath = enable;
|
||||||
|
}
|
||||||
|
|
||||||
int log_add_callback(log_LogFn fn, void *udata, int level) {
|
int log_add_callback(log_LogFn fn, void *udata, int level) {
|
||||||
for (int i = 0; i < MAX_CALLBACKS; i++) {
|
for (int i = 0; i < MAX_CALLBACKS; i++) {
|
||||||
@ -140,7 +145,7 @@ static void init_event(log_Event *ev, void *udata) {
|
|||||||
void log_log(int level, const char *file, int line, const char *fmt, ...) {
|
void log_log(int level, const char *file, int line, const char *fmt, ...) {
|
||||||
log_Event ev = {
|
log_Event ev = {
|
||||||
.fmt = fmt,
|
.fmt = fmt,
|
||||||
.file = file,
|
.file = L.fullpath ? file : basename((char*)file),
|
||||||
.line = line,
|
.line = line,
|
||||||
.level = level,
|
.level = level,
|
||||||
};
|
};
|
||||||
|
@ -41,6 +41,7 @@ const char* log_level_string(int level);
|
|||||||
void log_set_lock(log_LockFn fn, void *udata);
|
void log_set_lock(log_LockFn fn, void *udata);
|
||||||
void log_set_level(int level);
|
void log_set_level(int level);
|
||||||
void log_set_quiet(bool enable);
|
void log_set_quiet(bool enable);
|
||||||
|
void log_set_fullpath(bool enable);
|
||||||
int log_add_callback(log_LogFn fn, void *udata, int level);
|
int log_add_callback(log_LogFn fn, void *udata, int level);
|
||||||
int log_add_fp(FILE *fp, int level);
|
int log_add_fp(FILE *fp, int level);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user