WebStats will now use actual logfile as specified in OpenSim.exe.config rather than hardcoded ./OpenSim.log. This allows for rotating logs and other file appender types
parent
e210dc188a
commit
251a70338a
|
@ -45,6 +45,7 @@ using System.Text.RegularExpressions;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using log4net;
|
using log4net;
|
||||||
|
using log4net.Appender;
|
||||||
using Nini.Config;
|
using Nini.Config;
|
||||||
using Nwc.XmlRpc;
|
using Nwc.XmlRpc;
|
||||||
using OpenMetaverse;
|
using OpenMetaverse;
|
||||||
|
@ -797,9 +798,22 @@ namespace OpenSim.Framework
|
||||||
return ".";
|
return ".";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string logFile()
|
||||||
|
{
|
||||||
|
foreach (IAppender appender in LogManager.GetRepository().GetAppenders())
|
||||||
|
{
|
||||||
|
if (appender is FileAppender)
|
||||||
|
{
|
||||||
|
return ((FileAppender)appender).File;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return "./OpenSim.log";
|
||||||
|
}
|
||||||
|
|
||||||
public static string logDir()
|
public static string logDir()
|
||||||
{
|
{
|
||||||
return ".";
|
return Path.GetDirectoryName(logFile());
|
||||||
}
|
}
|
||||||
|
|
||||||
// From: http://coercedcode.blogspot.com/2008/03/c-generate-unique-filenames-within.html
|
// From: http://coercedcode.blogspot.com/2008/03/c-generate-unique-filenames-within.html
|
||||||
|
|
|
@ -363,7 +363,7 @@ namespace OpenSim.Region.UserStatistics
|
||||||
Encoding encoding = Encoding.ASCII;
|
Encoding encoding = Encoding.ASCII;
|
||||||
int sizeOfChar = encoding.GetByteCount("\n");
|
int sizeOfChar = encoding.GetByteCount("\n");
|
||||||
byte[] buffer = encoding.GetBytes("\n");
|
byte[] buffer = encoding.GetBytes("\n");
|
||||||
string logfile = Util.logDir() + "/" + "OpenSim.log";
|
string logfile = Util.logFile();
|
||||||
FileStream fs = new FileStream(logfile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
|
FileStream fs = new FileStream(logfile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
|
||||||
Int64 tokenCount = 0;
|
Int64 tokenCount = 0;
|
||||||
Int64 endPosition = fs.Length / sizeOfChar;
|
Int64 endPosition = fs.Length / sizeOfChar;
|
||||||
|
|
Loading…
Reference in New Issue