Forums  +  C++ and Sockets  +  C++ and SQL: MySQL, sqlite, ODBC  +  Miscellaneous Projects
Logo
~Database~
~ C++ ~
~Contact~

SysLog.cpp

Go to the documentation of this file.
00001 
00007 /*
00008 Copyright (C) 2004  Anders Hedstrom
00009 
00010 This program is made available under the terms of the GNU GPL.
00011 
00012 If you would like to use this program in a closed-source application,
00013 a separate license agreement is available. For information about 
00014 the closed-source license agreement for this program, please
00015 visit http://www.alhem.net/sqlwrapped/license.html and/or
00016 email license@alhem.net.
00017 
00018 This program is free software; you can redistribute it and/or
00019 modify it under the terms of the GNU General Public License
00020 as published by the Free Software Foundation; either version 2
00021 of the License, or (at your option) any later version.
00022 
00023 This program is distributed in the hope that it will be useful,
00024 but WITHOUT ANY WARRANTY; without even the implied warranty of
00025 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00026 GNU General Public License for more details.
00027 
00028 You should have received a copy of the GNU General Public License
00029 along with this program; if not, write to the Free Software
00030 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00031 */
00032 #ifndef WIN32
00033 
00034 #include <mysql/mysql.h>
00035 #include <syslog.h>
00036 
00037 #include "Database.h"
00038 #include "Query.h"
00039 #include "IError.h"
00040 #include "SysLog.h"
00041 
00042 
00043 #ifdef MYSQLW_NAMESPACE
00044 namespace MYSQLW_NAMESPACE {
00045 #endif
00046 
00047 
00048 SysLog::SysLog(const std::string& appname,int option,int facility)
00049 {
00050 static  char blah[100];
00051         strcpy(blah, appname.c_str());
00052         openlog(blah, option, facility);
00053 }
00054 
00055 
00056 SysLog::~SysLog()
00057 {
00058         closelog();
00059 }
00060 
00061 
00062 void SysLog::error(Database& db,const std::string& str)
00063 {
00064         syslog(LOG_ERR, "%s", str.c_str() );
00065 }
00066 
00067 
00068 void SysLog::error(Database& db,Query& q,const std::string& str)
00069 {
00070         syslog(LOG_ERR, "%s: %s(%d)", str.c_str(),q.GetError().c_str(),q.GetErrno() );
00071         syslog(LOG_ERR, "QUERY: \"%s\"", q.GetLastQuery().c_str());
00072 }
00073 
00074 
00075 #ifdef MYSQLW_NAMESPACE
00076 } // namespace MYSQLW_NAMESPACE {
00077 #endif
00078 
00079 #endif // WIN32
Page, code, and content Copyright (C) 2006 by Anders Hedström