Logger refactoring
This commit is contained in:
parent
654c1b031a
commit
944038c9d0
5
program/SVET/.vscode/settings.json
vendored
Normal file
5
program/SVET/.vscode/settings.json
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{
|
||||||
|
"files.associations": {
|
||||||
|
"string": "cpp"
|
||||||
|
}
|
||||||
|
}
|
@ -1,5 +1,6 @@
|
|||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
#include "Logger.h"
|
#include "Logger.h"
|
||||||
|
#include "PerepheryCore/SerialCore.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Implementation of Logger instance. Docs on Logger.h
|
* Implementation of Logger instance. Docs on Logger.h
|
||||||
@ -17,12 +18,12 @@ Logger::Logger(
|
|||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Serial.begin(baudRate);
|
SerialCore::Start(baudRate);
|
||||||
}
|
}
|
||||||
|
|
||||||
Logger::~Logger()
|
Logger::~Logger()
|
||||||
{
|
{
|
||||||
Serial.end();
|
SerialCore::Stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *Logger::messageTypeToString(MessageType messageType)
|
const char *Logger::messageTypeToString(MessageType messageType)
|
||||||
@ -57,50 +58,31 @@ std::string Logger::getMessage(MessageType messageType, char *text, char *initia
|
|||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Logger::sendMessage(char *data, SerialColor color)
|
||||||
|
{
|
||||||
|
SerialCore::SetColor(color);
|
||||||
|
SerialCore::SendLine(data);
|
||||||
|
SerialCore::SetColor(WHITE);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Logger::sendMessage(const char *data, SerialColor color)
|
||||||
|
{
|
||||||
|
SerialCore::SetColor(color);
|
||||||
|
SerialCore::SendLine(data);
|
||||||
|
SerialCore::SetColor(WHITE);
|
||||||
|
}
|
||||||
|
|
||||||
void Logger::Info(char *data, char *initiator)
|
void Logger::Info(char *data, char *initiator)
|
||||||
{
|
{
|
||||||
// TODO: check core and user level
|
sendMessage(getMessage(MessageType::INFO, data, initiator).c_str(), WHITE);
|
||||||
if (UseColor)
|
|
||||||
{
|
|
||||||
Serial.write(27);
|
|
||||||
Serial.print("[37m"); // White color
|
|
||||||
}
|
|
||||||
Serial.println(getMessage(MessageType::INFO, data, initiator).c_str());
|
|
||||||
if (UseColor)
|
|
||||||
{
|
|
||||||
Serial.write(27);
|
|
||||||
Serial.print("[37m");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Logger::Warn(char *data, char *initiator)
|
void Logger::Warn(char *data, char *initiator)
|
||||||
{
|
{
|
||||||
// TODO: check core and user level
|
sendMessage(getMessage(MessageType::WARN, data, initiator).c_str(), ORANGE);
|
||||||
if (UseColor)
|
|
||||||
{
|
|
||||||
Serial.write(27);
|
|
||||||
Serial.print("[33m"); // Orange color
|
|
||||||
}
|
|
||||||
Serial.println(getMessage(MessageType::WARN, data, initiator).c_str());
|
|
||||||
if (UseColor)
|
|
||||||
{
|
|
||||||
Serial.write(27);
|
|
||||||
Serial.print("[37m");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void Logger::Error(char *data, char *initiator)
|
void Logger::Error(char *data, char *initiator)
|
||||||
{
|
{
|
||||||
// TODO: check core and user level
|
sendMessage(getMessage(MessageType::ERROR, data, initiator).c_str(), RED);
|
||||||
if (UseColor)
|
|
||||||
{
|
|
||||||
Serial.write(27);
|
|
||||||
Serial.print("[31m"); // Red color
|
|
||||||
}
|
|
||||||
Serial.println(getMessage(MessageType::ERROR, data, initiator).c_str());
|
|
||||||
if (UseColor)
|
|
||||||
{
|
|
||||||
Serial.write(27);
|
|
||||||
Serial.print("[37m");
|
|
||||||
}
|
|
||||||
}
|
}
|
@ -1,25 +1,14 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
#include "SerialColor.h"
|
||||||
|
#include "MessageType.h"
|
||||||
/*
|
/*
|
||||||
* Definition of Logger instance.
|
* Definition of Logger instance.
|
||||||
* Writed on 14.06.2024 21:11
|
* Writed on 14.06.2024 21:11
|
||||||
* By Lisoveliy
|
* By Lisoveliy
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// Next briefs added for set logger statuses, not explaining logger work!
|
|
||||||
/// @brief Type of messages for logger
|
|
||||||
enum MessageType
|
|
||||||
{
|
|
||||||
/// @brief For info, warn and error messages (default)
|
|
||||||
INFO,
|
|
||||||
/// @brief For warn and error messages
|
|
||||||
WARN,
|
|
||||||
/// @brief For only error messages
|
|
||||||
ERROR,
|
|
||||||
/// @brief For disable logger
|
|
||||||
NONE
|
|
||||||
};
|
|
||||||
|
|
||||||
/// @brief Logger instance for messages on Serial port
|
/// @brief Logger instance for messages on Serial port
|
||||||
class Logger
|
class Logger
|
||||||
{
|
{
|
||||||
@ -30,6 +19,8 @@ private:
|
|||||||
|
|
||||||
const char *messageTypeToString(MessageType messageType);
|
const char *messageTypeToString(MessageType messageType);
|
||||||
std::string getMessage(MessageType messageType, char *text, char *initiator);
|
std::string getMessage(MessageType messageType, char *text, char *initiator);
|
||||||
|
void sendMessage(char *output, SerialColor color);
|
||||||
|
void sendMessage(const char *output, SerialColor color);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/// @brief Create instance of logger
|
/// @brief Create instance of logger
|
||||||
|
15
program/SVET/lib/SVET/Logger/MessageType.h
Normal file
15
program/SVET/lib/SVET/Logger/MessageType.h
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
// Next briefs added for set logger statuses, not explaining logger work!
|
||||||
|
/// @brief Type of messages for logger
|
||||||
|
enum MessageType
|
||||||
|
{
|
||||||
|
/// @brief For info, warn and error messages (default)
|
||||||
|
INFO,
|
||||||
|
/// @brief For warn and error messages
|
||||||
|
WARN,
|
||||||
|
/// @brief For only error messages
|
||||||
|
ERROR,
|
||||||
|
/// @brief For disable logger
|
||||||
|
NONE
|
||||||
|
};
|
12
program/SVET/lib/SVET/Logger/SerialColor.h
Normal file
12
program/SVET/lib/SVET/Logger/SerialColor.h
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
/// @brief Color of serial output
|
||||||
|
enum SerialColor
|
||||||
|
{
|
||||||
|
/// @brief White color
|
||||||
|
WHITE,
|
||||||
|
/// @brief Red color
|
||||||
|
RED,
|
||||||
|
/// @brief Orange color
|
||||||
|
ORANGE
|
||||||
|
};
|
65
program/SVET/lib/SVET/PerepheryCore/SerialCore.h
Normal file
65
program/SVET/lib/SVET/PerepheryCore/SerialCore.h
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "Logger/SerialColor.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Definition of SerialCore.
|
||||||
|
* Writed on 15.06.2024 14:11
|
||||||
|
* By Lisoveliy
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace SerialCore
|
||||||
|
{
|
||||||
|
void Start(short baudRate);
|
||||||
|
void Stop();
|
||||||
|
void SendLine(char *data);
|
||||||
|
void SendLine(const char *data);
|
||||||
|
void SetColor(SerialColor color);
|
||||||
|
const char *GetEscapeColor(SerialColor color);
|
||||||
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Implementation of SerialCore.
|
||||||
|
* Writed on 15.06.2024 14:12
|
||||||
|
* By Lisoveliy
|
||||||
|
*/
|
||||||
|
|
||||||
|
void SerialCore::Start(short baudRate)
|
||||||
|
{
|
||||||
|
Serial.begin(baudRate);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SerialCore::Stop()
|
||||||
|
{
|
||||||
|
Serial.end();
|
||||||
|
}
|
||||||
|
|
||||||
|
void SerialCore::SendLine(char *data)
|
||||||
|
{
|
||||||
|
Serial.println(data);
|
||||||
|
}
|
||||||
|
void SerialCore::SendLine(const char *data)
|
||||||
|
{
|
||||||
|
Serial.println(data);
|
||||||
|
}
|
||||||
|
|
||||||
|
void SerialCore::SetColor(SerialColor color)
|
||||||
|
{
|
||||||
|
Serial.write(27);
|
||||||
|
Serial.print(GetEscapeColor(color)); // White color
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *SerialCore::GetEscapeColor(SerialColor color)
|
||||||
|
{
|
||||||
|
switch (color)
|
||||||
|
{
|
||||||
|
case SerialColor::WHITE:
|
||||||
|
return "[37m";
|
||||||
|
case SerialColor::ORANGE:
|
||||||
|
return "[33m";
|
||||||
|
case SerialColor::RED:
|
||||||
|
return "[31m";
|
||||||
|
default:
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
}
|
@ -1,5 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "SVETBuilder/SVETBuilder.h"
|
#include "SVETBuilder/SVETBuilder.h"
|
||||||
|
#include "Logger/Logger.h"
|
||||||
#include <memory>
|
#include <memory>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include "options/LoggerOptions/LoggerOptions.h"
|
#include "options/LoggerOptions/LoggerOptions.h"
|
||||||
#include <memory>
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Definition of SVETBuilder.
|
* Definition of SVETBuilder.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <Logger/Logger.h>
|
#include "Logger/MessageType.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Definition of Logger Options.
|
* Definition of Logger Options.
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
#include <Arduino.h>
|
#include <Arduino.h>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include "SVETBuilder/SVETBuilder.h"
|
|
||||||
#include "SVET.h"
|
#include "SVET.h"
|
||||||
|
|
||||||
std::unique_ptr<SVET> svet;
|
std::unique_ptr<SVET> svet;
|
||||||
@ -15,9 +14,9 @@ void setup()
|
|||||||
|
|
||||||
void loop()
|
void loop()
|
||||||
{
|
{
|
||||||
logger->Info("Hello", "main.cpp");
|
|
||||||
logger->Warn("Warn asd", "main.cpp");
|
|
||||||
logger->Error("Warferr", "main.cpp");
|
|
||||||
delay(1000);
|
delay(1000);
|
||||||
|
logger->Info("Hello INFO", "main.cpp");
|
||||||
|
logger->Warn("Hello WARN", "main.cpp");
|
||||||
|
logger->Error("Hello ERROR", "main.cpp");
|
||||||
svet->Loop();
|
svet->Loop();
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user