mirror of
https://github.com/dashpay/dash.git
synced 2024-12-27 21:12:48 +01:00
Increase minimum debug.log size to 10MB after shrink.
This commit is contained in:
parent
1ac878ace6
commit
29fb311858
@ -1149,8 +1149,11 @@ bool AppInitMain(boost::thread_group& threadGroup, CScheduler& scheduler)
|
|||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
CreatePidFile(GetPidFile(), getpid());
|
CreatePidFile(GetPidFile(), getpid());
|
||||||
#endif
|
#endif
|
||||||
if (GetBoolArg("-shrinkdebugfile", !fDebug))
|
if (GetBoolArg("-shrinkdebugfile", !fDebug)) {
|
||||||
|
// Do this first since it both loads a bunch of debug.log into memory,
|
||||||
|
// and because this needs to happen before any other debug.log printing
|
||||||
ShrinkDebugFile();
|
ShrinkDebugFile();
|
||||||
|
}
|
||||||
|
|
||||||
if (fPrintToDebugLog)
|
if (fPrintToDebugLog)
|
||||||
OpenDebugLog();
|
OpenDebugLog();
|
||||||
|
@ -723,13 +723,17 @@ void AllocateFileRange(FILE *file, unsigned int offset, unsigned int length) {
|
|||||||
|
|
||||||
void ShrinkDebugFile()
|
void ShrinkDebugFile()
|
||||||
{
|
{
|
||||||
|
// Amount of debug.log to save at end when shrinking (must fit in memory)
|
||||||
|
constexpr size_t RECENT_DEBUG_HISTORY_SIZE = 10 * 1000000;
|
||||||
// Scroll debug.log if it's getting too big
|
// Scroll debug.log if it's getting too big
|
||||||
boost::filesystem::path pathLog = GetDataDir() / "debug.log";
|
boost::filesystem::path pathLog = GetDataDir() / "debug.log";
|
||||||
FILE* file = fopen(pathLog.string().c_str(), "r");
|
FILE* file = fopen(pathLog.string().c_str(), "r");
|
||||||
if (file && boost::filesystem::file_size(pathLog) > 10 * 1000000)
|
// If debug.log file is more than 10% bigger the RECENT_DEBUG_HISTORY_SIZE
|
||||||
|
// trim it down by saving only the last RECENT_DEBUG_HISTORY_SIZE bytes
|
||||||
|
if (file && boost::filesystem::file_size(pathLog) > 11 * (RECENT_DEBUG_HISTORY_SIZE / 10))
|
||||||
{
|
{
|
||||||
// Restart the file with some of the end
|
// Restart the file with some of the end
|
||||||
std::vector <char> vch(200000,0);
|
std::vector<char> vch(RECENT_DEBUG_HISTORY_SIZE, 0);
|
||||||
fseek(file, -((long)vch.size()), SEEK_END);
|
fseek(file, -((long)vch.size()), SEEK_END);
|
||||||
int nBytes = fread(vch.data(), 1, vch.size(), file);
|
int nBytes = fread(vch.data(), 1, vch.size(), file);
|
||||||
fclose(file);
|
fclose(file);
|
||||||
|
Loading…
Reference in New Issue
Block a user