(file) Return to TraceFileHandlerWindows.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Common

 1 mike  1.2 //%/////////////////////////////////////////////////////////////////////////////
 2           //
 3 kumpf 1.3 // Copyright (c) 2000, 2001, 2002 BMC Software, Hewlett-Packard Company, IBM,
 4 mike  1.2 // The Open Group, Tivoli Systems
 5           //
 6           // Permission is hereby granted, free of charge, to any person obtaining a copy
 7           // of this software and associated documentation files (the "Software"), to
 8           // deal in the Software without restriction, including without limitation the
 9           // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
10           // sell copies of the Software, and to permit persons to whom the Software is
11           // furnished to do so, subject to the following conditions:
12 kumpf 1.3 // 
13 mike  1.2 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
14           // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
15           // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
16           // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
17           // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
18           // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
19           // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20           // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21           //
22           //==============================================================================
23           //
24           // Author: Sushma Fernandes, Hewlett-Packard Company (sushma_fernandes@hp.com)
25           //
26           // Modified By:
27           //
28           //%/////////////////////////////////////////////////////////////////////////////
29           
30           #include <iostream>
31           #include <Pegasus/Common/Logger.h>
32           #include <Pegasus/Common/TraceFileHandler.h>
33           
34 mike  1.2 PEGASUS_USING_STD;
35           
36           PEGASUS_NAMESPACE_BEGIN
37           
38           ////////////////////////////////////////////////////////////////////////////////
39           //   Writes message to file. 
40           //   Implementation of this function is platform specific
41           // 
42           //   Note: The current implementation writes the message to the defined file.
43           //         Will have to be enhanced to support synchronous write operations to
44           //         the same file.
45           ////////////////////////////////////////////////////////////////////////////////
46           void TraceFileHandler::handleMessage(
47               const char* message,
48               const char* fmt,
49               va_list argList) 
50           {
51               Uint32 retCode;
52           
53               if (_fileHandle)
54               {
55 mike  1.2         //Move to the End of File
56                   fseek(_fileHandle,0,SEEK_SET);
57           
58                   // Write message to file
59                   fprintf(_fileHandle,"%s", message);
60                   vfprintf(_fileHandle,fmt,argList);
61                   retCode = fprintf(_fileHandle,"\n");
62           
63                   if (retCode < 0)
64                   {
65           	    // Unable to write message to file
66           	    // Log message 
67           	    Logger::put(Logger::DEBUG_LOG,"Tracer",Logger::WARNING,
68           	        "Unable to write trace message to File $0",_fileName);
69                   }
70           	else
71           	{
72                       fflush(_fileHandle);
73                   }
74               }
75               else
76 mike  1.2     {
77           	// Invalid file handle
78           	// Log message 
79           	Logger::put(Logger::DEBUG_LOG,"Tracer",Logger::WARNING,
80                       "Invalid file handle for file $0",_fileName);
81               }
82           } 
83           
84           PEGASUS_NAMESPACE_END

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2