mirror of
https://github.com/thunderbrewhq/squall.git
synced 2025-12-12 02:22:30 +00:00
refactor(log): restyle SLog
This commit is contained in:
parent
c83ae850a1
commit
57430d406f
2 changed files with 8 additions and 17 deletions
|
|
@ -23,12 +23,10 @@
|
||||||
#include <sys/syslimits.h>
|
#include <sys/syslimits.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#define STORM_LOG_MAX_CHANNELS 4
|
#define STORM_LOG_MAX_CHANNELS 4
|
||||||
#define STORM_LOG_MAX_BUFFER 0x10000
|
#define STORM_LOG_MAX_BUFFER 0x10000
|
||||||
#define STORM_LOG_FLUSH_POINT 0xC000
|
#define STORM_LOG_FLUSH_POINT 0xC000
|
||||||
|
|
||||||
|
|
||||||
#if defined(WHOA_SYSTEM_WIN)
|
#if defined(WHOA_SYSTEM_WIN)
|
||||||
typedef SYSTEMTIME SLOGTIME;
|
typedef SYSTEMTIME SLOGTIME;
|
||||||
#else
|
#else
|
||||||
|
|
@ -44,7 +42,6 @@ typedef struct _SLOGTIME {
|
||||||
} SLOGTIME;
|
} SLOGTIME;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
typedef struct _LOG {
|
typedef struct _LOG {
|
||||||
HSLOG log;
|
HSLOG log;
|
||||||
_LOG* next;
|
_LOG* next;
|
||||||
|
|
@ -58,7 +55,6 @@ typedef struct _LOG {
|
||||||
char buffer[STORM_LOG_MAX_BUFFER];
|
char buffer[STORM_LOG_MAX_BUFFER];
|
||||||
} LOG;
|
} LOG;
|
||||||
|
|
||||||
|
|
||||||
static SCritSect* s_critsect[STORM_LOG_MAX_CHANNELS] = { nullptr };
|
static SCritSect* s_critsect[STORM_LOG_MAX_CHANNELS] = { nullptr };
|
||||||
static SCritSect* s_defaultdir_critsect = nullptr;
|
static SCritSect* s_defaultdir_critsect = nullptr;
|
||||||
|
|
||||||
|
|
@ -68,7 +64,6 @@ static HSLOG s_sequence = 0;
|
||||||
static char s_defaultdir[STORM_MAX_PATH] = { '\0' };
|
static char s_defaultdir[STORM_MAX_PATH] = { '\0' };
|
||||||
static bool s_logsysteminit = false;
|
static bool s_logsysteminit = false;
|
||||||
|
|
||||||
|
|
||||||
static LOG* LockLog(HSLOG log, HLOCKEDLOG* lockedhandle, bool createifnecessary) {
|
static LOG* LockLog(HSLOG log, HLOCKEDLOG* lockedhandle, bool createifnecessary) {
|
||||||
if (!log) {
|
if (!log) {
|
||||||
*lockedhandle = (HLOCKEDLOG)-1;
|
*lockedhandle = (HLOCKEDLOG)-1;
|
||||||
|
|
@ -320,7 +315,7 @@ static bool OpenLogFile(const char* filename, FILE** file, uint32_t flags) {
|
||||||
char newfilename[STORM_MAX_PATH];
|
char newfilename[STORM_MAX_PATH];
|
||||||
PrependDefaultDir(newfilename, STORM_MAX_PATH, filename);
|
PrependDefaultDir(newfilename, STORM_MAX_PATH, filename);
|
||||||
CreateFileDirectory(newfilename);
|
CreateFileDirectory(newfilename);
|
||||||
*file = fopen(newfilename, (flags & SLOG_FLAG_APPEND) ? "ab" : "wb");
|
*file = fopen(newfilename, (flags & STORM_LOG_FLAG_APPEND) ? "ab" : "wb");
|
||||||
return (*file != nullptr);
|
return (*file != nullptr);
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -478,12 +473,12 @@ int SLogCreate(const char* filename, uint32_t flags, HSLOG* log) {
|
||||||
|
|
||||||
*log = 0;
|
*log = 0;
|
||||||
|
|
||||||
if (flags & SLOG_FLAG_NO_FILE) {
|
if (flags & STORM_LOG_FLAG_NO_FILE) {
|
||||||
filename = "";
|
filename = "";
|
||||||
flags &= ~SLOG_FLAG_OPEN_FILE;
|
flags &= ~STORM_LOG_FLAG_OPEN_FILE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((flags & SLOG_FLAG_OPEN_FILE) == 0 || OpenLogFile(filename, &file, flags)) {
|
if ((flags & STORM_LOG_FLAG_OPEN_FILE) == 0 || OpenLogFile(filename, &file, flags)) {
|
||||||
s_sequence = reinterpret_cast<HSLOG>(reinterpret_cast<size_t>(s_sequence) + 1);
|
s_sequence = reinterpret_cast<HSLOG>(reinterpret_cast<size_t>(s_sequence) + 1);
|
||||||
*log = s_sequence;
|
*log = s_sequence;
|
||||||
LOG* result = LockLog(s_sequence, &lockedhandle, true);
|
LOG* result = LockLog(s_sequence, &lockedhandle, true);
|
||||||
|
|
|
||||||
|
|
@ -1,23 +1,20 @@
|
||||||
#ifndef STORM_LOG_HPP
|
#ifndef STORM_LOG_HPP
|
||||||
#define STORM_LOG_HPP
|
#define STORM_LOG_HPP
|
||||||
|
|
||||||
|
|
||||||
#include <cstdarg>
|
#include <cstdarg>
|
||||||
#include <cstdint>
|
#include <cstdint>
|
||||||
|
|
||||||
#include "storm/Handle.hpp"
|
#include "storm/Handle.hpp"
|
||||||
#include "storm/String.hpp"
|
#include "storm/String.hpp"
|
||||||
|
|
||||||
|
#define STORM_LOG_FLAG_DEFAULT 0 // Create or open log file with first SLogWrite() call
|
||||||
#define SLOG_FLAG_DEFAULT 0 // Create or open log file with first SLogWrite() call
|
#define STORM_LOG_FLAG_OPEN_FILE 1 // Create or open log file with SLogCreate()
|
||||||
#define SLOG_FLAG_OPEN_FILE 1 // Create or open log file with SLogCreate()
|
#define STORM_LOG_FLAG_NO_FILE 2 // Don't use log file (use OutputDebugString or console only)
|
||||||
#define SLOG_FLAG_NO_FILE 2 // Don't use log file (use OutputDebugString or console only)
|
#define STORM_LOG_FLAG_APPEND 4 // Don't truncate existing log file
|
||||||
#define SLOG_FLAG_APPEND 4 // Don't truncate existing log file
|
|
||||||
|
|
||||||
DECLARE_STRICT_HANDLE(HSLOG);
|
DECLARE_STRICT_HANDLE(HSLOG);
|
||||||
DECLARE_STRICT_HANDLE(HLOCKEDLOG);
|
DECLARE_STRICT_HANDLE(HLOCKEDLOG);
|
||||||
|
|
||||||
|
|
||||||
void SLogInitialize();
|
void SLogInitialize();
|
||||||
int SLogIsInitialized();
|
int SLogIsInitialized();
|
||||||
void SLogDestroy();
|
void SLogDestroy();
|
||||||
|
|
@ -32,5 +29,4 @@ int32_t SLogSetIndent(HSLOG log, int32_t deltaIndent);
|
||||||
void SLogVWrite(HSLOG log, const char* format, va_list arglist);
|
void SLogVWrite(HSLOG log, const char* format, va_list arglist);
|
||||||
void SLogWrite(HSLOG log, const char* format, ...);
|
void SLogWrite(HSLOG log, const char* format, ...);
|
||||||
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue