public void Write(object message, ICollection <string> categories, int priority, int eventId, TraceEventType severity, string title, IDictionary <string, object> properties)
{
var props = Utility.CollectAutoProperties(properties);
var eventTypeName = severity.ToString().ToUpper();
if (SnTrace.Event.Enabled)
{
if (severity <= TraceEventType.Information) // Critical = 1, Error = 2, Warning = 4, Information = 8
{
var id = "#" + Guid.NewGuid().ToString();
props["SnTrace"] = id;
SnTrace.Event.Write("{0} {1}: {2}", eventTypeName, id, message);
}
else
{
object id = "-";
object path = "-";
if (properties != null)
{
properties.TryGetValue("Id", out id);
properties.TryGetValue("Path", out path);
}
if (categories.Count == 1 && categories.First() == "Audit")
{
eventTypeName = "Audit";
}
SnTrace.Event.Write("{0}: {1}, Id:{2}, Path:{3}", eventTypeName, message, id, path);
}
}
Microsoft.Practices.EnterpriseLibrary.Logging.Logger.Write(
message ?? String.Empty, categories ?? null,
priority, eventId, severity, title ?? string.Empty, props);
}