public void Log(Type type, Common.Core.LogLevel level, Exception exception, string message, params object[] args) { ILogger logger = getLogger(this.GetType()); var logEvent = getLogEvent(type, level, exception, message, args); logger.Log(logEvent); }
private LogEventInfo getLogEvent(Type type, Common.Core.LogLevel level, Exception exception, string format, object[] args) { string assemblyProp = string.Empty; string classProp = string.Empty; string methodProp = string.Empty; string messageProp = string.Empty; string innerMessageProp = string.Empty; var logEvent = new LogEventInfo(NLogLogger.LogLevel.FromOrdinal((int)level), type.FullName, string.Format(format, args)); logEvent.Exception = exception; if (exception != null) { assemblyProp = exception.Source; classProp = exception.TargetSite.DeclaringType.FullName; methodProp = exception.TargetSite.Name; messageProp = exception.Message; if (exception.InnerException != null) { innerMessageProp = exception.InnerException.Message; } } else { assemblyProp = type.FullName; classProp = type.Name; } if (logEvent.Properties.Count > 0) { logEvent.Properties["LOGGER"] = assemblyProp; logEvent.Properties["CLASS"] = classProp; logEvent.Properties["METHOD"] = methodProp; logEvent.Properties["EXCEPTION"] = messageProp; logEvent.Properties["STACKTRACE"] = innerMessageProp; } return(logEvent); }