118 lines
3.8 KiB
C
118 lines
3.8 KiB
C
#include <qse/cmn/mem.h>
|
|
#include <qse/cmn/hwad.h>
|
|
#include <qse/si/log.h>
|
|
#include <qse/si/nwad.h>
|
|
#include <stdio.h>
|
|
|
|
static void t1_sub001 (qse_log_t* log)
|
|
{
|
|
static struct
|
|
{
|
|
const qse_char_t* name;
|
|
int pri;
|
|
} xtab[] =
|
|
{
|
|
{ QSE_T(""), 0 },
|
|
{ QSE_T(" "), 0 },
|
|
{ QSE_T("|"), 0 },
|
|
{ QSE_T("debug|xinfo|panic"), 0 },
|
|
{ QSE_T("debug|info|panic"), (QSE_LOG_DEBUG | QSE_LOG_INFO | QSE_LOG_PANIC) },
|
|
{ QSE_T("debug|notice|debug|panic"), (QSE_LOG_DEBUG | QSE_LOG_NOTICE | QSE_LOG_PANIC) },
|
|
{ QSE_T("notice"), QSE_LOG_NOTICE }
|
|
};
|
|
qse_size_t i;
|
|
qse_char_t buf[QSE_LOG_PRIORITY_LEN_MAX + 1];
|
|
qse_size_t len;
|
|
|
|
for (i = 0; i < QSE_COUNTOF(xtab); i++)
|
|
{
|
|
len = qse_make_log_priority_name (xtab[i].pri, QSE_T("|"), buf, QSE_COUNTOF(buf));
|
|
QSE_LOG3 (log, QSE_NULL, QSE_LOG_INFO, QSE_T("%x => %s [%d]"), xtab[i].pri, buf, len);
|
|
}
|
|
|
|
for (i = 0; i < QSE_COUNTOF(xtab); i++)
|
|
{
|
|
int pri;
|
|
if ((pri = qse_get_log_priority_by_name(xtab[i].name, QSE_T("|"))) == xtab[i].pri)
|
|
{
|
|
QSE_LOG2 (log, QSE_NULL, QSE_LOG_INFO, QSE_T("SUCCESS: %s => %x"), xtab[i].name, pri);
|
|
}
|
|
else
|
|
{
|
|
QSE_LOG3 (log, QSE_NULL, QSE_LOG_INFO, QSE_T("FAILURE: %s => got %x expected %x"), xtab[i].name, pri, xtab[i].pri);
|
|
}
|
|
}
|
|
}
|
|
|
|
static void t1 (void)
|
|
{
|
|
qse_log_t* log;
|
|
qse_log_target_data_t t;
|
|
#if defined(QSE_HAVE_INT128_T)
|
|
qse_int128_t q = 0x1234567890;
|
|
#elif defined(QSE_HAVE_INT64_T)
|
|
qse_int64_t q = 0x1234567890;
|
|
#else
|
|
qse_int32_t q = 0x12345678;
|
|
#endif
|
|
int i;
|
|
qse_nwad_t nwad;
|
|
|
|
t.file = QSE_T("/tmp/t3.log");
|
|
/*qse_strtonwad ("127.0.0.1:514", &nwad);*/
|
|
/*qse_strtonwad ("@/var/run/log", &nwad);*/
|
|
qse_strtonwad (QSE_T("@/dev/log"), &nwad);
|
|
qse_nwadtoskad (&nwad, &t.syslog_remote);
|
|
|
|
log = qse_log_open (QSE_MMGR_GETDFL(), 0, QSE_T("t3"),
|
|
QSE_LOG_INCLUDE_PID | QSE_LOG_HOST_IN_REMOTE_SYSLOG |
|
|
QSE_LOG_DEBUG |
|
|
QSE_LOG_CONSOLE | QSE_LOG_FILE | QSE_LOG_SYSLOG | QSE_LOG_SYSLOG_REMOTE, &t);
|
|
|
|
QSE_ASSERT (qse_log_getoption (log) == (QSE_LOG_INCLUDE_PID | QSE_LOG_HOST_IN_REMOTE_SYSLOG));
|
|
QSE_ASSERT (qse_log_gettarget (log, QSE_NULL) == (QSE_LOG_CONSOLE | QSE_LOG_FILE | QSE_LOG_SYSLOG | QSE_LOG_SYSLOG_REMOTE));
|
|
|
|
t1_sub001 (log);
|
|
|
|
for (i = 0; i < 10; i++)
|
|
{
|
|
|
|
if (i == 4)
|
|
{
|
|
qse_log_target_data_t t2;
|
|
|
|
qse_log_gettarget (log, &t2);
|
|
qse_strtonwad (QSE_T("127.0.0.1:514"), &nwad);
|
|
qse_nwadtoskad (&nwad, &t2.syslog_remote);
|
|
qse_log_settarget (log, QSE_LOG_CONSOLE | QSE_LOG_FILE | QSE_LOG_SYSLOG_REMOTE, &t2);
|
|
|
|
qse_log_setoption (log, qse_log_getoption(log) | QSE_LOG_KEEP_FILE_OPEN);
|
|
|
|
QSE_ASSERT (qse_log_getoption (log) == (QSE_LOG_INCLUDE_PID | QSE_LOG_HOST_IN_REMOTE_SYSLOG | QSE_LOG_KEEP_FILE_OPEN));
|
|
QSE_ASSERT (qse_log_gettarget (log, QSE_NULL) == (QSE_LOG_CONSOLE | QSE_LOG_FILE | QSE_LOG_SYSLOG_REMOTE));
|
|
}
|
|
|
|
#if defined(QSE_HAVE_INT128_T)
|
|
QSE_LOG4 (log, QSE_T("test"), QSE_LOG_DEBUG, QSE_T("MSG %d %I128x %#0128I128b %l20d >>"), 10 * i , q, q, (long)45);
|
|
#elif defined(QSE_HAVE_INT64_T)
|
|
QSE_LOG4 (log, QSE_T("test"), QSE_LOG_DEBUG, QSE_T("MSG %d %I64x %#064I64b %l20d >>"), 10 * i , q, q, (long)45);
|
|
#else
|
|
QSE_LOG4 (log, QSE_T("test"), QSE_LOG_DEBUG, QSE_T("MSG %d %I32x %#032I32b %l20d >>"), 10 * i , q, q, (long)45);
|
|
#endif
|
|
}
|
|
|
|
|
|
#if defined(QSE_LOG)
|
|
QSE_LOG (log, QSE_T("var"), QSE_LOG_INFO, QSE_T("variadic QSE_LOG() supported - no argument"));
|
|
QSE_LOG (log, QSE_T("var"), QSE_LOG_ERROR, QSE_T("variadic QSE_LOG() supported %d %d"), 1, 2);
|
|
QSE_LOG (log, QSE_T("var"), QSE_LOG_PANIC, QSE_T("variadic QSE_LOG() supported %10s"), QSE_T("panic"));
|
|
#endif
|
|
qse_log_close (log);
|
|
}
|
|
|
|
int main (int argc, char* argv[])
|
|
{
|
|
t1 ();
|
|
return 0;
|
|
}
|