Files
unitreeApp/unitree_SDK/include/unitree/common/log/log_store.hpp

77 lines
1.4 KiB
C++
Raw Normal View History

2025-09-24 10:53:28 +08:00
#ifndef __LOG_STORE_HPP__
#define __LOG_STORE_HPP__
#include <unitree/common/log/log_writer.hpp>
#include <unitree/common/log/log_keeper.hpp>
namespace unitree
{
namespace common
{
class LogStore
{
public:
explicit LogStore()
{}
virtual ~LogStore()
{
mWriterPtr.reset();
}
virtual void Append(const std::string& s) = 0;
protected:
LogWriterPtr mWriterPtr;
};
typedef std::shared_ptr<LogStore> LogStorePtr;
class LogStdoutStore : public LogStore
{
public:
explicit LogStdoutStore();
~LogStdoutStore();
void Append(const std::string& s);
};
typedef std::shared_ptr<LogStdoutStore> LogStdoutStorePtr;
class LogStderrStore : public LogStore
{
public:
explicit LogStderrStore();
~LogStderrStore();
void Append(const std::string& s);
};
typedef std::shared_ptr<LogStderrStore> LogStderrStorePtr;
class LogFileStore : public LogStore
{
public:
explicit LogFileStore(LogKeeperPtr keeperPtr);
~LogFileStore();
void Append(const std::string& s);
};
typedef std::shared_ptr<LogFileStore> LogFileStorePtr;
class LogFileAsyncStore : public LogStore
{
public:
explicit LogFileAsyncStore(LogKeeperPtr keeperPtr);
~LogFileAsyncStore();
void Append(const std::string& s);
};
typedef std::shared_ptr<LogFileAsyncStore> LogFileAsyncStorePtr;
}
}
#endif//__LOG_STORE_HPP__