mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-07-11 12:25:52 +00:00
Include filename explicitly in logging APIs
Currently the logging APIs have a 'const char *category' parameter which indicates where the log message comes from. This is typically a combination of the __FILE__ string and other prefix. Split the __FILE__ off into a dedicated parameter so it can passed to the log outputs Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
This commit is contained in:
parent
96a1be95ef
commit
0225c566f4
@ -349,15 +349,15 @@
|
|||||||
|
|
||||||
# define PROBE_EXPAND(NAME, ARGS) NAME(ARGS)
|
# define PROBE_EXPAND(NAME, ARGS) NAME(ARGS)
|
||||||
# define PROBE(NAME, FMT, ...) \
|
# define PROBE(NAME, FMT, ...) \
|
||||||
VIR_DEBUG_INT("trace." __FILE__ , __func__, __LINE__, \
|
VIR_DEBUG_INT("trace", __FILE__, __LINE__, __func__, \
|
||||||
#NAME ": " FMT, __VA_ARGS__); \
|
#NAME ": " FMT, __VA_ARGS__); \
|
||||||
if (LIBVIRT_ ## NAME ## _ENABLED()) { \
|
if (LIBVIRT_ ## NAME ## _ENABLED()) { \
|
||||||
PROBE_EXPAND(LIBVIRT_ ## NAME, \
|
PROBE_EXPAND(LIBVIRT_ ## NAME, \
|
||||||
VIR_ADD_CASTS(__VA_ARGS__)); \
|
VIR_ADD_CASTS(__VA_ARGS__)); \
|
||||||
}
|
}
|
||||||
# else
|
# else
|
||||||
# define PROBE(NAME, FMT, ...) \
|
# define PROBE(NAME, FMT, ...) \
|
||||||
VIR_DEBUG_INT("trace." __FILE__, __func__, __LINE__, \
|
VIR_DEBUG_INT("trace", __FILE__, __LINE__, __func__, \
|
||||||
#NAME ": " FMT, __VA_ARGS__);
|
#NAME ": " FMT, __VA_ARGS__);
|
||||||
# endif
|
# endif
|
||||||
|
|
||||||
|
@ -358,7 +358,7 @@ static void udevLogFunction(struct udev *udev ATTRIBUTE_UNUSED,
|
|||||||
const char *fmt,
|
const char *fmt,
|
||||||
va_list args)
|
va_list args)
|
||||||
{
|
{
|
||||||
VIR_ERROR_INT(file, fn, line, fmt, args);
|
VIR_ERROR_INT("library", file, line, fn, fmt, args);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -100,8 +100,9 @@ static int virLogResetFilters(void);
|
|||||||
static int virLogResetOutputs(void);
|
static int virLogResetOutputs(void);
|
||||||
static void virLogOutputToFd(const char *category,
|
static void virLogOutputToFd(const char *category,
|
||||||
virLogPriority priority,
|
virLogPriority priority,
|
||||||
const char *funcname,
|
const char *filename,
|
||||||
int linenr,
|
int linenr,
|
||||||
|
const char *funcname,
|
||||||
const char *timestamp,
|
const char *timestamp,
|
||||||
unsigned int flags,
|
unsigned int flags,
|
||||||
const char *rawstr,
|
const char *rawstr,
|
||||||
@ -651,8 +652,8 @@ cleanup:
|
|||||||
|
|
||||||
static int
|
static int
|
||||||
virLogFormatString(char **msg,
|
virLogFormatString(char **msg,
|
||||||
const char *funcname,
|
|
||||||
int linenr,
|
int linenr,
|
||||||
|
const char *funcname,
|
||||||
virLogPriority priority,
|
virLogPriority priority,
|
||||||
const char *str)
|
const char *str)
|
||||||
{
|
{
|
||||||
@ -696,7 +697,7 @@ virLogVersionString(const char **rawmsg,
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
*rawmsg = LOG_VERSION_STRING;
|
*rawmsg = LOG_VERSION_STRING;
|
||||||
return virLogFormatString(msg, NULL, 0, VIR_LOG_INFO, LOG_VERSION_STRING);
|
return virLogFormatString(msg, 0, NULL, VIR_LOG_INFO, LOG_VERSION_STRING);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -716,14 +717,17 @@ virLogVersionString(const char **rawmsg,
|
|||||||
void
|
void
|
||||||
virLogMessage(const char *category,
|
virLogMessage(const char *category,
|
||||||
virLogPriority priority,
|
virLogPriority priority,
|
||||||
const char *funcname,
|
const char *filename,
|
||||||
int linenr,
|
int linenr,
|
||||||
|
const char *funcname,
|
||||||
unsigned int flags,
|
unsigned int flags,
|
||||||
const char *fmt, ...)
|
const char *fmt, ...)
|
||||||
{
|
{
|
||||||
va_list ap;
|
va_list ap;
|
||||||
va_start(ap, fmt);
|
va_start(ap, fmt);
|
||||||
virLogVMessage(category, priority, funcname, linenr, flags, fmt, ap);
|
virLogVMessage(category, priority,
|
||||||
|
filename, linenr, funcname,
|
||||||
|
flags, fmt, ap);
|
||||||
va_end(ap);
|
va_end(ap);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -744,8 +748,9 @@ virLogMessage(const char *category,
|
|||||||
void
|
void
|
||||||
virLogVMessage(const char *category,
|
virLogVMessage(const char *category,
|
||||||
virLogPriority priority,
|
virLogPriority priority,
|
||||||
const char *funcname,
|
const char *filename,
|
||||||
int linenr,
|
int linenr,
|
||||||
|
const char *funcname,
|
||||||
unsigned int flags,
|
unsigned int flags,
|
||||||
const char *fmt,
|
const char *fmt,
|
||||||
va_list vargs)
|
va_list vargs)
|
||||||
@ -786,7 +791,7 @@ virLogVMessage(const char *category,
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = virLogFormatString(&msg, funcname, linenr, priority, str);
|
ret = virLogFormatString(&msg, linenr, funcname, priority, str);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
@ -816,13 +821,14 @@ virLogVMessage(const char *category,
|
|||||||
char *ver = NULL;
|
char *ver = NULL;
|
||||||
if (virLogVersionString(&rawver, &ver) >= 0)
|
if (virLogVersionString(&rawver, &ver) >= 0)
|
||||||
virLogOutputs[i].f(category, VIR_LOG_INFO,
|
virLogOutputs[i].f(category, VIR_LOG_INFO,
|
||||||
__func__, __LINE__,
|
__FILE__, __LINE__, __func__,
|
||||||
timestamp, 0, rawver, ver,
|
timestamp, 0, rawver, ver,
|
||||||
virLogOutputs[i].data);
|
virLogOutputs[i].data);
|
||||||
VIR_FREE(ver);
|
VIR_FREE(ver);
|
||||||
virLogOutputs[i].logVersion = false;
|
virLogOutputs[i].logVersion = false;
|
||||||
}
|
}
|
||||||
virLogOutputs[i].f(category, priority, funcname, linenr,
|
virLogOutputs[i].f(category, priority,
|
||||||
|
filename, linenr, funcname,
|
||||||
timestamp, filterflags,
|
timestamp, filterflags,
|
||||||
str, msg, virLogOutputs[i].data);
|
str, msg, virLogOutputs[i].data);
|
||||||
}
|
}
|
||||||
@ -833,13 +839,14 @@ virLogVMessage(const char *category,
|
|||||||
char *ver = NULL;
|
char *ver = NULL;
|
||||||
if (virLogVersionString(&rawver, &ver) >= 0)
|
if (virLogVersionString(&rawver, &ver) >= 0)
|
||||||
virLogOutputToFd(category, VIR_LOG_INFO,
|
virLogOutputToFd(category, VIR_LOG_INFO,
|
||||||
__func__, __LINE__,
|
__FILE__, __LINE__, __func__,
|
||||||
timestamp, 0, rawver, ver,
|
timestamp, 0, rawver, ver,
|
||||||
(void *) STDERR_FILENO);
|
(void *) STDERR_FILENO);
|
||||||
VIR_FREE(ver);
|
VIR_FREE(ver);
|
||||||
logVersionStderr = false;
|
logVersionStderr = false;
|
||||||
}
|
}
|
||||||
virLogOutputToFd(category, priority, funcname, linenr,
|
virLogOutputToFd(category, priority,
|
||||||
|
filename, linenr, funcname,
|
||||||
timestamp, filterflags,
|
timestamp, filterflags,
|
||||||
str, msg, (void *) STDERR_FILENO);
|
str, msg, (void *) STDERR_FILENO);
|
||||||
}
|
}
|
||||||
@ -875,8 +882,9 @@ virLogStackTraceToFd(int fd)
|
|||||||
static void
|
static void
|
||||||
virLogOutputToFd(const char *category ATTRIBUTE_UNUSED,
|
virLogOutputToFd(const char *category ATTRIBUTE_UNUSED,
|
||||||
virLogPriority priority ATTRIBUTE_UNUSED,
|
virLogPriority priority ATTRIBUTE_UNUSED,
|
||||||
const char *funcname ATTRIBUTE_UNUSED,
|
const char *filename ATTRIBUTE_UNUSED,
|
||||||
int linenr ATTRIBUTE_UNUSED,
|
int linenr ATTRIBUTE_UNUSED,
|
||||||
|
const char *funcname ATTRIBUTE_UNUSED,
|
||||||
const char *timestamp,
|
const char *timestamp,
|
||||||
unsigned int flags,
|
unsigned int flags,
|
||||||
const char *rawstr ATTRIBUTE_UNUSED,
|
const char *rawstr ATTRIBUTE_UNUSED,
|
||||||
@ -960,8 +968,9 @@ virLogPrioritySyslog(virLogPriority priority)
|
|||||||
static void
|
static void
|
||||||
virLogOutputToSyslog(const char *category ATTRIBUTE_UNUSED,
|
virLogOutputToSyslog(const char *category ATTRIBUTE_UNUSED,
|
||||||
virLogPriority priority,
|
virLogPriority priority,
|
||||||
const char *funcname ATTRIBUTE_UNUSED,
|
const char *filename ATTRIBUTE_UNUSED,
|
||||||
int linenr ATTRIBUTE_UNUSED,
|
int linenr ATTRIBUTE_UNUSED,
|
||||||
|
const char *funcname ATTRIBUTE_UNUSED,
|
||||||
const char *timestamp ATTRIBUTE_UNUSED,
|
const char *timestamp ATTRIBUTE_UNUSED,
|
||||||
unsigned int flags,
|
unsigned int flags,
|
||||||
const char *rawstr ATTRIBUTE_UNUSED,
|
const char *rawstr ATTRIBUTE_UNUSED,
|
||||||
|
@ -31,8 +31,8 @@
|
|||||||
* defined at runtime from the libvirt daemon configuration file
|
* defined at runtime from the libvirt daemon configuration file
|
||||||
*/
|
*/
|
||||||
# ifdef ENABLE_DEBUG
|
# ifdef ENABLE_DEBUG
|
||||||
# define VIR_DEBUG_INT(category, f, l, ...) \
|
# define VIR_DEBUG_INT(category, filename, linenr, funcname, ...) \
|
||||||
virLogMessage(category, VIR_LOG_DEBUG, f, l, 0, __VA_ARGS__)
|
virLogMessage(category, VIR_LOG_DEBUG, filename, linenr, funcname, 0, __VA_ARGS__)
|
||||||
# else
|
# else
|
||||||
/**
|
/**
|
||||||
* virLogEatParams:
|
* virLogEatParams:
|
||||||
@ -44,25 +44,25 @@ static inline void virLogEatParams(const char *unused, ...)
|
|||||||
/* Silence gcc */
|
/* Silence gcc */
|
||||||
unused = unused;
|
unused = unused;
|
||||||
}
|
}
|
||||||
# define VIR_DEBUG_INT(category, f, l, ...) \
|
# define VIR_DEBUG_INT(category, filename, linenr, funcname, ...) \
|
||||||
virLogEatParams(category, f, l, __VA_ARGS__)
|
virLogEatParams(category, filename, linenr, funcname, __VA_ARGS__)
|
||||||
# endif /* !ENABLE_DEBUG */
|
# endif /* !ENABLE_DEBUG */
|
||||||
|
|
||||||
# define VIR_INFO_INT(category, f, l, ...) \
|
# define VIR_INFO_INT(category, filename, linenr, funcname, ...) \
|
||||||
virLogMessage(category, VIR_LOG_INFO, f, l, 0, __VA_ARGS__)
|
virLogMessage(category, VIR_LOG_INFO, filename, linenr, funcname, 0, __VA_ARGS__)
|
||||||
# define VIR_WARN_INT(category, f, l, ...) \
|
# define VIR_WARN_INT(category, filename, linenr, funcname, ...) \
|
||||||
virLogMessage(category, VIR_LOG_WARN, f, l, 0, __VA_ARGS__)
|
virLogMessage(category, VIR_LOG_WARN, filename, linenr, funcname, 0, __VA_ARGS__)
|
||||||
# define VIR_ERROR_INT(category, f, l, ...) \
|
# define VIR_ERROR_INT(category, filename, linenr, funcname, ...) \
|
||||||
virLogMessage(category, VIR_LOG_ERROR, f, l, 0, __VA_ARGS__)
|
virLogMessage(category, VIR_LOG_ERROR, filename, linenr, funcname, 0, __VA_ARGS__)
|
||||||
|
|
||||||
# define VIR_DEBUG(...) \
|
# define VIR_DEBUG(...) \
|
||||||
VIR_DEBUG_INT("file." __FILE__, __func__, __LINE__, __VA_ARGS__)
|
VIR_DEBUG_INT("file", __FILE__, __LINE__, __func__, __VA_ARGS__)
|
||||||
# define VIR_INFO(...) \
|
# define VIR_INFO(...) \
|
||||||
VIR_INFO_INT("file." __FILE__, __func__, __LINE__, __VA_ARGS__)
|
VIR_INFO_INT("file", __FILE__, __LINE__, __func__, __VA_ARGS__)
|
||||||
# define VIR_WARN(...) \
|
# define VIR_WARN(...) \
|
||||||
VIR_WARN_INT("file." __FILE__, __func__, __LINE__, __VA_ARGS__)
|
VIR_WARN_INT("file", __FILE__, __LINE__, __func__, __VA_ARGS__)
|
||||||
# define VIR_ERROR(...) \
|
# define VIR_ERROR(...) \
|
||||||
VIR_ERROR_INT("file." __FILE__, __func__, __LINE__, __VA_ARGS__)
|
VIR_ERROR_INT("file", __FILE__, __LINE__, __func__, __VA_ARGS__)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* To be made public
|
* To be made public
|
||||||
@ -98,8 +98,9 @@ typedef enum {
|
|||||||
*/
|
*/
|
||||||
typedef void (*virLogOutputFunc) (const char *category,
|
typedef void (*virLogOutputFunc) (const char *category,
|
||||||
virLogPriority priority,
|
virLogPriority priority,
|
||||||
const char *funcname,
|
const char *filename,
|
||||||
int linenr,
|
int linenr,
|
||||||
|
const char *funcname,
|
||||||
const char *timestamp,
|
const char *timestamp,
|
||||||
unsigned int flags,
|
unsigned int flags,
|
||||||
const char *rawstr,
|
const char *rawstr,
|
||||||
@ -148,17 +149,19 @@ extern int virLogParseFilters(const char *filters);
|
|||||||
extern int virLogParseOutputs(const char *output);
|
extern int virLogParseOutputs(const char *output);
|
||||||
extern void virLogMessage(const char *category,
|
extern void virLogMessage(const char *category,
|
||||||
virLogPriority priority,
|
virLogPriority priority,
|
||||||
const char *funcname,
|
const char *filename,
|
||||||
int linenr,
|
int linenr,
|
||||||
|
const char *funcname,
|
||||||
unsigned int flags,
|
unsigned int flags,
|
||||||
const char *fmt, ...) ATTRIBUTE_FMT_PRINTF(6, 7);
|
const char *fmt, ...) ATTRIBUTE_FMT_PRINTF(7, 8);
|
||||||
extern void virLogVMessage(const char *category,
|
extern void virLogVMessage(const char *category,
|
||||||
virLogPriority priority,
|
virLogPriority priority,
|
||||||
const char *funcname,
|
const char *filename,
|
||||||
int linenr,
|
int linenr,
|
||||||
|
const char *funcname,
|
||||||
unsigned int flags,
|
unsigned int flags,
|
||||||
const char *fmt,
|
const char *fmt,
|
||||||
va_list vargs) ATTRIBUTE_FMT_PRINTF(6, 0);
|
va_list vargs) ATTRIBUTE_FMT_PRINTF(7, 0);
|
||||||
extern int virLogSetBufferSize(int size);
|
extern int virLogSetBufferSize(int size);
|
||||||
extern void virLogEmergencyDumpAll(int signum);
|
extern void virLogEmergencyDumpAll(int signum);
|
||||||
#endif
|
#endif
|
||||||
|
@ -103,10 +103,10 @@ void virAuditSend(const char *file ATTRIBUTE_UNUSED, const char *func,
|
|||||||
|
|
||||||
if (auditlog && str) {
|
if (auditlog && str) {
|
||||||
if (success)
|
if (success)
|
||||||
virLogMessage("audit", VIR_LOG_INFO, func, linenr, 0,
|
virLogMessage("audit", VIR_LOG_INFO, file, linenr, func, 0,
|
||||||
"success=yes %s", str);
|
"success=yes %s", str);
|
||||||
else
|
else
|
||||||
virLogMessage("audit", VIR_LOG_WARN, func, linenr, 0,
|
virLogMessage("audit", VIR_LOG_WARN, file, linenr, func, 0,
|
||||||
"success=no %s", str);
|
"success=no %s", str);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -676,8 +676,8 @@ virRaiseErrorFull(const char *filename ATTRIBUTE_UNUSED,
|
|||||||
priority = virErrorLevelPriority(level);
|
priority = virErrorLevelPriority(level);
|
||||||
if (virErrorLogPriorityFilter)
|
if (virErrorLogPriorityFilter)
|
||||||
priority = virErrorLogPriorityFilter(to, priority);
|
priority = virErrorLogPriorityFilter(to, priority);
|
||||||
virLogMessage(filename, priority,
|
virLogMessage("error", priority,
|
||||||
funcname, linenr,
|
filename, linenr, funcname,
|
||||||
virErrorLogPriorityFilter ? 0 : 1,
|
virErrorLogPriorityFilter ? 0 : 1,
|
||||||
"%s", str);
|
"%s", str);
|
||||||
|
|
||||||
|
@ -482,8 +482,9 @@ static struct virtTestLogData testLog = { VIR_BUFFER_INITIALIZER };
|
|||||||
static void
|
static void
|
||||||
virtTestLogOutput(const char *category ATTRIBUTE_UNUSED,
|
virtTestLogOutput(const char *category ATTRIBUTE_UNUSED,
|
||||||
virLogPriority priority ATTRIBUTE_UNUSED,
|
virLogPriority priority ATTRIBUTE_UNUSED,
|
||||||
|
const char *filename ATTRIBUTE_UNUSED,
|
||||||
|
int lineno ATTRIBUTE_UNUSED,
|
||||||
const char *funcname ATTRIBUTE_UNUSED,
|
const char *funcname ATTRIBUTE_UNUSED,
|
||||||
int linenr ATTRIBUTE_UNUSED,
|
|
||||||
const char *timestamp,
|
const char *timestamp,
|
||||||
unsigned int flags,
|
unsigned int flags,
|
||||||
const char *rawstr ATTRIBUTE_UNUSED,
|
const char *rawstr ATTRIBUTE_UNUSED,
|
||||||
|
Loading…
Reference in New Issue
Block a user