From 31f6d2fc8b3e0904e618fca36bb58db8a00cf959 Mon Sep 17 00:00:00 2001 From: JoelKatz Date: Sun, 21 Jul 2013 23:11:49 -0700 Subject: [PATCH] Properly rotate logfiles on sustain. --- modules/ripple_basics/utility/ripple_Sustain.cpp | 8 +++++--- modules/ripple_basics/utility/ripple_Sustain.h | 2 +- src/cpp/ripple/ripple_Main.cpp | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/modules/ripple_basics/utility/ripple_Sustain.cpp b/modules/ripple_basics/utility/ripple_Sustain.cpp index a5b0b88e43..ac6514490d 100644 --- a/modules/ripple_basics/utility/ripple_Sustain.cpp +++ b/modules/ripple_basics/utility/ripple_Sustain.cpp @@ -34,7 +34,7 @@ std::string StopSustain () return "Terminating monitor"; } -std::string DoSustain () +std::string DoSustain (std::string logFile) { int childCount = 0; pManager = getpid (); @@ -72,7 +72,9 @@ std::string DoSustain () while (kill (pChild, 0) == 0); rename ("core", boost::str (boost::format ("core.%d") % static_cast (pChild)).c_str ()); - rename ("debug.log", boost::str (boost::format ("debug.log.%d") % static_cast (pChild)).c_str ()); + if (!logFile.empty()) + rename (logFile.c_str(), + boost::str (boost::format ("%s.%d") % logFile % static_cast (pChild)).c_str ()); } } @@ -82,7 +84,7 @@ bool HaveSustain () { return false; } -std::string DoSustain () +std::string DoSustain (std::string) { return std::string (); } diff --git a/modules/ripple_basics/utility/ripple_Sustain.h b/modules/ripple_basics/utility/ripple_Sustain.h index 2c2a2ce46b..cbd542266c 100644 --- a/modules/ripple_basics/utility/ripple_Sustain.h +++ b/modules/ripple_basics/utility/ripple_Sustain.h @@ -15,6 +15,6 @@ // extern bool HaveSustain (); extern std::string StopSustain (); -extern std::string DoSustain (); +extern std::string DoSustain (std::string logFile); #endif diff --git a/src/cpp/ripple/ripple_Main.cpp b/src/cpp/ripple/ripple_Main.cpp index bc200b8ede..40f8dbf68f 100644 --- a/src/cpp/ripple/ripple_Main.cpp +++ b/src/cpp/ripple/ripple_Main.cpp @@ -243,7 +243,7 @@ int rippleMain (int argc, char** argv) if (HaveSustain () && !iResult && !vm.count ("parameters") && !vm.count ("fg") && !vm.count ("standalone") && !vm.count ("unittest")) { - std::string logMe = DoSustain (); + std::string logMe = DoSustain (theConfig.DEBUG_LOGFILE.c_str()); if (!logMe.empty ()) Log (lsWARNING) << logMe;