diff --git a/src/umbraco.businesslogic/Log.cs b/src/umbraco.businesslogic/Log.cs index 63d9268fee..6e0e2e1b28 100644 --- a/src/umbraco.businesslogic/Log.cs +++ b/src/umbraco.businesslogic/Log.cs @@ -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("Error loading external logger: " + ee.ToString(), ee); + LogHelper.Error("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("An error occurred", ee); @@ -164,19 +160,28 @@ namespace umbraco.BusinessLogic /// The comment. 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(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 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 ConvertIRecordsReader(IRecordsReader reader) { - List items = new List(); + var items = new List(); 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() - { - - } } - - } \ No newline at end of file diff --git a/src/umbraco.cms/businesslogic/Content.cs b/src/umbraco.cms/businesslogic/Content.cs index ad9d992d07..0a10eb48c5 100644 --- a/src/umbraco.cms/businesslogic/Content.cs +++ b/src/umbraco.cms/businesslogic/Content.cs @@ -300,31 +300,10 @@ namespace umbraco.cms.businesslogic /// The property with the given propertytype public Property getProperty(PropertyType pt) { - - //object o = SqlHelper.ExecuteScalar( - // "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; } diff --git a/src/umbraco.cms/businesslogic/web/Document.cs b/src/umbraco.cms/businesslogic/web/Document.cs index cdbb5c5c82..df9ee4b0a4 100644 --- a/src/umbraco.cms/businesslogic/web/Document.cs +++ b/src/umbraco.cms/businesslogic/web/Document.cs @@ -417,7 +417,7 @@ namespace umbraco.cms.businesslogic.web d.OnNew(e); // Log - Log.Add(LogTypes.New, u, d.Id, ""); + LogHelper.Info(string.Format("New document {0}", d.Id)); // Run Handler umbraco.BusinessLogic.Actions.Action.RunActionHandlers(d, ActionNew.Instance);