CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
DbFileHandler.cc
Go to the documentation of this file.
1 // $Id: DbFileHandler.cc,v 1.9.4.1 2011/03/07 11:33:04 mommsen Exp $
3 
6 
7 #include <iomanip>
8 
9 
10 namespace stor {
11 
13  runNumber_(0)
14  {}
15 
16 
17  void DbFileHandler::writeOld(const utils::TimePoint_t& timestamp, const std::string& str)
18  {
19  std::ofstream outputFile;
20  openFile(outputFile, timestamp);
21  outputFile << str.c_str();
22  outputFile.close();
23  }
24 
25 
26  void DbFileHandler::write(const std::string& str)
27  {
29 
30  std::ofstream outputFile;
31  openFile(outputFile, timestamp);
32  addReportHeader(outputFile, timestamp);
33  outputFile << str.c_str();
34  outputFile << std::endl;
35  outputFile.close();
36  }
37 
38 
39  void DbFileHandler::configure(const unsigned int runNumber, const DiskWritingParams& params)
40  {
41  dwParams_ = params;
43 
44  write("BoR");
45  }
46 
47 
49  (
50  std::ofstream& outputFile,
52  ) const
53  {
54  utils::checkDirectory(dwParams_.dbFilePath_);
55 
56  std::ostringstream dbfilename;
57  dbfilename
58  << dwParams_.dbFilePath_
59  << "/"
60  << utils::dateStamp(timestamp)
61  << "-" << dwParams_.hostName_
62  << "-" << dwParams_.smInstanceString_
63  << ".log";
64 
65  outputFile.open( dbfilename.str().c_str(), std::ios_base::ate | std::ios_base::out | std::ios_base::app );
66  if (! outputFile.is_open() )
67  {
68  std::ostringstream msg;
69  msg << "Failed to open db log file " << dbfilename.str();
70  XCEPT_RAISE(stor::exception::DiskWriting, msg.str());
71  }
72  }
73 
74 
76  (
77  std::ostream& msg,
78  const utils::TimePoint_t& timestamp
79  ) const
80  {
81  msg << "Timestamp:" << utils::secondsSinceEpoch(timestamp)
82  << "\trun:" << runNumber_
83  << "\thost:" << dwParams_.hostName_
84  << "\tinstance:" << dwParams_.smInstanceString_
85  << "\t";
86  }
87 
88 } // namespace stor
89 
90 
TimePoint_t getCurrentTime()
Definition: Utils.h:158
unsigned int runNumber_
Definition: DbFileHandler.h:62
static const char runNumber_[]
std::string dateStamp(TimePoint_t)
Definition: Utils.cc:60
void configure(const unsigned int runNumber, const DiskWritingParams &)
long secondsSinceEpoch(TimePoint_t const &)
Definition: Utils.h:152
void writeOld(const utils::TimePoint_t &, const std::string &)
void addReportHeader(std::ostream &, const utils::TimePoint_t &) const
DiskWritingParams dwParams_
Definition: DbFileHandler.h:61
void write(const std::string &)
boost::posix_time::ptime TimePoint_t
Definition: Utils.h:35
void checkDirectory(const std::string &)
Definition: Utils.cc:80
tuple out
Definition: dbtoconf.py:99
void openFile(std::ofstream &, const utils::TimePoint_t &) const