X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=test%2Ftstlog.c;h=5364b63d392bce6058ba81ce01d96ce20afb9cf2;hb=0725af5d06bfcdaf9888886f04c63810c1d8cf72;hp=f61070f2897feb9b98f8db7e6d7a3504dadc0622;hpb=d061373561c647edbc7125796b53ab0c789d6648;p=yaz-moved-to-github.git diff --git a/test/tstlog.c b/test/tstlog.c index f61070f..5364b63 100644 --- a/test/tstlog.c +++ b/test/tstlog.c @@ -1,14 +1,23 @@ /* - * Copyright (C) 1995-2005, Index Data ApS + * Copyright (C) 1995-2007, Index Data ApS * See the file LICENSE for details. * - * $Id: tstlog.c,v 1.6 2005-09-08 13:22:58 adam Exp $ + * $Id: tstlog.c,v 1.12 2007-01-03 08:42:16 adam Exp $ * */ #include +#include #include #include #include +#if HAVE_UNISTD_H +#include +#endif + +void hook_func(int level, const char *msg, void *vp) +{ + fprintf(stderr, "[HOOK level=%d msg=%s]\n", level, msg); +} int main(int argc, char **argv) { @@ -16,12 +25,13 @@ int main(int argc, char **argv) int i, ret; int level = YLOG_LOG; int number = 1; + unsigned int wait_between_log = 0; - while ((ret = options("f:v:l:m:n:s:", argv, argc, &arg)) != -2) + while ((ret = options("f:v:l:m:n:r:w:Hh", argv, argc, &arg)) != -2) { switch (ret) { - case 's': + case 'r': yaz_log_init_max_size(atoi(arg)); break; case 'f': @@ -31,7 +41,10 @@ int main(int argc, char **argv) yaz_log_init_level(yaz_log_mask_str(arg)); break; case 'l': - yaz_log_init_file(arg); + if (!strcmp(arg, "@")) + yaz_log_init_file(0); + else + yaz_log_init_file(arg); break; case 'n': number = atoi(arg); @@ -39,14 +52,27 @@ int main(int argc, char **argv) case 'm': level = yaz_log_module_level(arg); break; + case 'w': + wait_between_log = atoi(arg); + break; + case 'H': + yaz_log_set_handler(hook_func, 0); + break; case 0: for (i = 0; i