[moduledir="$libdir/xorg/modules"])
# Checks for pkg-config packages
-PKG_CHECK_MODULES(XDBG, xorg-server x11 xdamage xext dbus-1 bigreqsproto compositeproto damageproto dmxproto dri2proto fixesproto fontsproto gestureproto inputproto kbproto randrproto recordproto renderproto resourceproto scrnsaverproto videoproto xcmiscproto xextproto xf86bigfontproto xf86dgaproto xf86driproto xf86vidmodeproto xineramaproto xproto libdrm xcomposite libdri2 xgesture xtst xrandr xi xv)
+PKG_CHECK_MODULES(XDBG, dlog xorg-server x11 xdamage xext dbus-1 bigreqsproto compositeproto damageproto dmxproto dri2proto fixesproto fontsproto gestureproto inputproto kbproto randrproto recordproto renderproto resourceproto scrnsaverproto videoproto xcmiscproto xextproto xf86bigfontproto xf86dgaproto xf86driproto xf86vidmodeproto xineramaproto xproto libdrm xcomposite libdri2 xgesture xtst xrandr xi xv)
AC_SUBST([XDBG_CFLAGS])
AC_SUBST([XDBG_LIBS])
Name: xdbg
Description: The X debug Library
Version: @PACKAGE_VERSION@
-Requires.private: xorg-server x11
+Requires.private: xorg-server x11 dlog
Cflags: -I${includedir}/xdbg
Libs: -L${libdir} -lxdbg-log
#include <string.h>
#include <stdarg.h>
-
+#include <dlog.h>
#include "xdbg_log.h"
#ifndef API
kLogWrapper (loglevel, logoption, file, line, tmpBuf, args);
}
+
/* write to file */
if (loglevel >= XLOG_LEVEL_INFO)
{
- snprintf(tmpBuf, BUF_LEN, "(%s) [%s]%s", ostr[loglevel], (name)?name:"", f);
+ if (logoption & XLOG_OPTION_SECURE)
+ snprintf(tmpBuf, BUF_LEN, "(%s) > [SECURE_LOG] [%s]%s", ostr[loglevel], (name)?name:"", f);
+ else
+ snprintf(tmpBuf, BUF_LEN, "(%s) [%s]%s", ostr[loglevel], (name)?name:"", f);
+
+ if (logoption & XLOG_OPTION_XORG)
+ LogVWrite (1, tmpBuf, args);
- LogVWrite (1, tmpBuf, args);
+ dLogWrapper (loglevel, logoption, file, line, tmpBuf, args);
}
/* write to terminal */
#include <errno.h>
#include <stdlib.h>
#include <os.h>
+#include <dlog.h>
// Masks
#define XLOG_MASK_LOGLEVEL 0x000000FF
// Log Options
#define XLOG_OPTION_KLOG (1 << 8)
-#define XLOG_OPTION_SLOG (1 << 9) /* print to stderr always */
+#define XLOG_OPTION_SLOG (1 << 9)
+#define XLOG_OPTION_XORG (1 << 10)
+#define XLOG_OPTION_SECURE (1 << 11) /* print secure log */
typedef enum
{
void* xDbgLog (unsigned int module, int logoption, const char *file, int line, const char *f, ...);
// defines
-#define XLOG_DEBUG(mod, ...) xDbgLog(mod, XLOG_LEVEL_DEBUG, __FILE__, __LINE__, __VA_ARGS__)
-#define XLOG_TRACE(mod, ...) xDbgLog(mod, XLOG_LEVEL_TRACE, __FILE__, __LINE__, __VA_ARGS__)
-#define XLOG_INFO(mod, ...) xDbgLog(mod, XLOG_LEVEL_INFO, __FILE__, __LINE__, __VA_ARGS__)
-#define XLOG_WARNING(mod, ...) xDbgLog(mod, XLOG_LEVEL_WARNING, __FILE__, __LINE__, __VA_ARGS__)
-#define XLOG_ERROR(mod, ...) xDbgLog(mod, XLOG_LEVEL_ERROR, __FILE__, __LINE__, __VA_ARGS__)
-#define XLOG_KLOG(mod, ...) xDbgLog(mod, XLOG_LEVEL_INFO|XLOG_OPTION_KLOG, __FILE__, __LINE__, __VA_ARGS__)
-#define XLOG_SLOG(mod, ...) xDbgLog(mod, XLOG_LEVEL_INFO|XLOG_OPTION_SLOG, __FILE__, __LINE__, __VA_ARGS__)
+#define XLOG_DEBUG(mod, ARG...) xDbgLog(mod, XLOG_LEVEL_DEBUG, __FILE__, __LINE__, ##ARG)
+#define XLOG_TRACE(mod, ARG...) xDbgLog(mod, XLOG_LEVEL_TRACE, __FILE__, __LINE__, ##ARG)
+#define XLOG_INFO(mod, ARG...) xDbgLog(mod, XLOG_LEVEL_INFO, __FILE__, __LINE__, ##ARG)
+#define XLOG_WARNING(mod, ARG...) xDbgLog(mod, XLOG_LEVEL_WARNING, __FILE__, __LINE__, ##ARG)
+#define XLOG_ERROR(mod, ARG...) xDbgLog(mod, XLOG_LEVEL_ERROR, __FILE__, __LINE__, ##ARG)
+#define XLOG_KLOG(mod, ARG...) xDbgLog(mod, XLOG_LEVEL_INFO|XLOG_OPTION_KLOG, __FILE__, __LINE__, ##ARG)
+#define XLOG_SLOG(mod, ARG...) xDbgLog(mod, XLOG_LEVEL_INFO|XLOG_OPTION_SLOG, __FILE__, __LINE__, ##ARG)
+#define XLOG_XORG(mod, ARG...) xDbgLog(mod, XLOG_LEVEL_INFO|XLOG_OPTION_XORG, __FILE__, __LINE__, ##ARG)
+#define XLOG_SECURE(mod, ARG...) xDbgLog(mod, XLOG_LEVEL_INFO|XLOG_OPTION_SECURE, __FILE__, __LINE__, ##ARG)
#define XDBG_DEBUG(mod, fmt, ARG...) XLOG_DEBUG(mod, "[%s] "fmt, __FUNCTION__, ##ARG)
#define XDBG_TRACE(mod, fmt, ARG...) XLOG_TRACE(mod, "[%s] "fmt, __FUNCTION__, ##ARG)
#define XDBG_ERRNO(mod, fmt, ARG...) XLOG_ERROR(mod, "[%s](err=%s(%d)) "fmt, __FUNCTION__, strerror(errno), errno, ##ARG)
#define XDBG_KLOG(mod, fmt, ARG...) XLOG_KLOG(mod, "[%s] "fmt, __FUNCTION__, ##ARG)
#define XDBG_SLOG(mod, fmt, ARG...) XLOG_SLOG(mod, "[%s] "fmt, __FUNCTION__, ##ARG)
+#define XDBG_XORG(mod, fmt, ARG...) XLOG_XORG(mod, "[%s] "fmt, __FUNCTION__, ##ARG)
+
+/* _SECURE_LOG defined by system, <dlog.h> */
+#ifdef _SECURE_LOG
+#define XDBG_SECURE(mod, fmt, ARG...) XLOG_SECURE(mod, "[%s] "fmt, __FUNCTION__, ##ARG)
+#else
+#define XDBG_SECURE(mod, fmt, ARG...) (0)
+#endif
#define XDBG_NEVER_GET_HERE(mod) XLOG_ERROR(mod, "[%s:%d] ** NEVER GET HERE **\n", __FUNCTION__,__LINE__)
**************************************************************************/
#include <stdarg.h>
-//#include <dlog.h>
+#include <dlog.h>
+
+#include "xdbg_log.h"
void dLogWrapper (int loglevel, int module, const char * file, int line, const char * f, va_list args)
{
-#if 0
- const char * tag;
- int priority;
-
- if (module & LOGOPTION_DLOG_X)
- tag = "xserver";
- else if (module & LOGOPTION_DLOG_EVENT)
- tag = "dlog_event";
- else
- return;
+ const char * tag = "Xorg";
switch (loglevel)
{
- case LOGLEVEL_DEBUG:
- priority = DLOG_DEBUG;
+ case XLOG_LEVEL_DEBUG:
+ SLOG_VA (LOG_DEBUG, tag, f, args);
break;
- case LOGLEVEL_TRACE:
- priority = DLOG_INFO;
+ case XLOG_LEVEL_TRACE:
+ SLOG_VA (LOG_DEBUG, tag, f, args);
break;
- case LOGLEVEL_INFO:
- priority = DLOG_WARN;
+ case XLOG_LEVEL_INFO:
+ SLOG_VA (LOG_INFO, tag, f, args);
break;
- case LOGLEVEL_WARNING:
- priority = DLOG_ERROR;
+ case XLOG_LEVEL_WARNING:
+ SLOG_VA (LOG_WARN, tag, f, args);
break;
- case LOGLEVEL_ERROR:
- priority = DLOG_FATAL;
+ case XLOG_LEVEL_ERROR:
+ SLOG_VA (LOG_ERROR, tag, f, args);
break;
default:
return;
}
-
- SLOG_VA (priority, tag, f, args);
-#endif
}
{
case KeyPress:
case KeyRelease:
- XDBG_INFO (MXDBG, "%s(%d)_%d(%s.%d : %s.0x%lx) root(%d,%d) win(%d,%d)\n"
+ XDBG_SECURE (MXDBG, "%s(%d)_%d(%s.%d : %s.0x%lx) root(%d,%d) win(%d,%d)\n"
, ename[type-KeyPress], pev->u.u.detail, pev->u.u.type
, info->command, info->pid
, _traceGetWindowName (pClient, pev->u.keyButtonPointer.event), pev->u.keyButtonPointer.event
case ButtonPress:
case ButtonRelease:
- XDBG_INFO (MXDBG, "%s(%d)_%d(%s.%d : %s.0x%lx) root(%d,%d) win(%d,%d)\n"
+ XDBG_SECURE (MXDBG, "%s(%d)_%d(%s.%d : %s.0x%lx) root(%d,%d) win(%d,%d)\n"
, ename[type-KeyPress], pev->u.u.detail, pev->u.u.type
, info->command, info->pid
, _traceGetWindowName (pClient, pev->u.keyButtonPointer.event), pev->u.keyButtonPointer.event
if (client->clientState == ClientStateInitial)
_debugClientInfo (client);
- XDBG_INFO (MXDBG, "id:%d, conn_fd:%d, pid:%d, uid:%d, name:%s (%s)\n",
+ XDBG_SECURE (MXDBG, "id:%d, conn_fd:%d, pid:%d, uid:%d, name:%s (%s)\n",
info->index, info->conn_fd, info->pid, info->uid, info->command,
clientState[client->clientState]);
return;
Group: System/Libraries
License: MIT
Source0: %{name}-%{version}.tar.gz
+BuildRequires: pkgconfig(dlog)
BuildRequires: pkgconfig(xorg-server)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xext)
Requires: %{name} = %{version}-%{release}
Requires: pkgconfig(xorg-server)
Requires: pkgconfig(x11)
+Requires: pkgconfig(dlog)
%description devel
X server runtime debug library development package