/// <summary> /// 根据环境信息初始化Log。 /// 初始化的属性包括:CorrelationID、RequestContextString、Operator、RealOperator /// </summary> /// <returns></returns> public static SCOperationLog CreateLogFromEnvironment() { SCOperationLog log = new SCOperationLog(); log.CorrelationID = Trace.CorrelationManager.ActivityId.ToString(); log.RequestContextString = EnvironmentHelper.GetEnvironmentInfo(); log.CreateTime = SCActionContext.Current.TimePoint; if (DeluxePrincipal.IsAuthenticated) { log.Operator = DeluxeIdentity.CurrentUser; log.RealOperator = DeluxeIdentity.CurrentRealUser; } return(log); }
public void Insert(SCOperationLog log) { if (log != null) { log.CreateTime = SCActionContext.Current.TimePoint; StringBuilder strB = new StringBuilder(256); strB.Append(ORMapping.GetInsertSql(log, this.GetMappingInfo(), TSqlBuilder.Instance)); strB.Append(TSqlBuilder.Instance.DBStatementSeperator); strB.Append("SELECT SCOPE_IDENTITY()"); Decimal newID = (Decimal)DbHelper.RunSqlReturnScalar(strB.ToString(), this.GetConnectionName()); log.ID = Decimal.ToInt32(newID); } }
public static SCOperationLog ToOperationLog(this SCBase data, SCOperationType opType) { data.NullCheck("data"); SCOperationLog log = SCOperationLog.CreateLogFromEnvironment(); log.ResourceID = data.ID; log.SchemaType = data.SchemaType; log.OperationType = opType; log.Category = data.Schema.Category; log.Subject = string.Format("{0}: {1}", EnumItemDescriptionAttribute.GetDescription(opType), data.Name); log.SearchContent = data.ToFullTextString(); return(log); }