mirror of
https://github.com/DarkflameUniverse/DarkflameServer.git
synced 2025-12-08 00:58:26 +00:00
feat: add logger feature to log on function entry and exit (#1924)
* feat: add logger feature to log on function entry and exit * i didnt save the file
This commit is contained in:
@@ -96,3 +96,17 @@ bool Logger::GetLogToConsole() const {
|
|||||||
}
|
}
|
||||||
return toReturn;
|
return toReturn;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
FuncEntry::FuncEntry(const char* funcName, const char* fileName, const uint32_t line) {
|
||||||
|
m_FuncName = funcName;
|
||||||
|
if (!m_FuncName) m_FuncName = "Unknown";
|
||||||
|
m_Line = line;
|
||||||
|
m_FileName = fileName;
|
||||||
|
LOG("--> %s::%s:%i", m_FileName, m_FuncName, m_Line);
|
||||||
|
}
|
||||||
|
|
||||||
|
FuncEntry::~FuncEntry() {
|
||||||
|
if (!m_FuncName || !m_FileName) return;
|
||||||
|
|
||||||
|
LOG("<-- %s::%s:%i", m_FileName, m_FuncName, m_Line);
|
||||||
|
}
|
||||||
|
|||||||
@@ -32,6 +32,19 @@ constexpr const char* GetFileNameFromAbsolutePath(const char* path) {
|
|||||||
#define LOG(message, ...) do { auto str_ = FILENAME_AND_LINE; Game::logger->Log(str_, message, ##__VA_ARGS__); } while(0)
|
#define LOG(message, ...) do { auto str_ = FILENAME_AND_LINE; Game::logger->Log(str_, message, ##__VA_ARGS__); } while(0)
|
||||||
#define LOG_DEBUG(message, ...) do { auto str_ = FILENAME_AND_LINE; Game::logger->LogDebug(str_, message, ##__VA_ARGS__); } while(0)
|
#define LOG_DEBUG(message, ...) do { auto str_ = FILENAME_AND_LINE; Game::logger->LogDebug(str_, message, ##__VA_ARGS__); } while(0)
|
||||||
|
|
||||||
|
// Place this right at the start of a function. Will log a message when called and then once you leave the function.
|
||||||
|
#define LOG_ENTRY auto str_ = GetFileNameFromAbsolutePath(__FILE__); FuncEntry funcEntry_(__FUNCTION__, str_, __LINE__)
|
||||||
|
|
||||||
|
class FuncEntry {
|
||||||
|
public:
|
||||||
|
FuncEntry(const char* funcName, const char* fileName, const uint32_t line);
|
||||||
|
~FuncEntry();
|
||||||
|
private:
|
||||||
|
const char* m_FuncName = nullptr;
|
||||||
|
const char* m_FileName = nullptr;
|
||||||
|
uint32_t m_Line = 0;
|
||||||
|
};
|
||||||
|
|
||||||
// Writer class for writing data to files.
|
// Writer class for writing data to files.
|
||||||
class Writer {
|
class Writer {
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -10,7 +10,9 @@ void AndBehavior::Handle(BehaviorContext* context, RakNet::BitStream& bitStream,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void AndBehavior::Calculate(BehaviorContext* context, RakNet::BitStream& bitStream, const BehaviorBranchContext branch) {
|
void AndBehavior::Calculate(BehaviorContext* context, RakNet::BitStream& bitStream, const BehaviorBranchContext branch) {
|
||||||
|
LOG_ENTRY;
|
||||||
for (auto* behavior : this->m_behaviors) {
|
for (auto* behavior : this->m_behaviors) {
|
||||||
|
LOG("%i calculating %i", m_behaviorId, behavior->GetBehaviorID());
|
||||||
behavior->Calculate(context, bitStream, branch);
|
behavior->Calculate(context, bitStream, branch);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -95,4 +95,6 @@ public:
|
|||||||
|
|
||||||
Behavior& operator=(const Behavior& other) = default;
|
Behavior& operator=(const Behavior& other) = default;
|
||||||
Behavior& operator=(Behavior&& other) = default;
|
Behavior& operator=(Behavior&& other) = default;
|
||||||
|
|
||||||
|
uint32_t GetBehaviorID() const { return m_behaviorId; }
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user