20#ifndef _VMTOOLS_LOG_H_
21#define _VMTOOLS_LOG_H_
132#if !defined(G_LOG_DOMAIN)
133# error "G_LOG_DOMAIN must be defined."
138#include "vm_basic_types.h"
141# define FUNC __func__
143# define FUNC __FUNCTION__
159# define g_info(fmt, ...) g_log(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, fmt, ## __VA_ARGS__)
164#define VMTOOLS_LOGGING_LEVEL_DEFAULT "info"
166#define VMTOOLS_LOGGING_LEVEL_DEFAULT "message"
189#if defined(_WIN32) && GLIB_CHECK_VERSION(2, 46, 0)
191g_critical_inline(
const gchar *fmt,
196 g_logv(G_LOG_DOMAIN, G_LOG_LEVEL_CRITICAL, fmt, args);
213#define vm_critical(fmt, ...) g_critical_inline("%s: " fmt, FUNC, ## __VA_ARGS__)
216g_debug_inline(
const gchar *fmt,
221 g_logv(G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, fmt, args);
226#define vm_debug(fmt, ...) g_debug_inline("%s: " fmt, FUNC, ## __VA_ARGS__)
229g_error_inline(
const gchar *fmt,
234 g_logv(G_LOG_DOMAIN, G_LOG_LEVEL_ERROR, fmt, args);
239#define vm_error(fmt, ...) g_error_inline("%s: " fmt, FUNC, ## __VA_ARGS__)
243g_info_inline(
const gchar *fmt,
248 g_logv(G_LOG_DOMAIN, G_LOG_LEVEL_INFO, fmt, args);
253#define vm_info(fmt, ...) g_info_inline("%s: " fmt, FUNC, ## __VA_ARGS__)
256g_message_inline(
const gchar *fmt,
261 g_logv(G_LOG_DOMAIN, G_LOG_LEVEL_MESSAGE, fmt, args);
266#define vm_message(fmt, ...) g_message_inline("%s: " fmt, FUNC, ## __VA_ARGS__)
269g_warning_inline(
const gchar *fmt,
274 g_logv(G_LOG_DOMAIN, G_LOG_LEVEL_WARNING, fmt, args);
279#define vm_warning(fmt, ...) g_warning_inline("%s: " fmt, FUNC, ## __VA_ARGS__)
296#define vm_critical(fmt, ...) g_critical("%s: " fmt, FUNC, ## __VA_ARGS__)
299#define vm_debug(fmt, ...) g_debug("%s: " fmt, FUNC, ## __VA_ARGS__)
302#define vm_error(fmt, ...) g_error("%s: " fmt, FUNC, ## __VA_ARGS__)
305#define vm_info(fmt, ...) g_info("%s: " fmt, FUNC, ## __VA_ARGS__)
308#define vm_message(fmt, ...) g_message("%s: " fmt, FUNC, ## __VA_ARGS__)
311#define vm_warning(fmt, ...) g_warning("%s: " fmt, FUNC, ## __VA_ARGS__)
315#define VM_SAFE_STR(string) (string != NULL ? string : "(NULL)")
345 GLogLevelFlags level,
351VMTools_VmxLog(RpcChannel *chan,
356VMTools_VmxLogThrottled(uint32 *count,
362VMTools_LogThrottled(uint32 *count,
367#define host_warning(fmt, ...) \
368 VMTools_Log(TO_HOST, G_LOG_LEVEL_WARNING, G_LOG_DOMAIN, fmt, ## __VA_ARGS__)
370#define guest_warning(fmt, ...) \
371 VMTools_Log(IN_GUEST, G_LOG_LEVEL_WARNING, G_LOG_DOMAIN, fmt, ## __VA_ARGS__)
373#define host_message(fmt, ...) \
374 VMTools_Log(TO_HOST, G_LOG_LEVEL_MESSAGE, G_LOG_DOMAIN, fmt, ## __VA_ARGS__)
376#define guest_message(fmt, ...) \
377 VMTools_Log(IN_GUEST, G_LOG_LEVEL_MESSAGE, G_LOG_DOMAIN, fmt, ## __VA_ARGS__)
379#define host_info(fmt, ...) \
380 VMTools_Log(TO_HOST, G_LOG_LEVEL_INFO, G_LOG_DOMAIN, fmt, ## __VA_ARGS__)
382#define guest_info(fmt, ...) \
383 VMTools_Log(IN_GUEST, G_LOG_LEVEL_INFO, G_LOG_DOMAIN, fmt, ## __VA_ARGS__)
385#define host_debug(fmt, ...) \
386 VMTools_Log(TO_HOST, G_LOG_LEVEL_DEBUG, G_LOG_DOMAIN, fmt, ## __VA_ARGS__)
388#define guest_debug(fmt, ...) \
389 VMTools_Log(IN_GUEST, G_LOG_LEVEL_DEBUG, G_LOG_DOMAIN, fmt, ## __VA_ARGS__)