From 5c040e78bbdc06d56edce9244df378b8d2e7d2ab 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 606453a4fd..d2789a7ef4 100644 --- a/src/cpp/ripple/ripple_Main.cpp +++ b/src/cpp/ripple/ripple_Main.cpp @@ -299,7 +299,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;