FEI Package Browser (Single Doxygen Collection)
Version of the Day
Loading...
Searching...
No Matches
base
fei_LogFile.cpp
Go to the documentation of this file.
1
/*--------------------------------------------------------------------*/
2
/* Copyright 2005 Sandia Corporation. */
3
/* Under the terms of Contract DE-AC04-94AL85000, there is a */
4
/* non-exclusive license for use of this work by or on behalf */
5
/* of the U.S. Government. Export of this program may require */
6
/* a license from the United States Government. */
7
/*--------------------------------------------------------------------*/
8
9
#include "
fei_LogFile.hpp
"
10
#include "
fei_iostream.hpp
"
11
#include "
fei_fstream.hpp
"
12
#include "
fei_sstream.hpp
"
13
#include <string>
14
15
fei::LogFile::LogFile
()
16
: output_stream_(0),
17
counter_(0)
18
{
19
}
20
21
fei::LogFile::~LogFile
()
22
{
23
counter_ = 0;
24
closeOutputStream();
25
}
26
27
void
fei::LogFile::openOutputStream
(
const
char
* path,
28
int
nprocs,
29
int
localproc)
30
{
31
closeOutputStream();
32
33
std::string pathstr(
"./"
);
34
if
(path != NULL) {
35
pathstr = path;
36
}
37
38
if
(pathstr[pathstr.size()] !=
'/'
) {
39
pathstr = pathstr+
"/"
;
40
}
41
42
FEI_OSTRINGSTREAM
osstr;
43
osstr << pathstr <<
"fei_log."
<<counter_<<
"."
<<nprocs<<
"."
<<localproc;
44
std::string filename = osstr.str();
45
46
++counter_;
47
48
output_stream_ =
new
FEI_OFSTREAM
(filename.c_str(),
IOS_OUT
);
49
50
if
(output_stream_ == NULL || output_stream_->bad()) {
51
fei::console_out
() <<
"couldn't open debug output file: "
<< filename <<
FEI_ENDL
;
52
delete
output_stream_;
53
output_stream_ = 0;
54
}
55
}
56
57
FEI_OSTREAM
*
fei::LogFile::getOutputStream
()
58
{
59
return
( output_stream_ );
60
}
61
62
void
fei::LogFile::closeOutputStream
()
63
{
64
delete
output_stream_;
65
output_stream_ = 0;
66
}
67
68
fei::LogFile
&
fei::LogFile::getLogFile
()
69
{
70
static
fei::LogFile
log_file;
71
return
(log_file);
72
}
73
fei::LogFile
Definition
fei_LogFile.hpp:19
fei::LogFile::closeOutputStream
void closeOutputStream()
Definition
fei_LogFile.cpp:62
fei::LogFile::~LogFile
virtual ~LogFile()
Definition
fei_LogFile.cpp:21
fei::LogFile::getOutputStream
FEI_OSTREAM * getOutputStream()
Definition
fei_LogFile.cpp:57
fei::LogFile::openOutputStream
void openOutputStream(const char *path=NULL, int nprocs=1, int localproc=0)
Definition
fei_LogFile.cpp:27
fei::LogFile::LogFile
LogFile()
Definition
fei_LogFile.cpp:15
fei::LogFile::getLogFile
static LogFile & getLogFile()
Definition
fei_LogFile.cpp:68
fei_LogFile.hpp
fei_fstream.hpp
FEI_OFSTREAM
#define FEI_OFSTREAM
Definition
fei_fstream.hpp:14
FEI_OSTREAM
#define FEI_OSTREAM
Definition
fei_iosfwd.hpp:24
fei_iostream.hpp
FEI_ENDL
#define FEI_ENDL
Definition
fei_iostream.hpp:34
IOS_OUT
#define IOS_OUT
Definition
fei_iostream.hpp:59
fei_sstream.hpp
FEI_OSTRINGSTREAM
#define FEI_OSTRINGSTREAM
Definition
fei_sstream.hpp:32
fei::console_out
std::ostream & console_out()
Definition
fei_console_ostream.cpp:26
Generated by
1.10.0