EnumerationLog
using System;
using System.Collections.Generic;
namespace Relativity.Transfer.Enumeration
{
internal class EnumerationLog : ITransferLog, IDisposable
{
private readonly ITransferLog _transferLog;
private readonly Guid _correlationId;
private const string _CORRELATION_ID_TEMPLATE_PREFIX = "[{CorrelationId}]";
public bool IsEnabled {
get {
return _transferLog.IsEnabled;
}
set {
_transferLog.IsEnabled = value;
}
}
public EnumerationLog(ITransferLog transferLog, Guid correlationId)
{
_transferLog = transferLog;
_correlationId = correlationId;
}
public void LogVerbose(string messageTemplate, params object[] propertyValues)
{
string messageTemplate2 = DecorateMessageTemplate(messageTemplate);
IEnumerable<object> enumerable = DecoratePropertyValues(propertyValues);
_transferLog.LogVerbose(messageTemplate2, enumerable);
}
public void LogVerbose(Exception exception, string messageTemplate, params object[] propertyValues)
{
string messageTemplate2 = DecorateMessageTemplate(messageTemplate);
IEnumerable<object> enumerable = DecoratePropertyValues(propertyValues);
_transferLog.LogVerbose(exception, messageTemplate2, enumerable);
}
public void LogDebug(string messageTemplate, params object[] propertyValues)
{
string messageTemplate2 = DecorateMessageTemplate(messageTemplate);
IEnumerable<object> enumerable = DecoratePropertyValues(propertyValues);
_transferLog.LogDebug(messageTemplate2, enumerable);
}
public void LogDebug(Exception exception, string messageTemplate, params object[] propertyValues)
{
string messageTemplate2 = DecorateMessageTemplate(messageTemplate);
IEnumerable<object> enumerable = DecoratePropertyValues(propertyValues);
_transferLog.LogDebug(exception, messageTemplate2, enumerable);
}
public void LogInformation(string messageTemplate, params object[] propertyValues)
{
string messageTemplate2 = DecorateMessageTemplate(messageTemplate);
IEnumerable<object> enumerable = DecoratePropertyValues(propertyValues);
_transferLog.LogInformation(messageTemplate2, enumerable);
}
public void LogInformation(Exception exception, string messageTemplate, params object[] propertyValues)
{
string messageTemplate2 = DecorateMessageTemplate(messageTemplate);
IEnumerable<object> enumerable = DecoratePropertyValues(propertyValues);
_transferLog.LogInformation(exception, messageTemplate2, enumerable);
}
public void LogWarning(string messageTemplate, params object[] propertyValues)
{
string messageTemplate2 = DecorateMessageTemplate(messageTemplate);
IEnumerable<object> enumerable = DecoratePropertyValues(propertyValues);
_transferLog.LogWarning(messageTemplate2, enumerable);
}
public void LogWarning(Exception exception, string messageTemplate, params object[] propertyValues)
{
string messageTemplate2 = DecorateMessageTemplate(messageTemplate);
IEnumerable<object> enumerable = DecoratePropertyValues(propertyValues);
_transferLog.LogWarning(exception, messageTemplate2, enumerable);
}
public void LogError(string messageTemplate, params object[] propertyValues)
{
string messageTemplate2 = DecorateMessageTemplate(messageTemplate);
IEnumerable<object> enumerable = DecoratePropertyValues(propertyValues);
_transferLog.LogError(messageTemplate2, enumerable);
}
public void LogError(Exception exception, string messageTemplate, params object[] propertyValues)
{
string messageTemplate2 = DecorateMessageTemplate(messageTemplate);
IEnumerable<object> enumerable = DecoratePropertyValues(propertyValues);
_transferLog.LogError(exception, messageTemplate2, enumerable);
}
public void LogFatal(string messageTemplate, params object[] propertyValues)
{
string messageTemplate2 = DecorateMessageTemplate(messageTemplate);
IEnumerable<object> enumerable = DecoratePropertyValues(propertyValues);
_transferLog.LogFatal(messageTemplate2, enumerable);
}
public void LogFatal(Exception exception, string messageTemplate, params object[] propertyValues)
{
string messageTemplate2 = DecorateMessageTemplate(messageTemplate);
IEnumerable<object> enumerable = DecoratePropertyValues(propertyValues);
_transferLog.LogFatal(exception, messageTemplate2, enumerable);
}
public void Dispose()
{
_transferLog.Dispose();
}
private IEnumerable<object> DecoratePropertyValues(params object[] propertyValues)
{
LogRedaction.MoveRedactedPositions(1, propertyValues);
yield return (object)_correlationId;
foreach (object obj in propertyValues) {
yield return obj;
}
}
private static string DecorateMessageTemplate(string messageTemplate)
{
return "[{CorrelationId}] " + messageTemplate;
}
}
}