internal TLogData CreateLogData(IContainer container, InvocationRawData invocationRawData) { TLogData logData = Activator.CreateInstance <TLogData>(); _logDataPrepareAction?.Invoke(container, new InvocationData(invocationRawData, _paramNameToIndexMapping), logData); return(logData); }
public void ProcessInvocationData(InvocationRawData invocationRawData) { if (_config.LogOutput == null) { throw new WriterNotSetException(); } foreach (var methodConfig in _config.GetConfigsForMethod(invocationRawData.MethodInfo)) { if (methodConfig.ShouldBeLogged(_container, invocationRawData)) { _config.LogOutput.WriteLog(methodConfig.CreateLogData(_container, invocationRawData)); } } }
public ArgumentsCollection(InvocationRawData invocationRawData, Dictionary <string, int> paramNameToIndexMapping) { _invocationRawData = invocationRawData; _paramNameToIndexMapping = paramNameToIndexMapping; }
internal bool ShouldBeLogged(IContainer container, InvocationRawData invocationRawData) { return(_conditions.All(c => c(container, new InvocationData(invocationRawData, _paramNameToIndexMapping)))); }
public InvocationData(InvocationRawData raw, Dictionary <string, int> paramNameToIndexMapping) { Raw = raw; Arguments = new ArgumentsCollection(raw, paramNameToIndexMapping); }