24eea0b653
The 'Genode::trace' convenience function prints messages to Genode's trace buffer (if tracing is enabled). issue #3294
79 lines
1.2 KiB
C++
79 lines
1.2 KiB
C++
/*
|
|
* \brief Access to the component's LOG session
|
|
* \author Norman Feske
|
|
* \date 2016-05-03
|
|
*/
|
|
|
|
/*
|
|
* Copyright (C) 2016-2017 Genode Labs GmbH
|
|
*
|
|
* This file is part of the Genode OS framework, which is distributed
|
|
* under the terms of the GNU Affero General Public License version 3.
|
|
*/
|
|
|
|
/* Genode includes */
|
|
#include <base/log.h>
|
|
|
|
using namespace Genode;
|
|
|
|
|
|
void Log::_acquire(Type type)
|
|
{
|
|
_lock.lock();
|
|
|
|
/*
|
|
* Mark warnings and errors via distinct colors.
|
|
*/
|
|
switch (type) {
|
|
case LOG: break;
|
|
case WARNING: _output.out_string("\033[34mWarning: "); break;
|
|
case ERROR: _output.out_string("\033[31mError: "); break;
|
|
};
|
|
}
|
|
|
|
|
|
void Log::_release()
|
|
{
|
|
/*
|
|
* Reset color and add newline
|
|
*/
|
|
_output.out_string("\033[0m\n");
|
|
|
|
_lock.unlock();
|
|
}
|
|
|
|
|
|
void Raw::_acquire()
|
|
{
|
|
/*
|
|
* Mark raw output with distinct color
|
|
*/
|
|
_output().out_string("\033[32mKernel: ");
|
|
}
|
|
|
|
|
|
void Raw::_release()
|
|
{
|
|
/*
|
|
* Reset color and add newline
|
|
*/
|
|
_output().out_string("\033[0m\n");
|
|
}
|
|
|
|
|
|
void Trace_output::_acquire()
|
|
{
|
|
_lock.lock();
|
|
}
|
|
|
|
|
|
void Trace_output::_release()
|
|
{
|
|
/*
|
|
* Add newline
|
|
*/
|
|
_output.out_string("\n");
|
|
|
|
_lock.unlock();
|
|
}
|