From: David J. <d_j...@us...> - 2001-06-18 19:26:34
|
Update of /cvsroot/firebird/interclient/20/dev/interserver In directory usw-pr-cvs1:/tmp/cvs-serv28492 Modified Files: IB_Defines.h IB_Statement.cpp interserver.cpp Log Message: Added sql logging to interserver, thanks to Micael Wyraz (mic...@ev...). Use -l command line switch. Index: IB_Defines.h =================================================================== RCS file: /cvsroot/firebird/interclient/20/dev/interserver/IB_Defines.h,v retrieving revision 1.3 retrieving revision 1.4 diff -U3 -r1.3 -r1.4 --- IB_Defines.h 2001/04/17 12:49:43 1.3 +++ IB_Defines.h 2001/06/18 19:26:30 1.4 @@ -119,4 +119,7 @@ void errorLog (char* what); +//Sql logging by Michael Wyraz +void sqlLog (char* what); + #endif Index: IB_Statement.cpp =================================================================== RCS file: /cvsroot/firebird/interclient/20/dev/interserver/IB_Statement.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -U3 -r1.2 -r1.3 --- IB_Statement.cpp 2001/02/06 15:31:35 1.2 +++ IB_Statement.cpp 2001/06/18 19:26:30 1.3 @@ -155,7 +155,7 @@ IB_Statement::prepareNoInputNoOutput (const IB_STRING sqlString) { //david jencks 2-4-2001 -// errorLog(sqlString);//uncomment to log all sql statements executed + sqlLog(sqlString);// logging all sql statements if (!stmtHandle_) open (); @@ -195,7 +195,7 @@ const IB_SSHORT16 maxFieldSize) { //david jencks 2-4-2001 -// errorLog(sqlString);//uncomment to log all sql statements executed + sqlLog(sqlString); // logg all sql statements if (!stmtHandle_) Index: interserver.cpp =================================================================== RCS file: /cvsroot/firebird/interclient/20/dev/interserver/interserver.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -U3 -r1.2 -r1.3 --- interserver.cpp 2001/04/17 12:49:43 1.2 +++ interserver.cpp 2001/06/18 19:26:30 1.3 @@ -48,6 +48,8 @@ #include "NetTCP.h" #include "VersionInformation.h" +bool sql_logging_ = false; + // This is not thread safe. // Just hope that this doesn't happen too often. void errorLog (char* what) @@ -71,6 +73,32 @@ } } + +// michael wyraz, 2001-06-12: added sql logging with parameter "-l" +// This is not thread safe. +// Just hope that this doesn't happen too often. +void sqlLog (char* what) +{ + if (!sql_logging_) return; + // For an InterServer application, this log file goes + // to the proper directory, but for a service on NT, + // the log file goes to win32 or some such system directory. + // !!! When we get time, extract the root directory from + // !!! the registry to prefix interserver.log. + // !!! See ISC_get_registry_var and GetProfileString as used + // !!! in gds.c::gds__prefix and gds.c::gds__log +#ifdef UNIX + FILE* f = fopen ("/usr/interclient/interserver_sql.log", "a"); +#else + FILE* f = fopen ("interserver_sql.log", "a"); +#endif + if (f) { + fprintf (f, "%s\n", what); + fflush (f); + fclose (f); + } +} + // Not thread safe. // This tracing will not work for multiple connections! #ifdef TRACEON @@ -133,7 +161,7 @@ // forked by services manager or by user initiated daemon if (newSockfd != 0) goto fork_start; - + #else register char *s; @@ -172,6 +200,11 @@ EXIT(0); default: + + case 'l': + // sql logging enabled + sql_logging_ = true; + break; Error::err_quit ("unknown command line option: %c", *s); } #endif |