/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /*************************************************************************** * info.cc * * Mon Jun 13 22:16:18 CEST 2005 * Copyright 2005 Bent Bisballe * deva@aasimon.org ****************************************************************************/ /* * This file is part of MIaV. * * MIaV is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * MIaV is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with MIaV; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ #include "info.h" #include #include Info::Info() { pthread_mutex_init (&mutex, NULL); } void Info::log(char *fmt, ...) { // const time_t t; FILE *fp; char buf[1024]; pthread_mutex_lock(&mutex); // Beginning of safezone fp = fopen(log_filename.c_str(), "a"); if(!fp) { fprintf(stderr, "Log file %s could not be opened in writemode.\n", log_filename.c_str()); return; } va_list argp; va_start(argp, fmt); vsprintf(buf, fmt, argp); va_end(argp); time_t t = time(NULL); char sdate[32]; memset(sdate, 0, sizeof(sdate)); strftime(sdate, sizeof(sdate), "%d %b %H:%M:%S", localtime(&t)); fprintf(fp, "%s miav[%d] %s\n", sdate, getpid(), buf); // fprintf(stderr, "%s miav[%d] %s\n", sdate, getpid(), buf); fclose(fp); // End of safezone pthread_mutex_unlock(&mutex); } // For the global info object void MIaV::initInfo(Info* i) { info = i; } Info *MIaV::info = NULL;