View | Details | Raw Unified | Return to bug 525339
Collapse All | Expand All

(-)a/zypp/base/LogControl.cc (-16 / +19 lines)
Lines 328-339 namespace zypp Link Here
328
         * destructed. At least destucted after all statics
328
         * destructed. At least destucted after all statics
329
         * which log from their dtor.
329
         * which log from their dtor.
330
        */
330
        */
331
        static LogControlImpl instance;
331
        static LogControlImpl & instance();
332
      };
332
      };
333
      ///////////////////////////////////////////////////////////////////
333
      ///////////////////////////////////////////////////////////////////
334
334
335
      // 'THE' LogControlImpl singleton
335
      // 'THE' LogControlImpl singleton
336
      LogControlImpl LogControlImpl::instance;
336
      inline LogControlImpl & LogControlImpl::instance()
337
      {
338
        static LogControlImpl _instance;
339
        return _instance;
340
      }
337
341
338
      ///////////////////////////////////////////////////////////////////
342
      ///////////////////////////////////////////////////////////////////
339
343
Lines 355-361 namespace zypp Link Here
355
                                const char * func_r,
359
                                const char * func_r,
356
                                const int    line_r )
360
                                const int    line_r )
357
      {
361
      {
358
        return LogControlImpl::instance.getStream( group_r,
362
        return LogControlImpl::instance().getStream( group_r,
359
                                                   level_r,
363
                                                   level_r,
360
                                                   file_r,
364
                                                   file_r,
361
                                                   func_r,
365
                                                   func_r,
Lines 367-379 namespace zypp Link Here
367
                             const char * file_r, const char * func_r, int line_r,
371
                             const char * file_r, const char * func_r, int line_r,
368
                             const std::string & buffer_r )
372
                             const std::string & buffer_r )
369
      {
373
      {
370
        LogControlImpl::instance.putStream( group_r, level_r,
374
        LogControlImpl::instance().putStream( group_r, level_r,
371
                                            file_r, func_r, line_r,
375
                                            file_r, func_r, line_r,
372
                                            buffer_r );
376
                                            buffer_r );
373
      }
377
      }
374
378
375
      bool isExcessive()
379
      bool isExcessive()
376
      { return LogControlImpl::instance.isExcessive(); }
380
      { return LogControlImpl::instance().isExcessive(); }
377
381
378
      /////////////////////////////////////////////////////////////////
382
      /////////////////////////////////////////////////////////////////
379
    } // namespace logger
383
    } // namespace logger
Lines 389-413 namespace zypp Link Here
389
    using logger::LogControlImpl;
393
    using logger::LogControlImpl;
390
394
391
    void LogControl::logfile( const Pathname & logfile_r )
395
    void LogControl::logfile( const Pathname & logfile_r )
392
    { LogControlImpl::instance.logfile( logfile_r ); }
396
    { LogControlImpl::instance().logfile( logfile_r ); }
393
397
394
    void LogControl::logfile( const Pathname & logfile_r, mode_t mode_r )
398
    void LogControl::logfile( const Pathname & logfile_r, mode_t mode_r )
395
    { LogControlImpl::instance.logfile( logfile_r, mode_r ); }
399
    { LogControlImpl::instance().logfile( logfile_r, mode_r ); }
396
400
397
    shared_ptr<LogControl::LineWriter> LogControl::getLineWriter() const
401
    shared_ptr<LogControl::LineWriter> LogControl::getLineWriter() const
398
    { return LogControlImpl::instance.getLineWriter(); }
402
    { return LogControlImpl::instance().getLineWriter(); }
399
403
400
    void LogControl::setLineWriter( const shared_ptr<LineWriter> & writer_r )
404
    void LogControl::setLineWriter( const shared_ptr<LineWriter> & writer_r )
401
    { LogControlImpl::instance.setLineWriter( writer_r ); }
405
    { LogControlImpl::instance().setLineWriter( writer_r ); }
402
406
403
    void LogControl::setLineFormater( const shared_ptr<LineFormater> & formater_r )
407
    void LogControl::setLineFormater( const shared_ptr<LineFormater> & formater_r )
404
    { LogControlImpl::instance.setLineFormater( formater_r ); }
408
    { LogControlImpl::instance().setLineFormater( formater_r ); }
405
409
406
    void LogControl::logNothing()
410
    void LogControl::logNothing()
407
    { LogControlImpl::instance.setLineWriter( shared_ptr<LineWriter>() ); }
411
    { LogControlImpl::instance().setLineWriter( shared_ptr<LineWriter>() ); }
408
412
409
    void LogControl::logToStdErr()
413
    void LogControl::logToStdErr()
410
    { LogControlImpl::instance.setLineWriter( shared_ptr<LineWriter>( new log::StderrLineWriter ) ); }
414
    { LogControlImpl::instance().setLineWriter( shared_ptr<LineWriter>( new log::StderrLineWriter ) ); }
411
415
412
    ///////////////////////////////////////////////////////////////////
416
    ///////////////////////////////////////////////////////////////////
413
    //
417
    //
Lines 415-423 namespace zypp Link Here
415
    //
419
    //
416
    ///////////////////////////////////////////////////////////////////
420
    ///////////////////////////////////////////////////////////////////
417
    LogControl::TmpExcessive::TmpExcessive()
421
    LogControl::TmpExcessive::TmpExcessive()
418
    { LogControlImpl::instance.excessive( true ); }
422
    { LogControlImpl::instance().excessive( true ); }
419
    LogControl::TmpExcessive::~TmpExcessive()
423
    LogControl::TmpExcessive::~TmpExcessive()
420
    { LogControlImpl::instance.excessive( false );  }
424
    { LogControlImpl::instance().excessive( false );  }
421
425
422
    /******************************************************************
426
    /******************************************************************
423
     **
427
     **
Lines 426-432 namespace zypp Link Here
426
    */
430
    */
427
    std::ostream & operator<<( std::ostream & str, const LogControl & obj )
431
    std::ostream & operator<<( std::ostream & str, const LogControl & obj )
428
    {
432
    {
429
      return str << LogControlImpl::instance;
433
      return str << LogControlImpl::instance();
430
    }
434
    }
431
435
432
    /////////////////////////////////////////////////////////////////
436
    /////////////////////////////////////////////////////////////////
433
- 

Return to bug 525339