1eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Copyright 2013 The Chromium Authors. All rights reserved. 2eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch// found in the LICENSE file. 4eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 5eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include <android/log.h> 6eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include <iostream> 7eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include <sstream> 8eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 9eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch#include "gpu/command_buffer/common/logging.h" 10eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 11eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochnamespace gpu { 12eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 13eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochnamespace { 14eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochstd::stringstream* g_log; 15eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochconst char* kLogTag = "chromium-gpu"; 16eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch} 17eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 18eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdochstd::ostream& Logger::stream() { 19eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch if (!g_log) 20eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch g_log = new std::stringstream(); 21eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch return *g_log; 22eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch} 23eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 24eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen MurdochLogger::~Logger() { 25eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch if (!condition_) { 26eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch __android_log_print(ANDROID_LOG_INFO, kLogTag, "%s", g_log->str().c_str()); 27eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch g_log->str(std::string()); 28eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch if (level_ == FATAL) 29eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch assert(false); 30eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch } 31eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch} 32eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch 33eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch} // namespace gpu 34