00001 /******************************************************************************* 00002 * ALMA - Atacama Large Millimiter Array 00003 * (c) European Southern Observatory, 2002 00004 * Copyright by ESO (in the framework of the ALMA collaboration) 00005 * and Cosylab 2002, All rights reserved 00006 * 00007 * This library is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Lesser General Public 00009 * License as published by the Free Software Foundation; either 00010 * version 2.1 of the License, or (at your option) any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Lesser General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Lesser General Public 00018 * License along with this library; if not, write to the Free Software 00019 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00020 * 00021 * 00022 * "@(#) " 00023 * 00024 * who when what 00025 * -------- ---------- ---------------------------------------------- 00026 * javarias May 6, 2010 created 00027 */ 00028 00029 #ifndef LOGGINGXMLLAYOUT_H_ 00030 #define LOGGINGXMLLAYOUT_H_ 00031 00032 #include <ace/ACE.h> 00033 #include <ace/OS.h> 00034 #define LOG4CPP_FIX_ERROR_COLLISION 1 00035 #include <log4cpp/Layout.hh> 00036 00037 namespace logging { 00038 class ACSXmlLayout: public ::log4cpp::Layout { 00039 public: 00040 ACSXmlLayout(); 00041 ~ACSXmlLayout(); 00042 std::string format(const ::log4cpp::LoggingEvent& event); 00043 static void formatISO8601inUTC(const ACE_Time_Value ×tamp, 00044 ACE_TCHAR str[]); 00045 00046 private: 00047 std::string m_xml; 00048 }; 00049 } 00050 00051 #endif /* LOGGINGXMLLAYOUT_H_ */