X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FCore%2FLog.cxx;fp=src%2FCore%2FLog.cxx;h=7d4f3594fb688a9d8ba99b19e1bf4e9630170b6e;hb=3a3d5427f40725ca4199eb80800c690709197974;hp=0000000000000000000000000000000000000000;hpb=2e73c8f93eba2b34eab822a5817c09d7c235fc18;p=tools%2Flibbatch.git diff --git a/src/Core/Log.cxx b/src/Core/Log.cxx new file mode 100644 index 0000000..7d4f359 --- /dev/null +++ b/src/Core/Log.cxx @@ -0,0 +1,66 @@ +// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// +// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +// +// This library is free software; you can redistribute it and/or +// modify it under the terms of the GNU Lesser General Public +// License as published by the Free Software Foundation; either +// version 2.1 of the License. +// +// This library 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 +// Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public +// License along with this library; if not, write to the Free Software +// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +// +/* + * Log.cxx : + * + * Created on: 28 jan. 2013 + * Author : Renaud BARATE - EDF R&D + */ + +#include "Utils.hxx" +#include "Log.hxx" + +using namespace std; + +namespace Batch { + + Log::Log() + { + const size_t BUFSIZE = 32; + char date[BUFSIZE]; + time_t curtime = time(NULL); + strftime(date, BUFSIZE, "%Y-%m-%d_%H-%M-%S", localtime(&curtime)); + string prefix = string("log-") + date; + Utils::createAndOpenTemporaryFile(prefix, _stream); + } + + Log::~Log() + { + _stream.close(); + } + + void Log::log(const string & msg) + { + const size_t BUFSIZE = 32; + char timestamp[BUFSIZE]; + time_t curtime = time(NULL); + strftime(timestamp, BUFSIZE, "%Y-%m-%d_%H-%M-%S", localtime(&curtime)); + getInstance()._stream << timestamp << ": " << msg << endl; + } + + Log & Log::getInstance() + { + static Log instance; + return instance; + } + +}