/// <summary> /// Initializes a new instance of the <see cref="NanoLogger" /> class. /// </summary> /// <param name="configuration">configuration of correlation type ids</param> public NanoLogger(NanoLoggerConfiguration configuration) { Arguments.NotNull(configuration, nameof(configuration)); this.configuration = configuration; var max = configuration.MaxCorrelationType + 1; this.data = new NanoLogRow[max][]; this.correlationTypeIndex = new int[max]; for (byte i = 0; i < this.data.Length; ++i) { if (!configuration.CorrelationTypeLogCounts.ContainsKey(i)) { continue; } var correlationInstanceCount = configuration.CorrelationTypeLogCounts[i]; this.data[i] = new NanoLogRow[correlationInstanceCount]; this.correlationTypeIndex[i] = -1; for (var j = 0; j < correlationInstanceCount; ++j) { this.data[i][j] = new NanoLogRow { CorrelationTypeId = i }; } } }
public void Create_DifferentIndexes() { var cfg = new NanoLoggerConfiguration(); cfg.Add(0, 10); cfg.Add(1, 5); var ml = new NanoLogger(cfg); ml.Begin(0, 0, 0); ml.Begin(0, 0, 0, 1); ml.End(0, 0, 0); ml.Begin(0, 0, 0); ml.Begin(0, 0, 0); ml.Begin(0, 0, 0, 1); ml.End(0, 0, 0); ml.Begin(0, 0, 0); ml.Begin(0, 0, 0); ml.Begin(0, 0, 0, 1); ml.Begin(1, 0, 0); ml.Begin(1, 0, 0, 1); ml.End(1, 0, 0); ml.Begin(1, 0, 0); ml.Begin(1, 0, 0); }
public void Error_TooManyRecords_DifferentIndex() { var cfg = new NanoLoggerConfiguration(); cfg.Add(0, 10); cfg.Add(1, 5); var ml = new NanoLogger(cfg); ml.Begin(0, 0, 0); ml.Begin(0, 0, 0, 1); ml.End(0, 0, 0); ml.Begin(0, 0, 0); ml.Begin(0, 0, 0); ml.Begin(0, 0, 0, 1); ml.End(0, 0, 0); ml.Begin(0, 0, 0); ml.Begin(0, 0, 0); ml.Begin(0, 0, 0, 1); ml.Begin(1, 0, 0); ml.Begin(1, 0, 0, 1); ml.End(1, 0, 0); ml.Begin(1, 0, 0); ml.Begin(1, 0, 0); ml.Begin(1, 0, 0, 1); }
public void Error_CorrelationId_DoesNotExist() { var cfg = new NanoLoggerConfiguration(); cfg.Add(0, 10); var ml = new NanoLogger(cfg); ml.Begin(1, 0, 0); }
public void Create() { var cfg = new NanoLoggerConfiguration(); cfg.Add(0, 10); var ml = new NanoLogger(cfg); ml.Begin(0, 0, 0); ml.Begin(0, 0, 0, 1); ml.End(0, 0, 0); ml.Begin(0, 0, 0); ml.Begin(0, 0, 0); ml.Begin(0, 0, 0, 1); ml.End(0, 0, 0); ml.Begin(0, 0, 0); ml.Begin(0, 0, 0); ml.Begin(0, 0, 0, 1); }