public void WriteToLog(IWriteToLogParameter parameter) { try { DoLog(parameter); } catch (Exception exception) { if (NextRepository != null) { var tmpParameter = (IWriteToLogParameter)parameter.Clone(); tmpParameter.SerializedMessage = _serializer.Serialize( new { Message = "Cannot write to log!", RepositoryType = GetType().FullName, Exception = exception.ToString() }); NextRepository.WriteToLog(tmpParameter); NextRepository.WriteToLog(parameter); return; } throw; } }
public override void DoLog(IWriteToLogParameter parameter) { var log = new StringBuilder() .AppendLine(string.Format("ActiveUserName:{0}", parameter.ActiveUserName)) .AppendLine(string.Format("AppFolder:{0}", parameter.AppFolder)) .AppendLine(string.Format("AppName:{0}", parameter.AppName)) .AppendLine(string.Format("AssemblyName:{0}", parameter.AssemblyName)) .AppendLine(string.Format("BuildMode:{0}", parameter.BuildMode)) .AppendLine(string.Format("ClassName:{0}", parameter.ClassName)) .AppendLine(string.Format("DateTime:{0}", parameter.DateTime)) .AppendLine(string.Format("IpAddress:{0}", parameter.IpAddress)) .AppendLine(string.Format("IsWebApplication:{0}", parameter.IsWebApplication)) .AppendLine(string.Format("Level:{0}", parameter.Level)) .AppendLine(string.Format("Process:{0}", parameter.Process)) .AppendLine(string.Format("ProcessCode:{0}", parameter.ProcessCode)) .AppendLine(string.Format("ScopeLevel:{0}", parameter.ScopeLevel)) .AppendLine(string.Format("SerializedMessage:{0}", parameter.SerializedMessage)); var entryType = parameter.Level == "Error" ? EventLogEntryType.Error : parameter.Level == "Warn" ? EventLogEntryType.Warning : parameter.Level == "Fatal" ? EventLogEntryType.Error : EventLogEntryType.Information; EventLog.WriteEntry(_source, log.ToString(), entryType); }
public override void DoLog(IWriteToLogParameter parameter) { var log = new StringBuilder() .AppendLine(string.Format("ActiveUserName:{0}", parameter.ActiveUserName)) .AppendLine(string.Format("AppFolder:{0}", parameter.AppFolder)) .AppendLine(string.Format("AppName:{0}", parameter.AppName)) .AppendLine(string.Format("AssemblyName:{0}", parameter.AssemblyName)) .AppendLine(string.Format("BuildMode:{0}", parameter.BuildMode)) .AppendLine(string.Format("ClassName:{0}", parameter.ClassName)) .AppendLine(string.Format("DateTime:{0}", parameter.DateTime)) .AppendLine(string.Format("IpAddress:{0}", parameter.IpAddress)) .AppendLine(string.Format("IsWebApplication:{0}", parameter.IsWebApplication)) .AppendLine(string.Format("Level:{0}", parameter.Level)) .AppendLine(string.Format("Process:{0}", parameter.Process)) .AppendLine(string.Format("ProcessCode:{0}", parameter.ProcessCode)) .AppendLine(string.Format("ScopeLevel:{0}", parameter.ScopeLevel)) .AppendLine(string.Format("SerializedMessage:{0}", parameter.SerializedMessage)); Debug.WriteLine(log); }
public override void DoLog(IWriteToLogParameter parameter) { OpenConnection(); DataAccess.SetParameterValue(_command, "Process", parameter.Process); DataAccess.SetParameterValue(_command, "Level", parameter.Level); DataAccess.SetParameterValue(_command, "Class", parameter.ClassName); DataAccess.SetParameterValue(_command, "Assembly", parameter.AssemblyName); DataAccess.SetParameterValue(_command, "Message", parameter.SerializedMessage); DataAccess.SetParameterValue(_command, "DateTime", parameter.DateTime); DataAccess.SetParameterValue(_command, "IsWebApplication", parameter.IsWebApplication); DataAccess.SetParameterValue(_command, "ApplicationName", parameter.AppName); DataAccess.SetParameterValue(_command, "ApplicationFolder", parameter.AppFolder); DataAccess.SetParameterValue(_command, "ActiveUserName", parameter.ActiveUserName); DataAccess.SetParameterValue(_command, "BuildMode", parameter.BuildMode); DataAccess.SetParameterValue(_command, "ProcessCode", parameter.ProcessCode); DataAccess.SetParameterValue(_command, "ScopeLevel", parameter.ScopeLevel); DataAccess.SetParameterValue(_command, "IpAddress", parameter.IpAddress); _command.ExecuteNonQuery(); CloseConnection(); }
public override void Log(IWriteToLogParameter parameter) { using (var sw = new StreamWriter(_filePath, true, Encoding.UTF8)) { var log = new StringBuilder() .AppendLine(Line) .AppendLine(string.Format("ActiveUserName:{0}", parameter.ActiveUserName)) .AppendLine(string.Format("AppFolder:{0}", parameter.AppFolder)) .AppendLine(string.Format("AppName:{0}", parameter.AppName)) .AppendLine(string.Format("AssemblyName:{0}", parameter.AssemblyName)) .AppendLine(string.Format("BuildMode:{0}", parameter.BuildMode)) .AppendLine(string.Format("ClassName:{0}", parameter.ClassName)) .AppendLine(string.Format("DateTime:{0}", parameter.DateTime)) .AppendLine(string.Format("IpAddress:{0}", parameter.IpAddress)) .AppendLine(string.Format("IsWebApplication:{0}", parameter.IsWebApplication)) .AppendLine(string.Format("Level:{0}", parameter.Level)) .AppendLine(string.Format("Process:{0}", parameter.Process)) .AppendLine(string.Format("ProcessCode:{0}", parameter.ProcessCode)) .AppendLine(string.Format("ScopeLevel:{0}", parameter.ScopeLevel)) .AppendLine(string.Format("SerializedMessage:{0}", parameter.SerializedMessage)) .AppendLine(); sw.WriteLine(log); } }
protected virtual ILogger WriteToLog(IWriteToLogParameter parameter) { _logRepository.WriteToLog(parameter); return(this); }
public abstract void DoLog(IWriteToLogParameter parameter);
public override void DoLog(IWriteToLogParameter parameter) { _loggers.ToList().ForEach(logger => logger.WriteToLog(parameter)); }