Files
allwpilib/cscore/src/main/native/cpp/Log.cpp

46 lines
1.4 KiB
C++
Raw Normal View History

2016-09-05 12:00:36 -07:00
/*----------------------------------------------------------------------------*/
2018-01-02 09:16:20 -08:00
/* Copyright (c) 2016-2018 FIRST. All Rights Reserved. */
2016-09-05 12:00:36 -07:00
/* Open Source Software - may be modified and shared by FRC teams. The code */
/* must be accompanied by the FIRST BSD license file in the root directory of */
/* the project. */
/*----------------------------------------------------------------------------*/
#include "Log.h"
#include <wpi/Path.h>
#include <wpi/SmallString.h>
#include <wpi/StringRef.h>
#include <wpi/raw_ostream.h>
2016-09-05 12:00:36 -07:00
using namespace cs;
static void def_log_func(unsigned int level, const char* file,
unsigned int line, const char* msg) {
wpi::SmallString<128> buf;
wpi::raw_svector_ostream oss(buf);
2016-09-05 12:00:36 -07:00
if (level == 20) {
oss << "CS: " << msg << '\n';
wpi::errs() << oss.str();
2016-09-05 12:00:36 -07:00
return;
}
wpi::StringRef levelmsg;
2016-09-05 12:00:36 -07:00
if (level >= 50)
levelmsg = "CRITICAL: ";
2016-09-05 12:00:36 -07:00
else if (level >= 40)
levelmsg = "ERROR: ";
2016-09-05 12:00:36 -07:00
else if (level >= 30)
levelmsg = "WARNING: ";
2016-09-05 12:00:36 -07:00
else
return;
oss << "CS: " << levelmsg << msg << " (" << wpi::sys::path::filename(file)
<< ':' << line << ")\n";
wpi::errs() << oss.str();
2016-09-05 12:00:36 -07:00
}
Logger::Logger() { SetDefaultLogger(); }
2016-09-05 12:00:36 -07:00
Logger::~Logger() {}
void Logger::SetDefaultLogger() { SetLogger(def_log_func); }