Please to be testing new logdata interfaces!
parent
24f613d244
commit
54cf59ca43
|
@ -31,6 +31,11 @@ namespace OpenGrid.Framework.Data.MySQL
|
||||||
return "MySQL Logdata Interface";
|
return "MySQL Logdata Interface";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Close()
|
||||||
|
{
|
||||||
|
// Do nothing.
|
||||||
|
}
|
||||||
|
|
||||||
public string getVersion()
|
public string getVersion()
|
||||||
{
|
{
|
||||||
return "0.1";
|
return "0.1";
|
||||||
|
|
|
@ -16,5 +16,27 @@ namespace OpenGrid.Framework.Data
|
||||||
public interface ILogData
|
public interface ILogData
|
||||||
{
|
{
|
||||||
void saveLog(string serverDaemon, string target, string methodCall, string arguments, int priority,string logMessage);
|
void saveLog(string serverDaemon, string target, string methodCall, string arguments, int priority,string logMessage);
|
||||||
|
/// <summary>
|
||||||
|
/// Initialises the interface
|
||||||
|
/// </summary>
|
||||||
|
void Initialise();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Closes the interface
|
||||||
|
/// </summary>
|
||||||
|
void Close();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The plugin being loaded
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>A string containing the plugin name</returns>
|
||||||
|
string getName();
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// The plugins version
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>A string containing the plugin version</returns>
|
||||||
|
string getVersion();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,6 +16,8 @@ namespace OpenGridServices.GridServer
|
||||||
class GridManager
|
class GridManager
|
||||||
{
|
{
|
||||||
Dictionary<string, IGridData> _plugins = new Dictionary<string, IGridData>();
|
Dictionary<string, IGridData> _plugins = new Dictionary<string, IGridData>();
|
||||||
|
Dictionary<string, ILogData> _logplugins = new Dictionary<string, ILogData>();
|
||||||
|
|
||||||
public OpenSim.Framework.Interfaces.GridConfig config;
|
public OpenSim.Framework.Interfaces.GridConfig config;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -32,6 +34,7 @@ namespace OpenGridServices.GridServer
|
||||||
{
|
{
|
||||||
if (!pluginType.IsAbstract)
|
if (!pluginType.IsAbstract)
|
||||||
{
|
{
|
||||||
|
// Regions go here
|
||||||
Type typeInterface = pluginType.GetInterface("IGridData", true);
|
Type typeInterface = pluginType.GetInterface("IGridData", true);
|
||||||
|
|
||||||
if (typeInterface != null)
|
if (typeInterface != null)
|
||||||
|
@ -43,12 +46,48 @@ namespace OpenGridServices.GridServer
|
||||||
}
|
}
|
||||||
|
|
||||||
typeInterface = null;
|
typeInterface = null;
|
||||||
|
|
||||||
|
// Logs go here
|
||||||
|
typeInterface = pluginType.GetInterface("ILogData", true);
|
||||||
|
|
||||||
|
if (typeInterface != null)
|
||||||
|
{
|
||||||
|
ILogData plug = (ILogData)Activator.CreateInstance(pluginAssembly.GetType(pluginType.ToString()));
|
||||||
|
plug.Initialise();
|
||||||
|
this._logplugins.Add(plug.getName(), plug);
|
||||||
|
OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Storage: Added ILogData Interface");
|
||||||
|
}
|
||||||
|
|
||||||
|
typeInterface = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
pluginAssembly = null;
|
pluginAssembly = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Logs a piece of information to the database
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="target">What you were operating on (in grid server, this will likely be the region UUIDs)</param>
|
||||||
|
/// <param name="method">Which method is being called?</param>
|
||||||
|
/// <param name="args">What arguments are being passed?</param>
|
||||||
|
/// <param name="priority">How high priority is this? 1 = Max, 6 = Verbose</param>
|
||||||
|
/// <param name="message">The message to log</param>
|
||||||
|
private void logToDB(string target, string method, string args, int priority, string message)
|
||||||
|
{
|
||||||
|
foreach (KeyValuePair<string, ILogData> kvp in _logplugins)
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
kvp.Value.saveLog("Gridserver", target, method, args, priority, message);
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.NORMAL, "Storage: unable to write log via " + kvp.Key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Returns a region by argument
|
/// Returns a region by argument
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -160,15 +199,23 @@ namespace OpenGridServices.GridServer
|
||||||
if (requestData.ContainsKey("UUID"))
|
if (requestData.ContainsKey("UUID"))
|
||||||
{
|
{
|
||||||
TheSim = getRegion(new LLUUID((string)requestData["UUID"]));
|
TheSim = getRegion(new LLUUID((string)requestData["UUID"]));
|
||||||
|
logToDB((new LLUUID((string)requestData["UUID"])).ToStringHyphenated(),"XmlRpcLoginToSimulatorMethod","", 5,"Region attempting login with UUID.");
|
||||||
}
|
}
|
||||||
else if (requestData.ContainsKey("region_handle"))
|
else if (requestData.ContainsKey("region_handle"))
|
||||||
{
|
{
|
||||||
TheSim = getRegion((ulong)Convert.ToUInt64(requestData["region_handle"]));
|
TheSim = getRegion((ulong)Convert.ToUInt64(requestData["region_handle"]));
|
||||||
|
logToDB((string)requestData["region_handle"], "XmlRpcLoginToSimulatorMethod", "", 5, "Region attempting login with regionHandle.");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
responseData["error"] = "No UUID or region_handle passed to grid server - unable to connect you";
|
||||||
|
return response;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (TheSim == null)
|
if (TheSim == null)
|
||||||
{
|
{
|
||||||
responseData["error"] = "sim not found";
|
responseData["error"] = "sim not found";
|
||||||
|
return response;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -366,7 +413,7 @@ namespace OpenGridServices.GridServer
|
||||||
/// <returns>"OK" or an error</returns>
|
/// <returns>"OK" or an error</returns>
|
||||||
public string RestSetSimMethod(string request, string path, string param)
|
public string RestSetSimMethod(string request, string path, string param)
|
||||||
{
|
{
|
||||||
Console.WriteLine("SimProfiles.cs:RestSetSimMethod() - processing request......");
|
Console.WriteLine("Processing region update");
|
||||||
SimProfileData TheSim;
|
SimProfileData TheSim;
|
||||||
TheSim = getRegion(new LLUUID(param));
|
TheSim = getRegion(new LLUUID(param));
|
||||||
if ((TheSim) == null)
|
if ((TheSim) == null)
|
||||||
|
@ -449,13 +496,14 @@ namespace OpenGridServices.GridServer
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Attempting to add a new region to the grid - " + _plugins.Count + " storage provider(s) registered.");
|
OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"Updating / adding via " + _plugins.Count + " storage provider(s) registered.");
|
||||||
foreach (KeyValuePair<string, IGridData> kvp in _plugins)
|
foreach (KeyValuePair<string, IGridData> kvp in _plugins)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
kvp.Value.AddProfile(TheSim);
|
kvp.Value.AddProfile(TheSim);
|
||||||
OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"New sim added to grid (" + TheSim.regionName + ")");
|
OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW,"New sim added to grid (" + TheSim.regionName + ")");
|
||||||
|
logToDB(TheSim.UUID.ToStringHyphenated(), "RestSetSimMethod", "", 5, "Region successfully updated and connected to grid.");
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue