mantis 8333: kept idea but my own code. With ini setting ConsoleHistoryTimeStamp set to true, the console history file will have timestamps. Im lazy date is in en-us culture for now. (robust also)
parent
a235a28132
commit
8ed4bee521
|
@ -850,7 +850,7 @@ namespace OpenSim.Groups
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!add && data == null) // it dosn't exist, can't update
|
if (!add && data == null) // it doesn't exist, can't update
|
||||||
{
|
{
|
||||||
m_log.DebugFormat("[Groups]: Group {0} doesn't exist. Can't update it", groupID);
|
m_log.DebugFormat("[Groups]: Group {0} doesn't exist. Can't update it", groupID);
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -46,6 +46,7 @@ namespace OpenSim.Framework.Console
|
||||||
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
private string m_historyPath;
|
private string m_historyPath;
|
||||||
private bool m_historyEnable;
|
private bool m_historyEnable;
|
||||||
|
private bool m_historytimestamps;
|
||||||
|
|
||||||
// private readonly object m_syncRoot = new object();
|
// private readonly object m_syncRoot = new object();
|
||||||
private const string LOGLEVEL_NONE = "(none)";
|
private const string LOGLEVEL_NONE = "(none)";
|
||||||
|
@ -98,15 +99,30 @@ namespace OpenSim.Framework.Console
|
||||||
string m_historyFile = startupConfig.GetString("ConsoleHistoryFile", "OpenSimConsoleHistory.txt");
|
string m_historyFile = startupConfig.GetString("ConsoleHistoryFile", "OpenSimConsoleHistory.txt");
|
||||||
int m_historySize = startupConfig.GetInt("ConsoleHistoryFileLines", 100);
|
int m_historySize = startupConfig.GetInt("ConsoleHistoryFileLines", 100);
|
||||||
m_historyPath = Path.GetFullPath(Path.Combine(Util.configDir(), m_historyFile));
|
m_historyPath = Path.GetFullPath(Path.Combine(Util.configDir(), m_historyFile));
|
||||||
m_log.InfoFormat("[LOCAL CONSOLE]: Persistent command line history is Enabled, up to {0} lines from file {1}", m_historySize, m_historyPath);
|
m_historytimestamps = startupConfig.GetBoolean("ConsoleHistoryTimeStamp", false);
|
||||||
|
m_log.InfoFormat("[LOCAL CONSOLE]: Persistent command line history is Enabled, up to {0} lines from file {1} {2} timestamps",
|
||||||
|
m_historySize, m_historyPath, m_historytimestamps?"with":"without");
|
||||||
|
|
||||||
if (File.Exists(m_historyPath))
|
if (File.Exists(m_historyPath))
|
||||||
{
|
{
|
||||||
|
List<string> originallines = new List<string>();
|
||||||
using (StreamReader history_file = new StreamReader(m_historyPath))
|
using (StreamReader history_file = new StreamReader(m_historyPath))
|
||||||
{
|
{
|
||||||
string line;
|
string line;
|
||||||
while ((line = history_file.ReadLine()) != null)
|
while ((line = history_file.ReadLine()) != null)
|
||||||
{
|
{
|
||||||
|
originallines.Add(line);
|
||||||
|
if(line.StartsWith("["))
|
||||||
|
{
|
||||||
|
int indx = line.IndexOf("]:> ");
|
||||||
|
if(indx > 0)
|
||||||
|
{
|
||||||
|
if(indx + 4 >= line.Length)
|
||||||
|
line = String.Empty;
|
||||||
|
else
|
||||||
|
line = line.Substring(indx + 4);
|
||||||
|
}
|
||||||
|
}
|
||||||
m_history.Add(line);
|
m_history.Add(line);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -114,11 +130,14 @@ namespace OpenSim.Framework.Console
|
||||||
if (m_history.Count > m_historySize)
|
if (m_history.Count > m_historySize)
|
||||||
{
|
{
|
||||||
while (m_history.Count > m_historySize)
|
while (m_history.Count > m_historySize)
|
||||||
|
{
|
||||||
m_history.RemoveAt(0);
|
m_history.RemoveAt(0);
|
||||||
|
originallines.RemoveAt(0);
|
||||||
|
}
|
||||||
|
|
||||||
using (StreamWriter history_file = new StreamWriter(m_historyPath))
|
using (StreamWriter history_file = new StreamWriter(m_historyPath))
|
||||||
{
|
{
|
||||||
foreach (string line in m_history)
|
foreach (string line in originallines)
|
||||||
{
|
{
|
||||||
history_file.WriteLine(line);
|
history_file.WriteLine(line);
|
||||||
}
|
}
|
||||||
|
@ -141,6 +160,8 @@ namespace OpenSim.Framework.Console
|
||||||
m_history.Add(text);
|
m_history.Add(text);
|
||||||
if (m_historyEnable)
|
if (m_historyEnable)
|
||||||
{
|
{
|
||||||
|
if (m_historytimestamps)
|
||||||
|
text = String.Format("[{0} {1}]:> {2}", DateTime.Now.ToShortDateString(), DateTime.Now.ToShortTimeString(), text);
|
||||||
File.AppendAllText(m_historyPath, text + Environment.NewLine);
|
File.AppendAllText(m_historyPath, text + Environment.NewLine);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue