blob: 164ba9d6c7872c06e1eeed0953dee409fa519b08 [file] [log] [blame]
// Copyright 2011 Google Inc. All Rights Reserved.
// Author: qianzhang@google.com (ken Zhang)
#ifndef _SAGELOG_H_
#define _SAGELOG_H_
#include <assert.h>
enum {
_LOG_TIMING = 0x01, // Timing and performance measurements
_LOG_TRACE = 0x02, // General step point call tracing
_LOG_MEMORY = 0x04, // Memory and object allocation/destruction
_LOG_LOCKING = 0x08, // Locking/unlocking of critical sections
_LOG_ERROR = 0x10, // Debug error notification
_LOG_CUSTOM1 = 0x20,
_LOG_CUSTOM2 = 0x40,
};
#define _MIN(x, y) ((x) > (y) ? (y) : (x))
#define _MAX(x, y) ((x) > (y) ? (x) : (y))
#ifndef TEXT
#define TEXT(x) x
#endif
#define snprintf snprintf
#define vsnprintf vsnprintf
#ifndef lstrlen
#define lstrlen strlen
#endif
#ifndef lstrcat
#define lstrcat strcat
#endif
#ifndef ASSERT
#define ASSERT assert
#endif
#define sage_log(x) _sagelog x
void _sagelog(int type, int level, const char *cstr, ...);
void _flog_setup(char *filename, int enable);
char *_get_flog_path(void);
int _get_flog_state(void);
int _flog_check(void);
void _set_native_log(int level);
void _enable_native_log(void);
void _disable_native_log(void);
#endif