MAK RTIspy API Documentation for HLA Evolved
webLogger.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 2005 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*******************************************************************************
00006 ** $RCSfile: webLogger.h,v $ $Revision: 1.2 $ $State: Exp $
00007 *******************************************************************************/
00010 
00011 #ifndef DtWebLogger_H_
00012 #define DtWebLogger_H_
00013 
00014 #include <vlString.h>
00015 #include <vlPrint.h>
00016 
00017 class DtWebLogger
00018 {
00019 public:
00020 
00022    inline DtWebLogger( const DtString& logFileName = "Webspy.log" );
00024    inline DtWebLogger( std::auto_ptr<DtPrinter> printer );
00025    virtual inline ~DtWebLogger();
00026 
00027 protected:
00029    DtWebLogger( const DtWebLogger& );
00030    DtWebLogger& operator=( const DtWebLogger& );
00031    
00033    virtual inline void attachFileStreams();
00034       
00036    virtual inline void detachFileStreams();
00037    
00038 protected:
00039 
00040    std::auto_ptr<DtPrinter> myLogPrinter;
00041 };
00042 
00043 DtWebLogger::DtWebLogger( const DtString& logFileName ) :
00044    myLogPrinter( new DtFilePrinter( logFileName.string() ))
00045 {
00046    attachFileStreams();
00047 }
00048 
00049 DtWebLogger::DtWebLogger( std::auto_ptr<DtPrinter> printer ) :
00050    myLogPrinter( printer )
00051 {
00052    attachFileStreams();
00053 }
00054 
00055 DtWebLogger::~DtWebLogger()
00056 {
00057    detachFileStreams();
00058 }
00059 
00060 void DtWebLogger::attachFileStreams()
00061 {
00062       DtFatal.attachPrinter(myLogPrinter.get());
00063       DtWarn.attachPrinter(myLogPrinter.get());
00064       DtInfo.attachPrinter(myLogPrinter.get());
00065       DtVerbose.attachPrinter(myLogPrinter.get());
00066       DtDebug.attachPrinter(myLogPrinter.get());
00067 }
00068 
00069 void DtWebLogger::detachFileStreams()
00070 {
00071       DtFatal.detachPrinter(myLogPrinter.get());
00072       DtWarn.detachPrinter(myLogPrinter.get());
00073       DtInfo.detachPrinter(myLogPrinter.get());
00074       DtVerbose.detachPrinter(myLogPrinter.get());
00075       DtDebug.detachPrinter(myLogPrinter.get());     
00076 }
00077 
00078 
00079 #endif //! DtWebLogger_H_
00080 

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)