12#ifndef ZYPP_BASE_LOGCONTROL_H
13#define ZYPP_BASE_LOGCONTROL_H
48 void writeOut(
const std::string & formated_r )
override
49 { (*_str) << formated_r << std::endl; }
116 virtual std::string format(
const std::string & ,
121 const std::string & );
130 void setLineFormater(
const shared_ptr<LineFormater> & formater_r );
137 void enableLogForwardingMode (
bool enable =
true );
146 void logfile(
const Pathname & logfile_r );
147 void logfile(
const Pathname & logfile_r, mode_t mode_r );
156 void emergencyShutdown();
163 static void notifyFork();
166 void logRawLine ( std::string &&line );
170 shared_ptr<LineWriter> getLineWriter()
const;
177 void setLineWriter(
const shared_ptr<LineWriter> & writer_r );
192 TmpLineWriter(
const shared_ptr<LineWriter> & writer_r = shared_ptr<LineWriter>() )
193 : _writer(
LogControl::instance().getLineWriter() )
194 { LogControl::instance().setLineWriter( writer_r ); }
201 template<
class TLineWriter>
203 : _writer(
LogControl::instance().getLineWriter() )
204 { LogControl::instance().setLineWriter( shared_ptr<LineWriter>( _allocated_r ) ); }
207 { LogControl::instance().setLineWriter( _writer ); }
std::ostream & operator<<(std::ostream &str, const zypp::sat::detail::CDataiterator *obj)
Maintain logfile related options.
LogControl()
Default ctor: Singleton.
static LogControl instance()
Singleton access.
String related utilities and Regular expression matching.
LogLevel
Definition of log levels.
std::ostream & operator<<(std::ostream &str, const Flags< TEnum > &obj)
Easy-to use interface to the ZYPP dependency resolver.
const Arch Arch_armv7hnl Arch_armv7nhl ZYPP_API
Turn on excessive logging for the lifetime of this object.
Exchange LineWriter for the lifetime of this object.
TmpLineWriter(const shared_ptr< LineWriter > &writer_r=shared_ptr< LineWriter >())
shared_ptr< LineWriter > _writer
TmpLineWriter(TLineWriter *_allocated_r)
Convenience ctor taking over ownership of an allocated LineWriter.
If you want to log the (formated) loglines by yourself, derive from this, and overload writeOut.
virtual void writeOut(const std::string &)
Base class for ostream based LineWriter.
StreamLineWriter(std::ostream &str_r)
void writeOut(const std::string &formated_r) override