35 inline string timestamp()
38 inline string userAtHostname()
42 char * tmp = ::cuserid(buf);
46 if (!::gethostname(buf, 255))
47 result +=
"@" + string(buf);
52 static std::string pidAndAppname()
54 static std::string _val;
57 pid_t mypid = getpid();
63 _val += myname.basename();
73 const char _sep =
'|';
77 Pathname _fnameLastFail;
85 _log.open( _fname.asString().c_str(), std::ios::out|std::ios::app );
86 if( !_log && _fnameLastFail != _fname )
88 ERR <<
"Could not open logfile '" << _fname <<
"'" << endl;
89 _fnameLastFail = _fname;
93 inline void closeLog()
106 inline void refDown()
133 if ( ! rootdir.absolute() )
141 MIL <<
"installation log file " << _fname << endl;
149 if ( _fname.empty() )
163 _log << ::timestamp() <<
" ";
165 const char * s = comment.c_str();
167 unsigned size = comment.size();
170 if (comment[size-1] ==
'\n')
173 for (
unsigned i = 0; i < size; ++i, ++c )
176 _log << string( s, c + 1 - s ) <<
"# ";
181 _log << std::string( s, c-s );
198 << _sep << p->edition()
199 << _sep << p->arch();
203 _log << _sep << userAtHostname();
205 _log << _sep << pidAndAppname();
210 << _sep << p->repoInfo().alias()
211 << _sep << p->checksum().checksum();
229 << _sep << p->edition()
230 << _sep << p->arch();
234 _log << _sep << userAtHostname();
236 _log << _sep << pidAndAppname();