1*3f982cf4SFabien Sanglard // Copyright 2019 The Chromium Authors. All rights reserved. 2*3f982cf4SFabien Sanglard // Use of this source code is governed by a BSD-style license that can be 3*3f982cf4SFabien Sanglard // found in the LICENSE file. 4*3f982cf4SFabien Sanglard 5*3f982cf4SFabien Sanglard #include "tools/cddl/logging.h" 6*3f982cf4SFabien Sanglard 7*3f982cf4SFabien Sanglard // static Abort(const char * condition)8*3f982cf4SFabien Sanglardvoid Logger::Abort(const char* condition) { 9*3f982cf4SFabien Sanglard std::cerr << "CHECK(" << condition << ") failed!" << std::endl; 10*3f982cf4SFabien Sanglard std::abort(); 11*3f982cf4SFabien Sanglard } 12*3f982cf4SFabien Sanglard InitializeInstance()13*3f982cf4SFabien Sanglardvoid Logger::InitializeInstance() { 14*3f982cf4SFabien Sanglard is_initialized_ = true; 15*3f982cf4SFabien Sanglard 16*3f982cf4SFabien Sanglard WriteLog("CDDL GENERATION TOOL"); 17*3f982cf4SFabien Sanglard WriteLog("---------------------------------------------\n"); 18*3f982cf4SFabien Sanglard } 19*3f982cf4SFabien Sanglard VerifyInitialized()20*3f982cf4SFabien Sanglardvoid Logger::VerifyInitialized() { 21*3f982cf4SFabien Sanglard if (!is_initialized_) { 22*3f982cf4SFabien Sanglard InitializeInstance(); 23*3f982cf4SFabien Sanglard } 24*3f982cf4SFabien Sanglard } 25*3f982cf4SFabien Sanglard MakePrintable(const std::string & data)26*3f982cf4SFabien Sanglardconst char* Logger::MakePrintable(const std::string& data) { 27*3f982cf4SFabien Sanglard return data.c_str(); 28*3f982cf4SFabien Sanglard } 29*3f982cf4SFabien Sanglard Logger()30*3f982cf4SFabien SanglardLogger::Logger() { 31*3f982cf4SFabien Sanglard is_initialized_ = false; 32*3f982cf4SFabien Sanglard } 33*3f982cf4SFabien Sanglard 34*3f982cf4SFabien Sanglard // Static: Get()35*3f982cf4SFabien SanglardLogger* Logger::Get() { 36*3f982cf4SFabien Sanglard return Logger::singleton_; 37*3f982cf4SFabien Sanglard } 38*3f982cf4SFabien Sanglard 39*3f982cf4SFabien Sanglard // Static: 40*3f982cf4SFabien Sanglard Logger* Logger::singleton_ = new Logger(); 41