Merge
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
using System;
|
||||
using System.Data;
|
||||
using System.Diagnostics;
|
||||
using System.Globalization;
|
||||
using System.Threading;
|
||||
using Umbraco.Core.IO;
|
||||
using Umbraco.Core.Logging;
|
||||
using umbraco.DataLayer;
|
||||
using System.Collections.Generic;
|
||||
@@ -16,32 +17,31 @@ namespace umbraco.BusinessLogic
|
||||
public class Log
|
||||
{
|
||||
#region Statics
|
||||
private Interfaces.ILog m_externalLogger = null;
|
||||
private bool m_externalLoggerInitiated = false;
|
||||
private Interfaces.ILog _externalLogger;
|
||||
private bool _externalLoggerInitiated;
|
||||
|
||||
internal Interfaces.ILog ExternalLogger
|
||||
{
|
||||
get
|
||||
{
|
||||
if (!m_externalLoggerInitiated)
|
||||
if (!_externalLoggerInitiated)
|
||||
{
|
||||
m_externalLoggerInitiated = true;
|
||||
if (!String.IsNullOrEmpty(UmbracoSettings.ExternalLoggerAssembly)
|
||||
&& !String.IsNullOrEmpty(UmbracoSettings.ExternalLoggerType))
|
||||
_externalLoggerInitiated = true;
|
||||
if (!string.IsNullOrEmpty(UmbracoSettings.ExternalLoggerAssembly) && !string.IsNullOrEmpty(UmbracoSettings.ExternalLoggerType))
|
||||
{
|
||||
try
|
||||
{
|
||||
string assemblyPath = IO.IOHelper.MapPath(UmbracoSettings.ExternalLoggerAssembly);
|
||||
m_externalLogger = Assembly.LoadFrom(assemblyPath).CreateInstance(UmbracoSettings.ExternalLoggerType) as Interfaces.ILog;
|
||||
var assemblyPath = IOHelper.MapPath(UmbracoSettings.ExternalLoggerAssembly);
|
||||
_externalLogger = Assembly.LoadFrom(assemblyPath).CreateInstance(UmbracoSettings.ExternalLoggerType) as Interfaces.ILog;
|
||||
}
|
||||
catch (Exception ee)
|
||||
{
|
||||
LogHelper.Error<Log>("Error loading external logger: " + ee.ToString(), ee);
|
||||
LogHelper.Error<Log>("Error loading external logger", ee);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return m_externalLogger;
|
||||
return _externalLogger;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -73,8 +73,7 @@ namespace umbraco.BusinessLogic
|
||||
{
|
||||
Instance.ExternalLogger.Add(type, user, nodeId, comment);
|
||||
|
||||
// Audit trail too?
|
||||
if (!UmbracoSettings.ExternalLoggerLogAuditTrail && type.GetType().GetField(type.ToString()).GetCustomAttributes(typeof(AuditTrailLogItem), true) != null)
|
||||
if (!UmbracoSettings.ExternalLoggerLogAuditTrail)
|
||||
{
|
||||
AddLocally(type, user, nodeId, comment);
|
||||
}
|
||||
@@ -110,12 +109,9 @@ namespace umbraco.BusinessLogic
|
||||
}
|
||||
else
|
||||
{
|
||||
Exception ex2 = ee;
|
||||
string error = String.Empty;
|
||||
string errorMessage = string.Empty;
|
||||
var ex2 = ee;
|
||||
while (ex2 != null)
|
||||
{
|
||||
error += ex2.ToString();
|
||||
ex2 = ex2.InnerException;
|
||||
}
|
||||
LogHelper.Error<Log>("An error occurred", ee);
|
||||
@@ -164,19 +160,28 @@ namespace umbraco.BusinessLogic
|
||||
/// <param name="comment">The comment.</param>
|
||||
public static void AddSynced(LogTypes type, int userId, int nodeId, string comment)
|
||||
{
|
||||
try
|
||||
var logTypeIsAuditType = type.GetType().GetField(type.ToString()).GetCustomAttributes(typeof(AuditTrailLogItem), true).Length != 0;
|
||||
|
||||
if (logTypeIsAuditType)
|
||||
{
|
||||
SqlHelper.ExecuteNonQuery(
|
||||
"insert into umbracoLog (userId, nodeId, logHeader, logComment) values (@userId, @nodeId, @logHeader, @comment)",
|
||||
SqlHelper.CreateParameter("@userId", userId),
|
||||
SqlHelper.CreateParameter("@nodeId", nodeId),
|
||||
SqlHelper.CreateParameter("@logHeader", type.ToString()),
|
||||
SqlHelper.CreateParameter("@comment", comment));
|
||||
try
|
||||
{
|
||||
SqlHelper.ExecuteNonQuery(
|
||||
"insert into umbracoLog (userId, nodeId, logHeader, logComment) values (@userId, @nodeId, @logHeader, @comment)",
|
||||
SqlHelper.CreateParameter("@userId", userId),
|
||||
SqlHelper.CreateParameter("@nodeId", nodeId),
|
||||
SqlHelper.CreateParameter("@logHeader", type.ToString()),
|
||||
SqlHelper.CreateParameter("@comment", comment));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Debug.WriteLine(e.ToString(), "Error");
|
||||
Trace.WriteLine(e.ToString());
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
else
|
||||
{
|
||||
Debug.WriteLine(e.ToString(), "Error");
|
||||
Trace.WriteLine(e.ToString());
|
||||
LogHelper.Info<Log>(string.Format("Redirected log call (please use Umbraco.Core.Logging.LogHelper instead of umbraco.BusinessLogic.Log) | Type: {0} | User: {1} | NodeId: {2} | Comment: {3}", type.ToString(), userId, nodeId.ToString(CultureInfo.InvariantCulture), comment));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -184,18 +189,18 @@ namespace umbraco.BusinessLogic
|
||||
{
|
||||
if (UmbracoSettings.ExternalLoggerLogAuditTrail && ExternalLogger != null)
|
||||
return ExternalLogger.GetAuditLogReader(NodeId);
|
||||
else
|
||||
return LogItem.ConvertIRecordsReader(SqlHelper.ExecuteReader(
|
||||
"select userId, nodeId, logHeader, DateStamp, logComment from umbracoLog where nodeId = @id and logHeader not in ('open','system') order by DateStamp desc",
|
||||
SqlHelper.CreateParameter("@id", NodeId)));
|
||||
|
||||
return LogItem.ConvertIRecordsReader(SqlHelper.ExecuteReader(
|
||||
"select userId, nodeId, logHeader, DateStamp, logComment from umbracoLog where nodeId = @id and logHeader not in ('open','system') order by DateStamp desc",
|
||||
SqlHelper.CreateParameter("@id", NodeId)));
|
||||
}
|
||||
|
||||
public List<LogItem> GetLogItems(LogTypes type, DateTime sinceDate)
|
||||
{
|
||||
if (ExternalLogger != null)
|
||||
return ExternalLogger.GetLogItems(type, sinceDate);
|
||||
else
|
||||
return LogItem.ConvertIRecordsReader(SqlHelper.ExecuteReader(
|
||||
|
||||
return LogItem.ConvertIRecordsReader(SqlHelper.ExecuteReader(
|
||||
"select userId, NodeId, DateStamp, logHeader, logComment from umbracoLog where logHeader = @logHeader and DateStamp >= @dateStamp order by dateStamp desc",
|
||||
SqlHelper.CreateParameter("@logHeader", type),
|
||||
SqlHelper.CreateParameter("@dateStamp", sinceDate)));
|
||||
@@ -205,8 +210,8 @@ namespace umbraco.BusinessLogic
|
||||
{
|
||||
if (ExternalLogger != null)
|
||||
return ExternalLogger.GetLogItems(nodeId);
|
||||
else
|
||||
return LogItem.ConvertIRecordsReader(SqlHelper.ExecuteReader(
|
||||
|
||||
return LogItem.ConvertIRecordsReader(SqlHelper.ExecuteReader(
|
||||
"select userId, NodeId, DateStamp, logHeader, logComment from umbracoLog where id = @id order by dateStamp desc",
|
||||
SqlHelper.CreateParameter("@id", nodeId)));
|
||||
}
|
||||
@@ -215,8 +220,8 @@ namespace umbraco.BusinessLogic
|
||||
{
|
||||
if (ExternalLogger != null)
|
||||
return ExternalLogger.GetLogItems(user, sinceDate);
|
||||
else
|
||||
return LogItem.ConvertIRecordsReader(SqlHelper.ExecuteReader(
|
||||
|
||||
return LogItem.ConvertIRecordsReader(SqlHelper.ExecuteReader(
|
||||
"select userId, NodeId, DateStamp, logHeader, logComment from umbracoLog where UserId = @user and DateStamp >= @dateStamp order by dateStamp desc",
|
||||
SqlHelper.CreateParameter("@user", user.Id),
|
||||
SqlHelper.CreateParameter("@dateStamp", sinceDate)));
|
||||
@@ -226,8 +231,8 @@ namespace umbraco.BusinessLogic
|
||||
{
|
||||
if (ExternalLogger != null)
|
||||
return ExternalLogger.GetLogItems(user, type, sinceDate);
|
||||
else
|
||||
return LogItem.ConvertIRecordsReader(SqlHelper.ExecuteReader(
|
||||
|
||||
return LogItem.ConvertIRecordsReader(SqlHelper.ExecuteReader(
|
||||
"select userId, NodeId, DateStamp, logHeader, logComment from umbracoLog where UserId = @user and logHeader = @logHeader and DateStamp >= @dateStamp order by dateStamp desc",
|
||||
SqlHelper.CreateParameter("@logHeader", type),
|
||||
SqlHelper.CreateParameter("@user", user.Id),
|
||||
@@ -361,14 +366,14 @@ namespace umbraco.BusinessLogic
|
||||
|
||||
public static List<LogItem> ConvertIRecordsReader(IRecordsReader reader)
|
||||
{
|
||||
List<LogItem> items = new List<LogItem>();
|
||||
var items = new List<LogItem>();
|
||||
while (reader.Read())
|
||||
{
|
||||
items.Add(new LogItem(
|
||||
reader.GetInt("userId"),
|
||||
reader.GetInt("nodeId"),
|
||||
reader.GetDateTime("DateStamp"),
|
||||
convertLogHeader(reader.GetString("logHeader")),
|
||||
ConvertLogHeader(reader.GetString("logHeader")),
|
||||
reader.GetString("logComment")));
|
||||
}
|
||||
|
||||
@@ -376,7 +381,7 @@ namespace umbraco.BusinessLogic
|
||||
|
||||
}
|
||||
|
||||
private static LogTypes convertLogHeader(string logHeader)
|
||||
private static LogTypes ConvertLogHeader(string logHeader)
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -391,11 +396,5 @@ namespace umbraco.BusinessLogic
|
||||
|
||||
public class AuditTrailLogItem : Attribute
|
||||
{
|
||||
public AuditTrailLogItem()
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -300,31 +300,10 @@ namespace umbraco.cms.businesslogic
|
||||
/// <returns>The property with the given propertytype</returns>
|
||||
public Property getProperty(PropertyType pt)
|
||||
{
|
||||
|
||||
//object o = SqlHelper.ExecuteScalar<object>(
|
||||
// "select id from cmsPropertyData where versionId=@version and propertyTypeId=@propertyTypeId",
|
||||
// SqlHelper.CreateParameter("@version", this.Version),
|
||||
// SqlHelper.CreateParameter("@propertyTypeId", pt.Id));
|
||||
//if (o == null)
|
||||
// return null;
|
||||
//int propertyId;
|
||||
//if (!int.TryParse(o.ToString(), out propertyId))
|
||||
// return null;
|
||||
//try
|
||||
//{
|
||||
// return new Property(propertyId, pt);
|
||||
//}
|
||||
//catch (Exception ex)
|
||||
//{
|
||||
// Log.Add(LogTypes.Error, this.Id, "An error occurred retreiving property. EXCEPTION: " + ex.Message);
|
||||
// return null;
|
||||
//}
|
||||
|
||||
EnsureProperties();
|
||||
|
||||
var prop = m_LoadedProperties
|
||||
.Where(x => x.PropertyType.Id == pt.Id)
|
||||
.SingleOrDefault();
|
||||
var prop = m_LoadedProperties.SingleOrDefault(x => x.PropertyType.Id == pt.Id);
|
||||
|
||||
return prop;
|
||||
|
||||
}
|
||||
|
||||
@@ -417,7 +417,7 @@ namespace umbraco.cms.businesslogic.web
|
||||
d.OnNew(e);
|
||||
|
||||
// Log
|
||||
Log.Add(LogTypes.New, u, d.Id, "");
|
||||
LogHelper.Info<Document>(string.Format("New document {0}", d.Id));
|
||||
|
||||
// Run Handler
|
||||
umbraco.BusinessLogic.Actions.Action.RunActionHandlers(d, ActionNew.Instance);
|
||||
|
||||
Reference in New Issue
Block a user