diff --git a/Common/Iperl/OptoTelegramRaw.cs b/Common/Iperl/OptoTelegramRaw.cs
index 6a51f94cf..effeceaa7 100644
--- a/Common/Iperl/OptoTelegramRaw.cs
+++ b/Common/Iperl/OptoTelegramRaw.cs
@@ -56,7 +56,7 @@ namespace Common.Iperl
public double Flow(double scalingFactor) { return 0.225 * scalingFactor * (double)FlowRaw; }
public double Volume(double scalingFactor) { return 0.0000625 * scalingFactor * (double)VolumeRawExt; }
public Int32 FlipTime() { return Impedance; }
- public decimal TimestampDec() { return (decimal)TimestampExt / (decimal)8192; }
+ public decimal TimestampDec() { return (decimal)TimestampExt; }
public double VolumeDelta(double scalingFactor, OptoTelegramRaw previous) { return (previous == null) ? 0 : Volume(scalingFactor) - previous.Volume(scalingFactor); }
public decimal TimeDelta() { return TimestampDec() - TestStartTimestampDec; }
public string Label()
diff --git a/TBF/Properties/AssemblyInfo.cs b/TBF/Properties/AssemblyInfo.cs
index 06498fd49..3c0c127e6 100644
--- a/TBF/Properties/AssemblyInfo.cs
+++ b/TBF/Properties/AssemblyInfo.cs
@@ -32,5 +32,5 @@ using System.Runtime.InteropServices;
// Build Number
// Revision
//
-[assembly: AssemblyVersion("3.9.3063.1")]
-[assembly: AssemblyFileVersion("3.9.3063.1")]
+[assembly: AssemblyVersion("3.9.3069.1")]
+[assembly: AssemblyFileVersion("3.9.3069.1")]
diff --git a/TBF/Rig/TestMethods/iPerlCommunication/common/OptoTelegramRaw.cs b/TBF/Rig/TestMethods/iPerlCommunication/common/OptoTelegramRaw.cs
index 4a11bcfa7..3919bedc9 100644
--- a/TBF/Rig/TestMethods/iPerlCommunication/common/OptoTelegramRaw.cs
+++ b/TBF/Rig/TestMethods/iPerlCommunication/common/OptoTelegramRaw.cs
@@ -58,7 +58,8 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.common
public double Flow(double scalingFactor) { return 0.225 * scalingFactor * (double)FlowRaw; }
public double Volume(double scalingFactor) { return 0.0000625 * scalingFactor * (double)VolumeRawExt; }
public Int32 FlipTime() { return Impedance; }
- public decimal TimestampDec() { return (decimal)TimestampExt / (decimal)8192; }
+
+ public decimal TimestampDec() { return (decimal)TimestampExt;}
public double VolumeDelta(double scalingFactor, OptoTelegramRaw previous) { return (previous == null) ? 0 : Volume(scalingFactor) - previous.Volume(scalingFactor); }
public decimal TimeDelta() { return TimestampDec() - TestStartTimestampDec; }
public string Label()
@@ -205,7 +206,7 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.common
private const double GAL_TO_LITER = 3.785411784;
public void UpdateFromSmart(
- DiagnosticLedState4Data data,
+ DiagnosticLedState7Data data,
int counter,
float refFlow,
ref double volumeRawExtLast,
@@ -229,7 +230,7 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.common
// ---------- VOLUME UNWRAP ----------
double v = VolumeRaw;
- if (double.IsNaN(volumeRawExtLast))
+ if (counter == 0 || double.IsNaN(volumeRawExtLast))
{
VolumeRawExt = volumeRawExtLast = v;
}
@@ -248,7 +249,7 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.common
}
// ---------- TIMESTAMP UNWRAP (seconds) ----------
- if (double.IsNaN(timestampExtLast))
+ if (counter == 0 || double.IsNaN(timestampExtLast))
{
TimestampExt = timestampExtLast = ts;
}
@@ -330,9 +331,9 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.common
(EmfRaw & 0x00FFFFFF).ToString("X6"),
MagneticFieldRaw.ToString("X4"),
FlowRaw.ToString("X4"),
- VolumeRaw.ToString("X6"),
+ VolumeRaw.ToString("F4", culture),
Impedance.ToString("X4"),
- Timestamp.ToString("X8"),
+ Timestamp.ToString("F4", culture),
CheckSum.ToString("X2"),
EMF().ToString("F4", culture),
MagneticField().ToString("F0", culture),
diff --git a/TBF/Rig/TestMethods/iPerlCommunication/communication/C4/diagnosticLed/parserer/DiagnosticLedState5Data.cs b/TBF/Rig/TestMethods/iPerlCommunication/communication/C4/diagnosticLed/parserer/DiagnosticLedState5Data.cs
index a18b926d3..95f4eb0a4 100644
--- a/TBF/Rig/TestMethods/iPerlCommunication/communication/C4/diagnosticLed/parserer/DiagnosticLedState5Data.cs
+++ b/TBF/Rig/TestMethods/iPerlCommunication/communication/C4/diagnosticLed/parserer/DiagnosticLedState5Data.cs
@@ -36,7 +36,11 @@ public sealed class DiagnosticLedState5Data : DiagnosticLedData
public ushort FieldCalibration { get; }
/// ASIC timestamp (bbbbbbbb), 8192 ticks per second.
- public uint AsicTimestamp { get; }
+ public double AsicTimestamp
+ {
+ get { return AsicTimestampTicks / 8192; }
+ }
+ public uint AsicTimestampTicks { get; }
/// Field drive time in microseconds (ff).
public byte FieldDriveTimeUs { get; }
@@ -74,7 +78,7 @@ public sealed class DiagnosticLedState5Data : DiagnosticLedData
// ---- State #5 specific ----
FieldCalibration = DiagnosticHex.ParseUInt16(fields[5]);
- AsicTimestamp = DiagnosticHex.ParseUInt32(fields[6]);
+ AsicTimestampTicks = DiagnosticHex.ParseUInt32(fields[6]);
FieldDriveTimeUs = DiagnosticHex.ParseByte(fields[7]);
MeanFlowRate = unchecked((int)DiagnosticHex.ParseUInt32(fields[8]));
diff --git a/TBF/Rig/TestMethods/iPerlCommunication/communication/C4/diagnosticLed/parserer/DiagnosticLedState6Data.cs b/TBF/Rig/TestMethods/iPerlCommunication/communication/C4/diagnosticLed/parserer/DiagnosticLedState6Data.cs
index 5303a3417..a16662303 100644
--- a/TBF/Rig/TestMethods/iPerlCommunication/communication/C4/diagnosticLed/parserer/DiagnosticLedState6Data.cs
+++ b/TBF/Rig/TestMethods/iPerlCommunication/communication/C4/diagnosticLed/parserer/DiagnosticLedState6Data.cs
@@ -39,7 +39,11 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.communication.C4.diagnosticLed.
public sealed class DiagnosticLedState6Data : DiagnosticLedData
{
public ushort FieldCalibration { get; }
- public uint AsicTimestamp { get; }
+ public double AsicTimestamp
+ {
+ get { return AsicTimestampTicks / 8192; }
+ }
+ public uint AsicTimestampTicks { get; }
public byte FieldDriveTimeUs { get; }
public int MeanFlowRate { get; }
@@ -74,7 +78,7 @@ public sealed class DiagnosticLedState6Data : DiagnosticLedData
// ---- State #6 specific ----
FieldCalibration = DiagnosticHex.ParseUInt16(fields[5]);
- AsicTimestamp = DiagnosticHex.ParseUInt32(fields[6]);
+ AsicTimestampTicks = DiagnosticHex.ParseUInt32(fields[6]);
FieldDriveTimeUs = DiagnosticHex.ParseByte(fields[7]);
MeanFlowRate = unchecked((int)DiagnosticHex.ParseUInt32(fields[8]));
diff --git a/TBF/Rig/TestMethods/iPerlCommunication/communication/C4/diagnosticLed/parserer/DiagnosticLedState7Data.cs b/TBF/Rig/TestMethods/iPerlCommunication/communication/C4/diagnosticLed/parserer/DiagnosticLedState7Data.cs
index 37341581a..f3221bafc 100644
--- a/TBF/Rig/TestMethods/iPerlCommunication/communication/C4/diagnosticLed/parserer/DiagnosticLedState7Data.cs
+++ b/TBF/Rig/TestMethods/iPerlCommunication/communication/C4/diagnosticLed/parserer/DiagnosticLedState7Data.cs
@@ -46,7 +46,11 @@ public sealed class DiagnosticLedState7Data : DiagnosticLedData
// ----- State #6 fields -----
public ushort FieldCalibration { get; }
- public uint AsicTimestamp { get; }
+ public double AsicTimestamp
+ {
+ get { return AsicTimestampTicks / 8192; }
+ }
+ public uint AsicTimestampTicks { get; }
public byte FieldDriveTimeUs { get; }
public int MeanFlowRate { get; }
@@ -103,7 +107,7 @@ public sealed class DiagnosticLedState7Data : DiagnosticLedData
// ---- State #6 fields ----
FieldCalibration = DiagnosticHex.ParseUInt16(fields[5]);
- AsicTimestamp = DiagnosticHex.ParseUInt32(fields[6]);
+ AsicTimestampTicks = DiagnosticHex.ParseUInt32(fields[6]);
FieldDriveTimeUs = DiagnosticHex.ParseByte(fields[7]);
MeanFlowRate = unchecked((int)DiagnosticHex.ParseUInt32(fields[8]));
diff --git a/TBF/Rig/TestMethods/iPerlCommunication/communication/C4/diagnosticLed/utils/DiagnostigLedDataByUnit.cs b/TBF/Rig/TestMethods/iPerlCommunication/communication/C4/diagnosticLed/utils/DiagnostigLedDataByUnit.cs
index 960594c52..0e96bca94 100644
--- a/TBF/Rig/TestMethods/iPerlCommunication/communication/C4/diagnosticLed/utils/DiagnostigLedDataByUnit.cs
+++ b/TBF/Rig/TestMethods/iPerlCommunication/communication/C4/diagnosticLed/utils/DiagnostigLedDataByUnit.cs
@@ -7,9 +7,9 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.communication.C4.diagnosticLed.
{
private readonly Common.Unit _unitFlow;
private readonly Common.Unit _unitVolume;
- private readonly DiagnosticLedState4Data _data;
+ private readonly DiagnosticLedState7Data _data;
- public DiagnostigLedDataByUnit(Common.Unit unitFlow, Common.Unit unitVolume, DiagnosticLedState4Data data)
+ public DiagnostigLedDataByUnit(Common.Unit unitFlow, Common.Unit unitVolume, DiagnosticLedState7Data data)
{
this._unitFlow = unitFlow;
this._unitVolume = unitVolume;
@@ -17,7 +17,7 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.communication.C4.diagnosticLed.
}
public Common.Unit Unit => _unitVolume;
- public DiagnosticLedState4Data Data => _data;
+ public DiagnosticLedState7Data Data => _data;
public double RawFlow {
get { return UnitVolume(_unitFlow, _data.RawFlow); }
diff --git a/TBF/Rig/TestMethods/iPerlCommunication/communication/OptoHeadTest.cs b/TBF/Rig/TestMethods/iPerlCommunication/communication/OptoHeadTest.cs
index 2d33dc278..8b238f183 100644
--- a/TBF/Rig/TestMethods/iPerlCommunication/communication/OptoHeadTest.cs
+++ b/TBF/Rig/TestMethods/iPerlCommunication/communication/OptoHeadTest.cs
@@ -185,7 +185,7 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.communication
RadioService headService = new RadioService(serialDriver);
bool optTestMode = headService.SetOptTestMode(iperlHead);
if (iperlHead.ConfigStruct != null)
- iperlHead.ConfigStruct.OpthoStatusMode = optTestMode ? DiagnosticLedState.State4 : DiagnosticLedState.StatusUnknown;
+ iperlHead.ConfigStruct.OpthoStatusMode = optTestMode ? DiagnosticLedState.State7 : DiagnosticLedState.StatusUnknown;
return optTestMode;
}
}
diff --git a/TBF/Rig/TestMethods/iPerlCommunication/communication/RadioService.cs b/TBF/Rig/TestMethods/iPerlCommunication/communication/RadioService.cs
index 7a17fbf16..a6cd92bcd 100644
--- a/TBF/Rig/TestMethods/iPerlCommunication/communication/RadioService.cs
+++ b/TBF/Rig/TestMethods/iPerlCommunication/communication/RadioService.cs
@@ -162,7 +162,7 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.communication
serialDriver.Open();
}
- //Set LED to state 4
+ //Set State to Active 02
byte[] request = new IperlHatFrameBuilder()
.RequestResponse(true)
.AddCommand(ProtocolCommand.SetState)
@@ -192,7 +192,7 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.communication
serialDriver.Open();
}
- //Set Activity State Idle
+ //Set Activity State Idle 01
byte[] request = new IperlHatFrameBuilder()
.RequestResponse(true)
.AddCommand(ProtocolCommand.SetState)
@@ -222,11 +222,11 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.communication
serialDriver.Open();
}
- //Set LED to state 4
+ //Set LED to state 7
var request = new IperlHatFrameBuilder()
.RequestResponse(true)
.AddDeviceCommand(ProtocolDeviceSubCommand.SetDiagnosticLEDState)
- .AddPayload(DiagnosticLedState.State4)
+ .AddPayload(DiagnosticLedState.State7)
.BuildBytes();
byte[] rawData = serialDriver.SendAndWait(request, 5000);
@@ -241,7 +241,7 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.communication
log.Debug("SetOptTestMode isOK: " + isOk);
if (decoded.IsOk && iHead.ConfigStruct != null)
{
- iHead.ConfigStruct.OpthoStatusMode = DiagnosticLedState.State4;
+ iHead.ConfigStruct.OpthoStatusMode = DiagnosticLedState.State7;
}
return isOk;
diff --git a/TBF/Rig/TestMethods/iPerlCommunication/iPerlCommunicationForm.cs b/TBF/Rig/TestMethods/iPerlCommunication/iPerlCommunicationForm.cs
index 767dc30e9..81d210d10 100644
--- a/TBF/Rig/TestMethods/iPerlCommunication/iPerlCommunicationForm.cs
+++ b/TBF/Rig/TestMethods/iPerlCommunication/iPerlCommunicationForm.cs
@@ -894,7 +894,7 @@ namespace TBF.Rig.TestMethods.iPerlCommunication
/// Read configuration
- if (ihead.OptoHeadTest.ReadConfiguration(DiagnosticLedState.State4))
+ if (ihead.OptoHeadTest.ReadConfiguration(DiagnosticLedState.State7))
{
error = CommErr.None;
//read, set and create ConfigStruct is set directly in method ReadConfiguration
@@ -940,7 +940,7 @@ namespace TBF.Rig.TestMethods.iPerlCommunication
//I will do communication to meter now
- DiagnosticLedState testModeConfig = DiagnosticLedState.State4; /// Default value
+ DiagnosticLedState testModeConfig = DiagnosticLedState.State7; /// Default value
///
if (ihead.OptoHeadTest.SetTestMode())
diff --git a/TBF/Rig/TestMethods/iPerlCommunication/iPerlHead/IperlHead.cs b/TBF/Rig/TestMethods/iPerlCommunication/iPerlHead/IperlHead.cs
index b4502c2ab..cdef3045b 100644
--- a/TBF/Rig/TestMethods/iPerlCommunication/iPerlHead/IperlHead.cs
+++ b/TBF/Rig/TestMethods/iPerlCommunication/iPerlHead/IperlHead.cs
@@ -46,9 +46,12 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.iPerlHead
public const string OptoDataDirectory = "C:\\TBF\\ProcessData";
public const int StartOptoDataCount = OptoDataBufferSize / 2;
public const int EndOptoDataCount = OptoDataBufferSize - StartOptoDataCount;
- public const int StartEndFilterSamplesCount2 = 2; //20 /// StartEndFilterSamplesCount = 2 * StartEndFilterSamplesCount2 + 1
+ public const int StartEndFilterSamplesCount2 = 1; //20 /// StartEndFilterSamplesCount = 2 * StartEndFilterSamplesCount2 + 1
public const int FeatureVectorSize = 9;
+ private const int StartSampleDelaySec = 5;
+ private const int EndSampleDelayCount = 2;
+
private OptoHeadTest _optoHeadTest;
public OptoHeadTest OptoHeadTest
@@ -385,9 +388,7 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.iPerlHead
///
public int TestStartTelegramIx;
public int TestEndTelegramIx;
- int endTelegramIdx1;
- int endTelegramIdx2;
- int endTelegramIdx3;
+ readonly int[] endTelegramIdx = new int[EndSampleDelayCount];
int currentTelegramIx;
bool startSampleAcquired;
@@ -399,15 +400,19 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.iPerlHead
private double timestampSec;
private double timestampSec0;
+ private const int MultiplyFactor = 4;
+
/// Test start volume for metrology in seconds
public double TimestampSecStart
{
- get { return TimeFromSamples(optoData, optoDataCount, TestStartTelegramIx, StartEndFilterSamplesCount2); }
+ //4 * pokus (hodnoty su 4 krat mensie)
+ get { return MultiplyFactor * TimeFromSamples(optoData, optoDataCount, TestStartTelegramIx, StartEndFilterSamplesCount2); }
}
/// Test end time for metrology in seconds
public double TimestampSecEnd
{
- get { return TimeFromSamples(optoData, optoDataCount, TestEndTelegramIx, StartEndFilterSamplesCount2); }
+ //4 * pokus (hodnoty su 4 krat mensie)
+ get { return MultiplyFactor * TimeFromSamples(optoData, optoDataCount, TestEndTelegramIx, StartEndFilterSamplesCount2); }
}
///
public bool NoSamples
@@ -425,12 +430,14 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.iPerlHead
/// Test start volume for metrology in liters
public double VolumeLtrStart
{
- get { return NoSamples ? 0 : VolumeFromSamples(optoData, optoDataCount, TestStartTelegramIx, ScalingFactor(), 0); }
+ //4 * pokus (hodnoty su 4 krat mensie)
+ get { return NoSamples ? 0 : MultiplyFactor * VolumeFromSamples(optoData, optoDataCount, TestStartTelegramIx, ScalingFactor(), 0); }
}
/// Test end volume for metrology in liters
public double VolumeLtrEnd
{
- get { return NoSamples ? 0 : VolumeFromSamples(optoData, optoDataCount, TestEndTelegramIx, ScalingFactor(), StartEndFilterSamplesCount2); }
+ //4 * pokus (hodnoty su 4 krat mensie)
+ get { return NoSamples ? 0 : MultiplyFactor * VolumeFromSamples(optoData, optoDataCount, TestEndTelegramIx, ScalingFactor(), StartEndFilterSamplesCount2); }
}
@@ -670,19 +677,21 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.iPerlHead
timeFromStart += StateMachine.Period;
ReadPulses();
- if (!startSampleAcquired && (timeFromStart >= 8) && (currentTelegramIx >= 0))
+ if (!startSampleAcquired && (timeFromStart >= StartSampleDelaySec) && (currentTelegramIx >= 0))
{
- /// Take the test start sample
startSampleAcquired = true;
TestStartTelegramIx = currentTelegramIx;
}
else if (startSampleAcquired)
{
- /// Shift data in pipelines
- TestEndTelegramIx = endTelegramIdx3;
- endTelegramIdx3 = endTelegramIdx2;
- endTelegramIdx2 = endTelegramIdx1;
- endTelegramIdx1 = currentTelegramIx;
+ TestEndTelegramIx = endTelegramIdx[EndSampleDelayCount - 1];
+
+ for (int i = EndSampleDelayCount - 1; i > 0; i--)
+ {
+ endTelegramIdx[i] = endTelegramIdx[i - 1];
+ }
+
+ endTelegramIdx[0] = currentTelegramIx;
}
}
@@ -983,10 +992,14 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.iPerlHead
currentTelegramIx = -1;
startSampleAcquired = false;
TestStartTelegramIx = 0;
- endTelegramIdx1 = 0;
- endTelegramIdx2 = 0;
- endTelegramIdx3 = 0;
+ for (int i = 0; i < endTelegramIdx.Length; i++)
+ {
+ endTelegramIdx[i] = 0;
+ }
TestEndTelegramIx = 0;
+
+ volumeRawExtLast = double.NaN;
+ timestampExtLast = double.NaN;
if (optoSerialPort != null && optoSerialPort.IsOpen) optoSerialPort.DiscardInBuffer();
@@ -1020,7 +1033,7 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.iPerlHead
bool synchronized2;
string partOfTelegram;
- DiagnosticLedParser parser = new DiagnosticLedParser(DiagnosticLedState.State4);
+ DiagnosticLedParser parser = new DiagnosticLedParser(DiagnosticLedState.State7);
///
/// Reads opto-datastream via serial port. Invoked from RunDeviceBefore()
@@ -1052,8 +1065,8 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.iPerlHead
if (optoState == DataStreamState.ProcessAndSave)
{
- DiagnosticLedState4Data data =
- (DiagnosticLedState4Data)parser.ParseLine(line, false);
+ DiagnosticLedState7Data data =
+ (DiagnosticLedState7Data)parser.ParseLine(line, false);
int bufferIx = BufferIdx(optoDataCount);
@@ -1089,8 +1102,8 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.iPerlHead
else
{
// Flush mode
- DiagnosticLedState4Data data =
- (DiagnosticLedState4Data)parser.ParseLine(line, false);
+ DiagnosticLedState7Data data =
+ (DiagnosticLedState7Data)parser.ParseLine(line, false);
flowDirectionDetection.WriteToFifo(volumeRawExtLast, timestampExtLast);
}
@@ -1705,14 +1718,14 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.iPerlHead
{
try
{
- DiagnosticLedState4Data data =
- (DiagnosticLedState4Data)parser.ParseLine(readOptoDataWithTimeout, false);
+ DiagnosticLedState7Data data =
+ (DiagnosticLedState7Data)parser.ParseLine(readOptoDataWithTimeout, false);
volumeLtr = data.RawVolume;
break;
}
catch (Exception ex)
{
- log.Warn($"Parsing DiagnosticLedState4Data: {ex.Message}");
+ log.Warn($"Parsing DiagnosticLedState7Data: {ex.Message}");
}
}
}
@@ -1779,14 +1792,14 @@ namespace TBF.Rig.TestMethods.iPerlCommunication.iPerlHead
{
try
{
- DiagnosticLedState4Data data =
- (DiagnosticLedState4Data)parser.ParseLine(readOptoDataWithTimeout, false);
+ DiagnosticLedState7Data data =
+ (DiagnosticLedState7Data)parser.ParseLine(readOptoDataWithTimeout, false);
volumeLtr0 = data.RawVolume;
break;
}
catch (Exception ex)
{
- log.Warn($"Parsing DiagnosticLedState4Data: {ex.Message}");
+ log.Warn($"Parsing DiagnosticLedState7Data: {ex.Message}");
}
}
}
diff --git a/TBFTests/Rig/TestMethods/iPerlCommunication/common/OptoTelegramRawTest.cs b/TBFTests/Rig/TestMethods/iPerlCommunication/common/OptoTelegramRawTest.cs
new file mode 100644
index 000000000..30a66b7d4
--- /dev/null
+++ b/TBFTests/Rig/TestMethods/iPerlCommunication/common/OptoTelegramRawTest.cs
@@ -0,0 +1,350 @@
+using System;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using TBF.Rig.TestMethods.iPerlCommunication.common;
+using TBF.Rig.TestMethods.iPerlCommunication.communication.C4.diagnosticLed.parserer;
+
+namespace TBFTests.Rig.TestMethods.iPerlCommunication.common
+{
+ [TestClass]
+ public class OptoTelegramRawTest
+ {
+ private static DiagnosticLedState7Data CreateDiagnosticLedState7Data(
+ double volumeLiters,
+ double timeSeconds,
+ short rawFlow = 0)
+ {
+ uint rawVolumeTicks = (uint)Math.Round(volumeLiters / 0.00025);
+ uint timestampTicks = (uint)Math.Round(timeSeconds * 8192.0);
+
+ string[] fields =
+ {
+ "000000",
+ "0000",
+ ((ushort)rawFlow).ToString("X4"),
+ rawVolumeTicks.ToString("X6"),
+ "0000",
+ "0000",
+ timestampTicks.ToString("X8"),
+ "00",
+ "00000000",
+ "0000",
+ "0000",
+ "0000",
+ "0000",
+ "00",
+ "0000",
+ "0000",
+ "00",
+ "00",
+ "00000000",
+ "00",
+ "000000",
+ "000000",
+ "0000",
+ "0000",
+ "00",
+ "00"
+ };
+
+ string rawLine = string.Join("\t", fields) + "\r\n";
+ return new DiagnosticLedState7Data(rawLine, fields);
+ }
+
+ [TestMethod]
+ public void UpdateFromSmart_FirstSample_ShouldInitializeFields()
+ {
+ var telegram = new OptoTelegramRaw();
+ var data = CreateDiagnosticLedState7Data(
+ volumeLiters: 2.5,
+ timeSeconds: 100.0);
+
+ double lastVolume = double.NaN;
+ double lastTimestamp = double.NaN;
+
+ telegram.UpdateFromSmart(data, counter: 7, refFlow: 1.5f, ref lastVolume, ref lastTimestamp);
+
+ Assert.AreEqual(7, telegram.Counter);
+ Assert.AreEqual(1.5f, telegram.RefFlow);
+ Assert.AreEqual(OptoTelegramFlags.OK, telegram.Flags);
+
+ Assert.AreEqual(2.5, telegram.VolumeRaw, 1e-9);
+ Assert.AreEqual(2.5, telegram.VolumeRawExt, 1e-9);
+ Assert.AreEqual(2.5, lastVolume, 1e-9);
+
+ Assert.AreEqual(100.0, telegram.Timestamp, 1e-9);
+ Assert.AreEqual(100.0, telegram.TimestampExt, 1e-9);
+ Assert.AreEqual(100.0, lastTimestamp, 1e-9);
+
+ Assert.AreNotEqual(default(DateTime), telegram.DateTime);
+ Assert.AreEqual(0, telegram.FlowRaw);
+ Assert.AreEqual(0, telegram.CheckSum);
+ Assert.AreEqual(0, telegram.Impedance);
+ Assert.AreEqual(0, telegram.EmfRaw);
+ Assert.AreEqual(0, telegram.MagneticFieldRaw);
+ }
+
+ [TestMethod]
+ public void UpdateFromSmart_RealDecodedSample_ShouldMapExpectedValues()
+ {
+ var telegram = new OptoTelegramRaw();
+
+ var data = CreateDiagnosticLedState7Data(
+ volumeLiters: 0.48025,
+ timeSeconds: 62727.0);
+
+ double lastVolume = double.NaN;
+ double lastTimestamp = double.NaN;
+
+ telegram.UpdateFromSmart(data, counter: 1, refFlow: 0.0f, ref lastVolume, ref lastTimestamp);
+
+ Assert.AreEqual(1, telegram.Counter);
+ Assert.AreEqual(0.0f, telegram.RefFlow);
+ Assert.AreEqual(OptoTelegramFlags.OK, telegram.Flags);
+
+ Assert.AreEqual(0.48025, telegram.VolumeRaw, 1e-9);
+ Assert.AreEqual(0.48025, telegram.VolumeRawExt, 1e-9);
+ Assert.AreEqual(0.48025, lastVolume, 1e-9);
+
+ Assert.AreEqual(62727.0, telegram.Timestamp, 1e-9);
+ Assert.AreEqual(62727.0, telegram.TimestampExt, 1e-9);
+ Assert.AreEqual(62727.0, lastTimestamp, 1e-9);
+ }
+
+ [TestMethod]
+ public void UpdateFromSmart_TimestampOverflow_ShouldKeepIncreasingExtendedTimestamp()
+ {
+ double lastVolumeExt = double.NaN;
+ double lastTimestampExt = double.NaN;
+
+ double[] times =
+ {
+ 524280.0,
+ 524287.0,
+ 1.0,
+ 2.0,
+ 10.0
+ };
+
+ double previousExt = double.NaN;
+
+ for (int i = 0; i < times.Length; i++)
+ {
+ var telegram = new OptoTelegramRaw();
+ var data = CreateDiagnosticLedState7Data(1.0, times[i]);
+
+ telegram.UpdateFromSmart(data, i, 0, ref lastVolumeExt, ref lastTimestampExt);
+
+ if (!double.IsNaN(previousExt))
+ {
+ Assert.IsTrue(
+ telegram.TimestampExt >= previousExt,
+ $"Timestamp decreased at index {i}. Prev={previousExt}, Current={telegram.TimestampExt}");
+ }
+
+ previousExt = telegram.TimestampExt;
+ }
+ }
+
+ [TestMethod]
+ public void UpdateFromSmart_TimeDelta_ShouldNeverBeNegativeAcrossOverflow()
+ {
+ double lastVolumeExt = double.NaN;
+ double lastTimestampExt = double.NaN;
+
+ OptoTelegramRaw.TestStartTimestampDec = 524280m;
+
+ double[] times =
+ {
+ 524280.0,
+ 524287.0,
+ 1.0,
+ 2.0,
+ 10.0
+ };
+
+ decimal previousDelta = decimal.MinValue;
+
+ for (int i = 0; i < times.Length; i++)
+ {
+ var telegram = new OptoTelegramRaw();
+ var data = CreateDiagnosticLedState7Data(1.0, times[i]);
+
+ telegram.UpdateFromSmart(data, i, 0, ref lastVolumeExt, ref lastTimestampExt);
+
+ decimal delta = telegram.TimeDelta();
+
+ Assert.IsTrue(delta >= 0, $"Negative TimeDelta at index {i}: {delta}");
+ Assert.IsTrue(delta >= previousDelta,
+ $"TimeDelta decreased at index {i}. Previous={previousDelta}, Current={delta}");
+
+ previousDelta = delta;
+ }
+ }
+
+ [TestMethod]
+ public void UpdateFromSmart_VolumeOverflow_ShouldKeepIncreasingExtendedVolume()
+ {
+ double lastVolumeExt = double.NaN;
+ double lastTimestampExt = double.NaN;
+
+ double volumeRange = 16777216.0 * 0.00025; // 4194.304 L
+
+ double[] volumes =
+ {
+ 4194.0,
+ 4194.25,
+ volumeRange + 0.25,
+ volumeRange + 1.0,
+ volumeRange + 2.0
+ };
+
+ double previousExt = double.NaN;
+
+ for (int i = 0; i < volumes.Length; i++)
+ {
+ var telegram = new OptoTelegramRaw();
+ var data = CreateDiagnosticLedState7Data(volumes[i], i);
+
+ telegram.UpdateFromSmart(data, i, 0, ref lastVolumeExt, ref lastTimestampExt);
+
+ if (!double.IsNaN(previousExt))
+ {
+ Assert.IsTrue(
+ telegram.VolumeRawExt >= previousExt,
+ $"Volume decreased at index {i}. Prev={previousExt}, Current={telegram.VolumeRawExt}");
+ }
+
+ previousExt = telegram.VolumeRawExt;
+ }
+ }
+
+ [TestMethod]
+ public void SetFlags_ShouldChangeFlags()
+ {
+ var telegram = new OptoTelegramRaw();
+
+ telegram.SetFlags(OptoTelegramFlags.SyncError);
+
+ Assert.AreEqual(OptoTelegramFlags.SyncError, telegram.Flags);
+ }
+
+ [TestMethod]
+ public void Label_ShouldReturnExpectedText()
+ {
+ var telegram = new OptoTelegramRaw();
+
+ telegram.Flags = OptoTelegramFlags.OK_TestStart;
+ Assert.AreEqual("#### start test ####", telegram.Label());
+
+ telegram.Flags = OptoTelegramFlags.OK_TestEnd;
+ Assert.AreEqual("#### end of test ####", telegram.Label());
+
+ telegram.Flags = OptoTelegramFlags.OK;
+ Assert.AreEqual(string.Empty, telegram.Label());
+ }
+
+ [TestMethod]
+ public void TimestampDec_ShouldConvertCorrectly()
+ {
+ var telegram = new OptoTelegramRaw
+ {
+ TimestampExt = 8192.0
+ };
+
+ Assert.AreEqual(8192.0m, telegram.TimestampDec());
+ }
+
+ [TestMethod]
+ public void VolumeDelta_ShouldReturnDifferenceAgainstPrevious()
+ {
+ var previous = new OptoTelegramRaw { VolumeRawExt = 1000.0 };
+ var current = new OptoTelegramRaw { VolumeRawExt = 2000.0 };
+
+ double scalingFactor = 2.0;
+
+ double expectedPrevious = 0.0000625 * scalingFactor * 1000.0;
+ double expectedCurrent = 0.0000625 * scalingFactor * 2000.0;
+ double expectedDelta = expectedCurrent - expectedPrevious;
+
+ Assert.AreEqual(expectedDelta, current.VolumeDelta(scalingFactor, previous), 1e-12);
+ }
+
+ [TestMethod]
+ public void UpdateFromStringDummy_InvalidLength_ShouldReturnFalse_AndSetInvalidFlag()
+ {
+ var telegram = new OptoTelegramRaw();
+
+ bool result = telegram.UpdateFromStringDummy("short");
+
+ Assert.IsFalse(result);
+ Assert.AreEqual(OptoTelegramFlags.InvalidTelegram, telegram.Flags);
+ }
+
+ [TestMethod]
+ public void UpdateFromStringDummy_ValidFormatButWrongChecksum_ShouldReturnFalse_AndSetInvalidFlag()
+ {
+ var telegram = new OptoTelegramRaw();
+
+ string dummy = "FFFFFE\t51EA\t0000\t65324E\t0087\tF6319DFF\t00\r\n";
+
+ bool result = telegram.UpdateFromStringDummy(dummy);
+
+ Assert.IsFalse(result);
+ Assert.AreEqual(OptoTelegramFlags.InvalidTelegram, telegram.Flags);
+ }
+
+ [TestMethod]
+ public void ToString_WhenSyncError_ShouldReturnSynchronizationErrorText()
+ {
+ var telegram = new OptoTelegramRaw
+ {
+ Flags = OptoTelegramFlags.SyncError
+ };
+
+ string text = telegram.ToString(1.0, null);
+
+ Assert.AreEqual("Sychronization error", text);
+ }
+
+ [TestMethod]
+ public void ToString_WhenInvalidTelegram_ShouldReturnInvalidTelegramText()
+ {
+ var telegram = new OptoTelegramRaw
+ {
+ Flags = OptoTelegramFlags.InvalidTelegram
+ };
+
+ string text = telegram.ToString(1.0, null);
+
+ Assert.AreEqual("Invalid telegram", text);
+ }
+
+ [TestMethod]
+ public void ToString_WhenOk_ShouldContainCounterAndLabel()
+ {
+ var telegram = new OptoTelegramRaw
+ {
+ Flags = OptoTelegramFlags.OK_TestStart,
+ DateTime = new DateTime(2024, 1, 1, 10, 11, 12, 123),
+ Counter = 5,
+ EmfRaw = 1,
+ MagneticFieldRaw = 2,
+ FlowRaw = 3,
+ VolumeRaw = 4,
+ Impedance = 5,
+ Timestamp = 6,
+ CheckSum = 7,
+ VolumeRawExt = 1000,
+ TimestampExt = 8192,
+ RefFlow = 1.25f
+ };
+
+ OptoTelegramRaw.TestStartTimestampDec = 0m;
+
+ string text = telegram.ToString(2.0, null);
+
+ Assert.IsTrue(text.Contains("5 :"), "Counter should be present in output.");
+ Assert.IsTrue(text.Contains("#### start test ####"), "Label should be present in output.");
+ }
+ }
+}
\ No newline at end of file
diff --git a/TBFTests/TBFTests.csproj b/TBFTests/TBFTests.csproj
index 69a472d5b..0dcbe63d1 100644
--- a/TBFTests/TBFTests.csproj
+++ b/TBFTests/TBFTests.csproj
@@ -9,7 +9,7 @@
Properties
TBFTests
TBFTests
- v4.7.2
+ v4.8
512
{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
10.0
@@ -19,6 +19,7 @@
UnitTest
+ 8
true
@@ -135,6 +136,7 @@
+
@@ -159,11 +161,10 @@
SchematicDrawing
- {8648FD92-CDA1-4C3A-B5F9-FE547CE1FA48}
+ {8648fd92-cda1-4c3a-b5f9-fe547ce1fa48}
TBF
-
diff --git a/packages/Common/Logic.ProductionToProductMapper.dll b/packages/Common/Logic.ProductionToProductMapper.dll
index 82c9c5426..39861edde 100644
Binary files a/packages/Common/Logic.ProductionToProductMapper.dll and b/packages/Common/Logic.ProductionToProductMapper.dll differ
diff --git a/packages/Common/Logic.ProductionToProductMapper.pdb b/packages/Common/Logic.ProductionToProductMapper.pdb
index 0ef52929c..18af7a487 100644
Binary files a/packages/Common/Logic.ProductionToProductMapper.pdb and b/packages/Common/Logic.ProductionToProductMapper.pdb differ
diff --git a/packages/Common/NLog.xml b/packages/Common/NLog.xml
index b886eaa79..65f7343a4 100644
--- a/packages/Common/NLog.xml
+++ b/packages/Common/NLog.xml
@@ -4,4858 +4,6 @@
NLog
-
-
- Indicates that the value of the marked element could be null sometimes,
- so the check for null is necessary before its usage.
-
-
- [CanBeNull] object Test() => null;
-
- void UseTest() {
- var p = Test();
- var s = p.ToString(); // Warning: Possible 'System.NullReferenceException'
- }
-
-
-
-
- Indicates that the value of the marked element could never be null.
-
-
- [NotNull] object Foo() {
- return null; // Warning: Possible 'null' assignment
- }
-
-
-
-
- Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task
- and Lazy classes to indicate that the value of a collection item, of the Task.Result property
- or of the Lazy.Value property can never be null.
-
-
-
-
- Can be appplied to symbols of types derived from IEnumerable as well as to symbols of Task
- and Lazy classes to indicate that the value of a collection item, of the Task.Result property
- or of the Lazy.Value property can be null.
-
-
-
-
- Indicates that the marked method builds string by format pattern and (optional) arguments.
- Parameter, which contains format string, should be given in constructor. The format string
- should be in -like form.
-
-
- [StringFormatMethod("message")]
- void ShowError(string message, params object[] args) { /* do something */ }
-
- void Foo() {
- ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
- }
-
-
-
-
- Specifies which parameter of an annotated method should be treated as format-string
-
-
-
-
- For a parameter that is expected to be one of the limited set of values.
- Specify fields of which type should be used as values for this parameter.
-
-
-
-
- Indicates that the function argument should be string literal and match one
- of the parameters of the caller function. For example, ReSharper annotates
- the parameter of .
-
-
- void Foo(string param) {
- if (param == null)
- throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol
- }
-
-
-
-
- Indicates that the method is contained in a type that implements
- System.ComponentModel.INotifyPropertyChanged interface and this method
- is used to notify that some property value changed.
-
-
- The method should be non-static and conform to one of the supported signatures:
-
- - NotifyChanged(string)
- - NotifyChanged(params string[])
- - NotifyChanged{T}(Expression{Func{T}})
- - NotifyChanged{T,U}(Expression{Func{T,U}})
- - SetProperty{T}(ref T, T, string)
-
-
-
- public class Foo : INotifyPropertyChanged {
- public event PropertyChangedEventHandler PropertyChanged;
-
- [NotifyPropertyChangedInvocator]
- protected virtual void NotifyChanged(string propertyName) { ... }
-
- string _name;
-
- public string Name {
- get { return _name; }
- set { _name = value; NotifyChanged("LastName"); /* Warning */ }
- }
- }
-
- Examples of generated notifications:
-
- - NotifyChanged("Property")
- - NotifyChanged(() => Property)
- - NotifyChanged((VM x) => x.Property)
- - SetProperty(ref myField, value, "Property")
-
-
-
-
-
- Describes dependency between method input and output.
-
-
- Function Definition Table syntax:
-
- - FDT ::= FDTRow [;FDTRow]*
- - FDTRow ::= Input => Output | Output <= Input
- - Input ::= ParameterName: Value [, Input]*
- - Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value}
- - Value ::= true | false | null | notnull | canbenull
-
- If method has single input parameter, it's name could be omitted.
- Using halt (or void/nothing, which is the same) for method output
- means that the methods doesn't return normally (throws or terminates the process).
- Value canbenull is only applicable for output parameters.
- You can use multiple [ContractAnnotation] for each FDT row, or use single attribute
- with rows separated by semicolon. There is no notion of order rows, all rows are checked
- for applicability and applied per each program state tracked by R# analysis.
-
-
-
- [ContractAnnotation("=> halt")]
- public void TerminationMethod()
-
-
- [ContractAnnotation("halt <= condition: false")]
- public void Assert(bool condition, string text) // regular assertion method
-
-
- [ContractAnnotation("s:null => true")]
- public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty()
-
-
- // A method that returns null if the parameter is null,
- // and not null if the parameter is not null
- [ContractAnnotation("null => null; notnull => notnull")]
- public object Transform(object data)
-
-
- [ContractAnnotation("=> true, result: notnull; => false, result: null")]
- public bool TryParse(string s, out Person result)
-
-
-
-
-
- Indicates that marked element should be localized or not.
-
-
- [LocalizationRequiredAttribute(true)]
- class Foo {
- string str = "my string"; // Warning: Localizable string
- }
-
-
-
-
- Indicates that the value of the marked type (or its derivatives)
- cannot be compared using '==' or '!=' operators and Equals()
- should be used instead. However, using '==' or '!=' for comparison
- with null is always permitted.
-
-
- [CannotApplyEqualityOperator]
- class NoEquality { }
-
- class UsesNoEquality {
- void Test() {
- var ca1 = new NoEquality();
- var ca2 = new NoEquality();
- if (ca1 != null) { // OK
- bool condition = ca1 == ca2; // Warning
- }
- }
- }
-
-
-
-
- When applied to a target attribute, specifies a requirement for any type marked
- with the target attribute to implement or inherit specific type or types.
-
-
- [BaseTypeRequired(typeof(IComponent)] // Specify requirement
- class ComponentAttribute : Attribute { }
-
- [Component] // ComponentAttribute requires implementing IComponent interface
- class MyComponent : IComponent { }
-
-
-
-
- Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library),
- so this symbol will not be marked as unused (as well as by other usage inspections).
-
-
-
-
- Should be used on attributes and causes ReSharper to not mark symbols marked with such attributes
- as unused (as well as by other usage inspections)
-
-
-
- Only entity marked with attribute considered used.
-
-
- Indicates implicit assignment to a member.
-
-
-
- Indicates implicit instantiation of a type with fixed constructor signature.
- That means any unused constructor parameters won't be reported as such.
-
-
-
- Indicates implicit instantiation of a type.
-
-
-
- Specify what is considered used implicitly when marked
- with or .
-
-
-
- Members of entity marked with attribute are considered used.
-
-
- Entity marked with attribute and all its members considered used.
-
-
-
- This attribute is intended to mark publicly available API
- which should not be removed and so is treated as used.
-
-
-
-
- Tells code analysis engine if the parameter is completely handled when the invoked method is on stack.
- If the parameter is a delegate, indicates that delegate is executed while the method is executed.
- If the parameter is an enumerable, indicates that it is enumerated while the method is executed.
-
-
-
-
- Indicates that a method does not make any observable state changes.
- The same as System.Diagnostics.Contracts.PureAttribute.
-
-
- [Pure] int Multiply(int x, int y) => x * y;
-
- void M() {
- Multiply(123, 42); // Waring: Return value of pure method is not used
- }
-
-
-
-
- Indicates that the return value of method invocation must be used.
-
-
-
-
- Indicates the type member or parameter of some type, that should be used instead of all other ways
- to get the value that type. This annotation is useful when you have some "context" value evaluated
- and stored somewhere, meaning that all other ways to get this value must be consolidated with existing one.
-
-
- class Foo {
- [ProvidesContext] IBarService _barService = ...;
-
- void ProcessNode(INode node) {
- DoSomething(node, node.GetGlobalServices().Bar);
- // ^ Warning: use value of '_barService' field
- }
- }
-
-
-
-
- Indicates that a parameter is a path to a file or a folder within a web project.
- Path can be relative or absolute, starting from web root (~).
-
-
-
-
- An extension method marked with this attribute is processed by ReSharper code completion
- as a 'Source Template'. When extension method is completed over some expression, it's source code
- is automatically expanded like a template at call site.
-
-
- Template method body can contain valid source code and/or special comments starting with '$'.
- Text inside these comments is added as source code when the template is applied. Template parameters
- can be used either as additional method parameters or as identifiers wrapped in two '$' signs.
- Use the attribute to specify macros for parameters.
-
-
- In this example, the 'forEach' method is a source template available over all values
- of enumerable types, producing ordinary C# 'foreach' statement and placing caret inside block:
-
- [SourceTemplate]
- public static void forEach<T>(this IEnumerable<T> xs) {
- foreach (var x in xs) {
- //$ $END$
- }
- }
-
-
-
-
-
- Allows specifying a macro for a parameter of a source template.
-
-
- You can apply the attribute on the whole method or on any of its additional parameters. The macro expression
- is defined in the property. When applied on a method, the target
- template parameter is defined in the property. To apply the macro silently
- for the parameter, set the property value = -1.
-
-
- Applying the attribute on a source template method:
-
- [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")]
- public static void forEach<T>(this IEnumerable<T> collection) {
- foreach (var item in collection) {
- //$ $END$
- }
- }
-
- Applying the attribute on a template method parameter:
-
- [SourceTemplate]
- public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) {
- /*$ var $x$Id = "$newguid$" + x.ToString();
- x.DoSomething($x$Id); */
- }
-
-
-
-
-
- Allows specifying a macro that will be executed for a source template
- parameter when the template is expanded.
-
-
-
-
- Allows specifying which occurrence of the target parameter becomes editable when the template is deployed.
-
-
- If the target parameter is used several times in the template, only one occurrence becomes editable;
- other occurrences are changed synchronously. To specify the zero-based index of the editable occurrence,
- use values >= 0. To make the parameter non-editable when the template is expanded, use -1.
- >
-
-
-
- Identifies the target parameter of a source template if the
- is applied on a template method.
-
-
-
-
- ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
- is an MVC action. If applied to a method, the MVC action name is calculated
- implicitly from the context. Use this attribute for custom wrappers similar to
- System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String).
-
-
-
-
- ASP.NET MVC attribute. Indicates that a parameter is an MVC area.
- Use this attribute for custom wrappers similar to
- System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String).
-
-
-
-
- ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is
- an MVC controller. If applied to a method, the MVC controller name is calculated
- implicitly from the context. Use this attribute for custom wrappers similar to
- System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper, String, String).
-
-
-
-
- ASP.NET MVC attribute. Indicates that a parameter is an MVC Master. Use this attribute
- for custom wrappers similar to System.Web.Mvc.Controller.View(String, String).
-
-
-
-
- ASP.NET MVC attribute. Indicates that a parameter is an MVC model type. Use this attribute
- for custom wrappers similar to System.Web.Mvc.Controller.View(String, Object).
-
-
-
-
- ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter is an MVC
- partial view. If applied to a method, the MVC partial view name is calculated implicitly
- from the context. Use this attribute for custom wrappers similar to
- System.Web.Mvc.Html.RenderPartialExtensions.RenderPartial(HtmlHelper, String).
-
-
-
-
- ASP.NET MVC attribute. Allows disabling inspections for MVC views within a class or a method.
-
-
-
-
- ASP.NET MVC attribute. Indicates that a parameter is an MVC display template.
- Use this attribute for custom wrappers similar to
- System.Web.Mvc.Html.DisplayExtensions.DisplayForModel(HtmlHelper, String).
-
-
-
-
- ASP.NET MVC attribute. Indicates that a parameter is an MVC editor template.
- Use this attribute for custom wrappers similar to
- System.Web.Mvc.Html.EditorExtensions.EditorForModel(HtmlHelper, String).
-
-
-
-
- ASP.NET MVC attribute. Indicates that a parameter is an MVC template.
- Use this attribute for custom wrappers similar to
- System.ComponentModel.DataAnnotations.UIHintAttribute(System.String).
-
-
-
-
- ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
- is an MVC view component. If applied to a method, the MVC view name is calculated implicitly
- from the context. Use this attribute for custom wrappers similar to
- System.Web.Mvc.Controller.View(Object).
-
-
-
-
- ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
- is an MVC view component name.
-
-
-
-
- ASP.NET MVC attribute. If applied to a parameter, indicates that the parameter
- is an MVC view component view. If applied to a method, the MVC view component view name is default.
-
-
-
-
- ASP.NET MVC attribute. When applied to a parameter of an attribute,
- indicates that this parameter is an MVC action name.
-
-
- [ActionName("Foo")]
- public ActionResult Login(string returnUrl) {
- ViewBag.ReturnUrl = Url.Action("Foo"); // OK
- return RedirectToAction("Bar"); // Error: Cannot resolve action
- }
-
-
-
-
- Razor attribute. Indicates that a parameter or a method is a Razor section.
- Use this attribute for custom wrappers similar to
- System.Web.WebPages.WebPageBase.RenderSection(String).
-
-
-
-
- Indicates how method, constructor invocation or property access
- over collection type affects content of the collection.
-
-
-
- Method does not use or modify content of the collection.
-
-
- Method only reads content of the collection but does not modify it.
-
-
- Method can change content of the collection but does not add new elements.
-
-
- Method can add new elements to the collection.
-
-
-
- Indicates that the marked method is assertion method, i.e. it halts control flow if
- one of the conditions is satisfied. To set the condition, mark one of the parameters with
- attribute.
-
-
-
-
- Indicates the condition parameter of the assertion method. The method itself should be
- marked by attribute. The mandatory argument of
- the attribute is the assertion type.
-
-
-
-
- Specifies assertion type. If the assertion method argument satisfies the condition,
- then the execution continues. Otherwise, execution is assumed to be halted.
-
-
-
- Marked parameter should be evaluated to true.
-
-
- Marked parameter should be evaluated to false.
-
-
- Marked parameter should be evaluated to null value.
-
-
- Marked parameter should be evaluated to not null value.
-
-
-
- Indicates that the marked method unconditionally terminates control flow execution.
- For example, it could unconditionally throw exception.
-
-
-
-
- Indicates that method is pure LINQ method, with postponed enumeration (like Enumerable.Select,
- .Where). This annotation allows inference of [InstantHandle] annotation for parameters
- of delegate type by analyzing LINQ method chains.
-
-
-
-
- Indicates that IEnumerable, passed as parameter, is not enumerated.
-
-
-
-
- Indicates that parameter is regular expression pattern.
-
-
-
-
- Prevents the Member Reordering feature from tossing members of the marked class.
-
-
- The attribute must be mentioned in your member reordering patterns
-
-
-
-
- XAML attribute. Indicates the type that has ItemsSource property and should be treated
- as ItemsControl-derived type, to enable inner items DataContext type resolve.
-
-
-
-
- XAML attribute. Indicates the property of some BindingBase-derived type, that
- is used to bind some item of ItemsControl-derived type. This annotation will
- enable the DataContext type resolve for XAML bindings for such properties.
-
-
- Property should have the tree ancestor of the ItemsControl type or
- marked with the attribute.
-
-
-
-
- Support implementation of
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Asynchronous continuation delegate - function invoked at the end of asynchronous
- processing.
-
- Exception during asynchronous processing or null if no exception
- was thrown.
-
-
-
- Helpers for asynchronous operations.
-
-
-
-
- Iterates over all items in the given collection and runs the specified action
- in sequence (each action executes only after the preceding one has completed without an error).
-
- Type of each item.
- The items to iterate.
- The asynchronous continuation to invoke once all items
- have been iterated.
- The action to invoke for each item.
-
-
-
- Repeats the specified asynchronous action multiple times and invokes asynchronous continuation at the end.
-
- The repeat count.
- The asynchronous continuation to invoke at the end.
- The action to invoke.
-
-
-
- Modifies the continuation by pre-pending given action to execute just before it.
-
- The async continuation.
- The action to pre-pend.
- Continuation which will execute the given action before forwarding to the actual continuation.
-
-
-
- Attaches a timeout to a continuation which will invoke the continuation when the specified
- timeout has elapsed.
-
- The asynchronous continuation.
- The timeout.
- Wrapped continuation.
-
-
-
- Iterates over all items in the given collection and runs the specified action
- in parallel (each action executes on a thread from thread pool).
-
- Type of each item.
- The items to iterate.
- The asynchronous continuation to invoke once all items
- have been iterated.
- The action to invoke for each item.
-
-
-
- Runs the specified asynchronous action synchronously (blocks until the continuation has
- been invoked).
-
- The action.
-
- Using this method is not recommended because it will block the calling thread.
-
-
-
-
- Wraps the continuation with a guard which will only make sure that the continuation function
- is invoked only once.
-
- The asynchronous continuation.
- Wrapped asynchronous continuation.
-
-
-
- Gets the combined exception from all exceptions in the list.
-
- The exceptions.
- Combined exception or null if no exception was thrown.
-
-
-
- Disposes the Timer, and waits for it to leave the Timer-callback-method
-
- The Timer object to dispose
- Timeout to wait (TimeSpan.Zero means dispose without wating)
- Timer disposed within timeout (true/false)
-
-
-
- Asynchronous action.
-
- Continuation to be invoked at the end of action.
-
-
-
- Asynchronous action with one argument.
-
- Type of the argument.
- Argument to the action.
- Continuation to be invoked at the end of action.
-
-
-
- Represents the logging event with asynchronous continuation.
-
-
-
-
- Initializes a new instance of the struct.
-
- The log event.
- The continuation.
-
-
-
- Gets the log event.
-
-
-
-
- Gets the continuation.
-
-
-
-
- Implements the operator ==.
-
- The event info1.
- The event info2.
- The result of the operator.
-
-
-
- Implements the operator ==.
-
- The event info1.
- The event info2.
- The result of the operator.
-
-
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
-
- A value of true if the specified is equal to this instance; otherwise, false.
-
-
-
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
-
-
-
- String Conversion Helpers
-
-
-
-
- Converts input string value into
-
- Input value
- Output value
- Default value
- Returns failure if the input value could not be parsed
-
-
-
- Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-sensitive. The return value indicates whether the conversion succeeded.
-
- The enumeration type to which to convert value.
- The string representation of the enumeration name or underlying value to convert.
- When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. If the parse operation fails, result contains the default value of the underlying type of TEnum. Note that this value need not be a member of the TEnum enumeration. This parameter is passed uninitialized.
- true if the value parameter was converted successfully; otherwise, false.
- Wrapper because Enum.TryParse is not present in .net 3.5
-
-
-
- Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-sensitive. The return value indicates whether the conversion succeeded.
-
- The enumeration type to which to convert value.
- The string representation of the enumeration name or underlying value to convert.
- true to ignore case; false to consider case.
- When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. If the parse operation fails, result contains the default value of the underlying type of TEnum. Note that this value need not be a member of the TEnum enumeration. This parameter is passed uninitialized.
- true if the value parameter was converted successfully; otherwise, false.
- Wrapper because Enum.TryParse is not present in .net 3.5
-
-
-
- Enum.TryParse implementation for .net 3.5
-
-
-
- Don't uses reflection
-
-
-
- NLog internal logger.
-
- Writes to file, console or custom textwriter (see )
-
-
- Don't use as that can lead to recursive calls - stackoverflows
-
-
-
-
- Gets a value indicating whether internal log includes Trace messages.
-
-
-
-
- Gets a value indicating whether internal log includes Debug messages.
-
-
-
-
- Gets a value indicating whether internal log includes Info messages.
-
-
-
-
- Gets a value indicating whether internal log includes Warn messages.
-
-
-
-
- Gets a value indicating whether internal log includes Error messages.
-
-
-
-
- Gets a value indicating whether internal log includes Fatal messages.
-
-
-
-
- Logs the specified message without an at the Trace level.
-
- Message which may include positional parameters.
- Arguments to the message.
-
-
-
- Logs the specified message without an at the Trace level.
-
- Log message.
-
-
-
- Logs the specified message without an at the Trace level.
- will be only called when logging is enabled for level Trace.
-
- Function that returns the log message.
-
-
-
- Logs the specified message with an at the Trace level.
-
- Exception to be logged.
- Message which may include positional parameters.
- Arguments to the message.
-
-
-
- Logs the specified message without an at the Trace level.
-
- The type of the first argument.
- Message which may include positional parameters.
- Argument {0} to the message.
-
-
-
- Logs the specified message without an at the Trace level.
-
- The type of the first argument.
- The type of the second argument.
- Message which may include positional parameters.
- Argument {0} to the message.
- Argument {1} to the message.
-
-
-
- Logs the specified message without an at the Trace level.
-
- The type of the first argument.
- The type of the second argument.
- The type of the third argument.
- Message which may include positional parameters.
- Argument {0} to the message.
- Argument {1} to the message.
- Argument {2} to the message.
-
-
-
- Logs the specified message with an at the Trace level.
-
- Exception to be logged.
- Log message.
-
-
-
- Logs the specified message with an at the Trace level.
- will be only called when logging is enabled for level Trace.
-
- Exception to be logged.
- Function that returns the log message.
-
-
-
- Logs the specified message without an at the Debug level.
-
- Message which may include positional parameters.
- Arguments to the message.
-
-
-
- Logs the specified message without an at the Debug level.
-
- Log message.
-
-
-
- Logs the specified message without an at the Debug level.
- will be only called when logging is enabled for level Debug.
-
- Function that returns the log message.
-
-
-
- Logs the specified message with an at the Debug level.
-
- Exception to be logged.
- Message which may include positional parameters.
- Arguments to the message.
-
-
-
- Logs the specified message without an at the Trace level.
-
- The type of the first argument.
- Message which may include positional parameters.
- Argument {0} to the message.
-
-
-
- Logs the specified message without an at the Trace level.
-
- The type of the first argument.
- The type of the second argument.
- Message which may include positional parameters.
- Argument {0} to the message.
- Argument {1} to the message.
-
-
-
- Logs the specified message without an at the Trace level.
-
- The type of the first argument.
- The type of the second argument.
- The type of the third argument.
- Message which may include positional parameters.
- Argument {0} to the message.
- Argument {1} to the message.
- Argument {2} to the message.
-
-
-
- Logs the specified message with an at the Debug level.
-
- Exception to be logged.
- Log message.
-
-
-
- Logs the specified message with an at the Debug level.
- will be only called when logging is enabled for level Debug.
-
- Exception to be logged.
- Function that returns the log message.
-
-
-
- Logs the specified message without an at the Info level.
-
- Message which may include positional parameters.
- Arguments to the message.
-
-
-
- Logs the specified message without an at the Info level.
-
- Log message.
-
-
-
- Logs the specified message without an at the Info level.
- will be only called when logging is enabled for level Info.
-
- Function that returns the log message.
-
-
-
- Logs the specified message with an at the Info level.
-
- Exception to be logged.
- Message which may include positional parameters.
- Arguments to the message.
-
-
-
- Logs the specified message without an at the Trace level.
-
- The type of the first argument.
- Message which may include positional parameters.
- Argument {0} to the message.
-
-
-
- Logs the specified message without an at the Trace level.
-
- The type of the first argument.
- The type of the second argument.
- Message which may include positional parameters.
- Argument {0} to the message.
- Argument {1} to the message.
-
-
-
- Logs the specified message without an at the Trace level.
-
- The type of the first argument.
- The type of the second argument.
- The type of the third argument.
- Message which may include positional parameters.
- Argument {0} to the message.
- Argument {1} to the message.
- Argument {2} to the message.
-
-
-
- Logs the specified message with an at the Info level.
-
- Exception to be logged.
- Log message.
-
-
-
- Logs the specified message with an at the Info level.
- will be only called when logging is enabled for level Info.
-
- Exception to be logged.
- Function that returns the log message.
-
-
-
- Logs the specified message without an at the Warn level.
-
- Message which may include positional parameters.
- Arguments to the message.
-
-
-
- Logs the specified message without an at the Warn level.
-
- Log message.
-
-
-
- Logs the specified message without an at the Warn level.
- will be only called when logging is enabled for level Warn.
-
- Function that returns the log message.
-
-
-
- Logs the specified message with an at the Warn level.
-
- Exception to be logged.
- Message which may include positional parameters.
- Arguments to the message.
-
-
-
- Logs the specified message without an at the Trace level.
-
- The type of the first argument.
- Message which may include positional parameters.
- Argument {0} to the message.
-
-
-
- Logs the specified message without an at the Trace level.
-
- The type of the first argument.
- The type of the second argument.
- Message which may include positional parameters.
- Argument {0} to the message.
- Argument {1} to the message.
-
-
-
- Logs the specified message without an at the Trace level.
-
- The type of the first argument.
- The type of the second argument.
- The type of the third argument.
- Message which may include positional parameters.
- Argument {0} to the message.
- Argument {1} to the message.
- Argument {2} to the message.
-
-
-
- Logs the specified message with an at the Warn level.
-
- Exception to be logged.
- Log message.
-
-
-
- Logs the specified message with an at the Warn level.
- will be only called when logging is enabled for level Warn.
-
- Exception to be logged.
- Function that returns the log message.
-
-
-
- Logs the specified message without an at the Error level.
-
- Message which may include positional parameters.
- Arguments to the message.
-
-
-
- Logs the specified message without an at the Error level.
-
- Log message.
-
-
-
- Logs the specified message without an at the Error level.
- will be only called when logging is enabled for level Error.
-
- Function that returns the log message.
-
-
-
- Logs the specified message with an at the Error level.
-
- Exception to be logged.
- Message which may include positional parameters.
- Arguments to the message.
-
-
-
- Logs the specified message without an at the Trace level.
-
- The type of the first argument.
- Message which may include positional parameters.
- Argument {0} to the message.
-
-
-
- Logs the specified message without an at the Trace level.
-
- The type of the first argument.
- The type of the second argument.
- Message which may include positional parameters.
- Argument {0} to the message.
- Argument {1} to the message.
-
-
-
- Logs the specified message without an at the Trace level.
-
- The type of the first argument.
- The type of the second argument.
- The type of the third argument.
- Message which may include positional parameters.
- Argument {0} to the message.
- Argument {1} to the message.
- Argument {2} to the message.
-
-
-
- Logs the specified message with an at the Error level.
-
- Exception to be logged.
- Log message.
-
-
-
- Logs the specified message with an at the Error level.
- will be only called when logging is enabled for level Error.
-
- Exception to be logged.
- Function that returns the log message.
-
-
-
- Logs the specified message without an at the Fatal level.
-
- Message which may include positional parameters.
- Arguments to the message.
-
-
-
- Logs the specified message without an at the Fatal level.
-
- Log message.
-
-
-
- Logs the specified message without an at the Fatal level.
- will be only called when logging is enabled for level Fatal.
-
- Function that returns the log message.
-
-
-
- Logs the specified message with an at the Fatal level.
-
- Exception to be logged.
- Message which may include positional parameters.
- Arguments to the message.
-
-
-
- Logs the specified message without an at the Trace level.
-
- The type of the first argument.
- Message which may include positional parameters.
- Argument {0} to the message.
-
-
-
- Logs the specified message without an at the Trace level.
-
- The type of the first argument.
- The type of the second argument.
- Message which may include positional parameters.
- Argument {0} to the message.
- Argument {1} to the message.
-
-
-
- Logs the specified message without an at the Trace level.
-
- The type of the first argument.
- The type of the second argument.
- The type of the third argument.
- Message which may include positional parameters.
- Argument {0} to the message.
- Argument {1} to the message.
- Argument {2} to the message.
-
-
-
- Logs the specified message with an at the Fatal level.
-
- Exception to be logged.
- Log message.
-
-
-
- Logs the specified message with an at the Fatal level.
- will be only called when logging is enabled for level Fatal.
-
- Exception to be logged.
- Function that returns the log message.
-
-
-
- Initializes static members of the InternalLogger class.
-
-
-
-
- Set the config of the InternalLogger with defaults and config.
-
-
-
-
- Gets or sets the minimal internal log level.
-
- If set to , then messages of the levels , and will be written.
-
-
-
- Gets or sets a value indicating whether internal messages should be written to the console output stream.
-
- Your application must be a console application.
-
-
-
- Gets or sets a value indicating whether internal messages should be written to the console error stream.
-
- Your application must be a console application.
-
-
-
- Gets or sets a value indicating whether internal messages should be written to the .Trace
-
-
-
-
- Gets or sets the file path of the internal log file.
-
- A value of value disables internal logging to a file.
-
-
-
- Gets or sets the text writer that will receive internal logs.
-
-
-
-
- Gets or sets a value indicating whether timestamp should be included in internal log output.
-
-
-
-
- Is there an thrown when writing the message?
-
-
-
-
- Logs the specified message without an at the specified level.
-
- Log level.
- Message which may include positional parameters.
- Arguments to the message.
-
-
-
- Logs the specified message without an at the specified level.
-
- Log level.
- Log message.
-
-
-
- Logs the specified message without an at the specified level.
- will be only called when logging is enabled for level .
-
- Log level.
- Function that returns the log message.
-
-
-
- Logs the specified message with an at the specified level.
- will be only called when logging is enabled for level .
-
- Exception to be logged.
- Log level.
- Function that returns the log message.
-
-
-
- Logs the specified message with an at the specified level.
-
- Exception to be logged.
- Log level.
- Message which may include positional parameters.
- Arguments to the message.
-
-
-
- Logs the specified message with an at the specified level.
-
- Exception to be logged.
- Log level.
- Log message.
-
-
-
- Write to internallogger.
-
- optional exception to be logged.
- level
- message
- optional args for
-
-
-
- Determine if logging should be avoided because of exception type.
-
- The exception to check.
- true if logging should be avoided; otherwise, false.
-
-
-
- Determine if logging is enabled for given LogLevel
-
- The for the log event.
- true if logging is enabled; otherwise, false.
-
-
-
- Determine if logging is enabled.
-
- true if logging is enabled; otherwise, false.
-
-
-
- Write internal messages to the log file defined in .
-
- Message to write.
-
- Message will be logged only when the property is not null, otherwise the
- method has no effect.
-
-
-
-
- Write internal messages to the defined in .
-
- Message to write.
-
- Message will be logged only when the property is not null, otherwise the
- method has no effect.
-
-
-
-
- Write internal messages to the .
-
- Message to write.
-
- Message will be logged only when the property is true, otherwise the
- method has no effect.
-
-
-
-
- Write internal messages to the .
-
- Message to write.
-
- Message will be logged when the property is true, otherwise the
- method has no effect.
-
-
-
-
- Write internal messages to the .
-
- A message to write.
-
- Works when property set to true.
- The is used in Debug and Release configuration.
- The works only in Debug configuration and this is reason why is replaced by .
- in DEBUG
-
-
-
-
- Logs the assembly version and file version of the given Assembly.
-
- The assembly to log.
-
-
-
- A cyclic buffer of object.
-
-
-
-
- Initializes a new instance of the class.
-
- Buffer size.
- Whether buffer should grow as it becomes full.
- The maximum number of items that the buffer can grow to.
-
-
-
- Gets the capacity of the buffer
-
-
-
-
- Gets the number of items in the buffer
-
-
-
-
- Adds the specified log event to the buffer.
-
- Log event.
- The number of items in the buffer.
-
-
-
- Gets the array of events accumulated in the buffer and clears the buffer as one atomic operation.
-
- Events in the buffer.
-
-
-
- Condition and expression.
-
-
-
-
- Initializes a new instance of the class.
-
- Left hand side of the AND expression.
- Right hand side of the AND expression.
-
-
-
- Gets the left hand side of the AND expression.
-
-
-
-
- Gets the right hand side of the AND expression.
-
-
-
-
- Returns a string representation of this expression.
-
- A concatenated '(Left) and (Right)' string.
-
-
-
- Evaluates the expression by evaluating and recursively.
-
- Evaluation context.
- The value of the conjunction operator.
-
-
-
- Exception during evaluation of condition expression.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- The message.
-
-
-
- Initializes a new instance of the class.
-
- The message.
- The inner exception.
-
-
-
- Initializes a new instance of the class.
-
- The that holds the serialized object data about the exception being thrown.
- The that contains contextual information about the source or destination.
-
- The parameter is null.
-
-
- The class name is null or is zero (0).
-
-
-
-
- Base class for representing nodes in condition expression trees.
-
-
-
-
- Converts condition text to a condition expression tree.
-
- Condition text to be converted.
- Condition expression tree.
-
-
-
- Evaluates the expression.
-
- Evaluation context.
- Expression result.
-
-
-
- Returns a string representation of the expression.
-
-
- A that represents the condition expression.
-
-
-
-
- Evaluates the expression.
-
- Evaluation context.
- Expression result.
-
-
-
- Condition layout expression (represented by a string literal
- with embedded ${}).
-
-
-
-
- Initializes a new instance of the class.
-
- The layout.
-
-
-
- Gets the layout.
-
- The layout.
-
-
-
- Returns a string representation of this expression.
-
- String literal in single quotes.
-
-
-
- Evaluates the expression by calculating the value
- of the layout in the specified evaluation context.
-
- Evaluation context.
- The value of the layout.
-
-
-
- Condition level expression (represented by the level keyword).
-
-
-
-
- Returns a string representation of the expression.
-
- The 'level' string.
-
-
-
- Evaluates to the current log level.
-
- Evaluation context. Ignored.
- The object representing current log level.
-
-
-
- Condition literal expression (numeric, LogLevel.XXX, true or false).
-
-
-
-
- Initializes a new instance of the class.
-
- Literal value.
-
-
-
- Gets the literal value.
-
- The literal value.
-
-
-
- Returns a string representation of the expression.
-
- The literal value.
-
-
-
- Evaluates the expression.
-
- Evaluation context.
- The literal value as passed in the constructor.
-
-
-
- Condition logger name expression (represented by the logger keyword).
-
-
-
-
- Returns a string representation of this expression.
-
- A logger string.
-
-
-
- Evaluates to the logger name.
-
- Evaluation context.
- The logger name.
-
-
-
- Condition message expression (represented by the message keyword).
-
-
-
-
- Returns a string representation of this expression.
-
- The 'message' string.
-
-
-
- Evaluates to the logger message.
-
- Evaluation context.
- The logger message.
-
-
-
- Marks class as a log event Condition and assigns a name to it.
-
-
-
-
- Initializes a new instance of the class.
-
- Condition method name.
-
-
-
- Condition method invocation expression (represented by method(p1,p2,p3) syntax).
-
-
-
-
- Initializes a new instance of the class.
-
- Name of the condition method.
- of the condition method.
- The method parameters.
-
-
-
- Gets the method info.
-
-
-
-
- Gets the method parameters.
-
- The method parameters.
-
-
-
- Returns a string representation of the expression.
-
-
- A that represents the condition expression.
-
-
-
-
- Evaluates the expression.
-
- Evaluation context.
- Expression result.
-
-
-
- A bunch of utility methods (mostly predicates) which can be used in
- condition expressions. Partially inspired by XPath 1.0.
-
-
-
-
- Compares two values for equality.
-
- The first value.
- The second value.
- true when two objects are equal, false otherwise.
-
-
-
- Compares two strings for equality.
-
- The first string.
- The second string.
- Optional. If true, case is ignored; if false (default), case is significant.
- true when two strings are equal, false otherwise.
-
-
-
- Gets or sets a value indicating whether the second string is a substring of the first one.
-
- The first string.
- The second string.
- Optional. If true (default), case is ignored; if false, case is significant.
- true when the second string is a substring of the first string, false otherwise.
-
-
-
- Gets or sets a value indicating whether the second string is a prefix of the first one.
-
- The first string.
- The second string.
- Optional. If true (default), case is ignored; if false, case is significant.
- true when the second string is a prefix of the first string, false otherwise.
-
-
-
- Gets or sets a value indicating whether the second string is a suffix of the first one.
-
- The first string.
- The second string.
- Optional. If true (default), case is ignored; if false, case is significant.
- true when the second string is a prefix of the first string, false otherwise.
-
-
-
- Returns the length of a string.
-
- A string whose lengths is to be evaluated.
- The length of the string.
-
-
-
- Indicates whether the specified regular expression finds a match in the specified input string.
-
- The string to search for a match.
- The regular expression pattern to match.
- A string consisting of the desired options for the test. The possible values are those of the separated by commas.
- true if the regular expression finds a match; otherwise, false.
-
-
-
-
-
-
-
-
-
-
- Marks the class as containing condition methods.
-
-
-
-
- Condition not expression.
-
-
-
-
- Initializes a new instance of the class.
-
- The expression.
-
-
-
- Gets the expression to be negated.
-
- The expression.
-
-
-
- Returns a string representation of the expression.
-
-
- A that represents the condition expression.
-
-
-
-
- Evaluates the expression.
-
- Evaluation context.
- Expression result.
-
-
-
- Condition or expression.
-
-
-
-
- Initializes a new instance of the class.
-
- Left hand side of the OR expression.
- Right hand side of the OR expression.
-
-
-
- Gets the left expression.
-
- The left expression.
-
-
-
- Gets the right expression.
-
- The right expression.
-
-
-
- Returns a string representation of the expression.
-
-
- A that represents the condition expression.
-
-
-
-
- Evaluates the expression by evaluating and recursively.
-
- Evaluation context.
- The value of the alternative operator.
-
-
-
- Exception during parsing of condition expression.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- The message.
-
-
-
- Initializes a new instance of the class.
-
- The message.
- The inner exception.
-
-
-
- Initializes a new instance of the class.
-
- The that holds the serialized object data about the exception being thrown.
- The that contains contextual information about the source or destination.
-
- The parameter is null.
-
-
- The class name is null or is zero (0).
-
-
-
-
- Condition parser. Turns a string representation of condition expression
- into an expression tree.
-
-
-
-
- Initializes a new instance of the class.
-
- The string reader.
- Instance of used to resolve references to condition methods and layout renderers.
-
-
-
- Parses the specified condition string and turns it into
- tree.
-
- The expression to be parsed.
- The root of the expression syntax tree which can be used to get the value of the condition in a specified context.
-
-
-
- Parses the specified condition string and turns it into
- tree.
-
- The expression to be parsed.
- Instance of used to resolve references to condition methods and layout renderers.
- The root of the expression syntax tree which can be used to get the value of the condition in a specified context.
-
-
-
- Parses the specified condition string and turns it into
- tree.
-
- The string reader.
- Instance of used to resolve references to condition methods and layout renderers.
-
- The root of the expression syntax tree which can be used to get the value of the condition in a specified context.
-
-
-
-
- Try stringed keyword to
-
-
-
- success?
-
-
-
- Parse number
-
- negative number? minus should be parsed first.
-
-
-
-
- Condition relational (==, !=, <, <=,
- > or >=) expression.
-
-
-
-
- Initializes a new instance of the class.
-
- The left expression.
- The right expression.
- The relational operator.
-
-
-
- Gets the left expression.
-
- The left expression.
-
-
-
- Gets the right expression.
-
- The right expression.
-
-
-
- Gets the relational operator.
-
- The operator.
-
-
-
- Returns a string representation of the expression.
-
-
- A that represents the condition expression.
-
-
-
-
- Evaluates the expression.
-
- Evaluation context.
- Expression result.
-
-
-
- Compares the specified values using specified relational operator.
-
- The first value.
- The second value.
- The relational operator.
- Result of the given relational operator.
-
-
-
- Promote values to the type needed for the comparision, e.g. parse a string to int.
-
-
-
-
-
-
- Promotes to type
-
-
-
- success?
-
-
-
- Try to promote both values. First try to promote to ,
- when failed, try to .
-
-
-
-
-
- Get the order for the type for comparision.
-
-
- index, 0 to maxint. Lower is first
-
-
-
- Dictionary from type to index. Lower index should be tested first.
-
-
-
-
- Build the dictionary needed for the order of the types.
-
-
-
-
-
- Get the string representing the current
-
-
-
-
-
- Relational operators used in conditions.
-
-
-
-
- Equality (==).
-
-
-
-
- Inequality (!=).
-
-
-
-
- Less than (<).
-
-
-
-
- Greater than (>).
-
-
-
-
- Less than or equal (<=).
-
-
-
-
- Greater than or equal (>=).
-
-
-
-
- Hand-written tokenizer for conditions.
-
-
-
-
- Initializes a new instance of the class.
-
- The string reader.
-
-
-
- Gets the type of the token.
-
- The type of the token.
-
-
-
- Gets the token value.
-
- The token value.
-
-
-
- Gets the value of a string token.
-
- The string token value.
-
-
-
- Asserts current token type and advances to the next token.
-
- Expected token type.
- If token type doesn't match, an exception is thrown.
-
-
-
- Asserts that current token is a keyword and returns its value and advances to the next token.
-
- Keyword value.
-
-
-
- Gets or sets a value indicating whether current keyword is equal to the specified value.
-
- The keyword.
-
- A value of true if current keyword is equal to the specified value; otherwise, false.
-
-
-
-
- Gets or sets a value indicating whether the tokenizer has reached the end of the token stream.
-
-
- A value of true if the tokenizer has reached the end of the token stream; otherwise, false.
-
-
-
-
- Gets or sets a value indicating whether current token is a number.
-
-
- A value of true if current token is a number; otherwise, false.
-
-
-
-
- Gets or sets a value indicating whether the specified token is of specified type.
-
- The token type.
-
- A value of true if current token is of specified type; otherwise, false.
-
-
-
-
- Gets the next token and sets and properties.
-
-
-
-
- Try the comparison tokens (greater, smaller, greater-equals, smaller-equals)
-
- current char
- is match
-
-
-
- Try the logical tokens (and, or, not, equals)
-
- current char
- is match
-
-
-
- Mapping between characters and token types for punctuations.
-
-
-
-
- Initializes a new instance of the CharToTokenType struct.
-
- The character.
- Type of the token.
-
-
-
- Token types for condition expressions.
-
-
-
-
- Marks the class or a member as advanced. Advanced classes and members are hidden by
- default in generated documentation.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Identifies that the output of layout or layout render does not change for the lifetime of the current appdomain.
-
-
- A layout(renderer) could be converted to a literal when:
- - The layout and all layout properies are SimpleLayout or [AppDomainFixedOutput]
-
- Recommendation: Apply this attribute to a layout or layout-renderer which have the result only changes by properties of type Layout.
-
-
-
-
- Used to mark configurable parameters which are arrays.
- Specifies the mapping between XML elements and .NET types.
-
-
-
-
- Initializes a new instance of the class.
-
- The type of the array item.
- The XML element name that represents the item.
-
-
-
- Gets the .NET type of the array item.
-
-
-
-
- Gets the XML element name.
-
-
-
-
- An assembly is trying to load.
-
-
-
-
- New event args
-
-
-
-
-
- The assembly that is trying to load.
-
-
-
-
- NLog configuration section handler class for configuring NLog from App.config.
-
-
-
-
- Creates a configuration section handler.
-
- Parent object.
- Configuration context object.
- Section XML node.
- The created section handler object.
-
-
-
- Constructs a new instance the configuration item (target, layout, layout renderer, etc.) given its type.
-
- Type of the item.
- Created object of the specified type.
-
-
-
- Provides registration information for named items (targets, layouts, layout renderers, etc.) managed by NLog.
-
- Everything of an assembly could be loaded by
-
-
-
-
- Called before the assembly will be loaded.
-
-
-
-
- Initializes a new instance of the class.
-
- The assemblies to scan for named items.
-
-
-
- Gets or sets default singleton instance of .
-
-
- This property implements lazy instantiation so that the is not built before
- the internal logger is configured.
-
-
-
-
- Gets or sets the creator delegate used to instantiate configuration objects.
-
-
- By overriding this property, one can enable dependency injection or interception for created objects.
-
-
-
-
- Gets the factory.
-
- The target factory.
-
-
-
- Gets the factory.
-
- The filter factory.
-
-
-
- gets the factory
-
- not using due to backwardscomp.
-
-
-
-
- Gets the factory.
-
- The layout renderer factory.
-
-
-
- Gets the factory.
-
- The layout factory.
-
-
-
- Gets the ambient property factory.
-
- The ambient property factory.
-
-
-
- Legacy interface, no longer used by the NLog engine
-
-
-
-
- Gets or sets the JSON serializer to use with or
-
-
-
-
- Gets or sets the string serializer to use with
-
-
-
-
- Gets or sets the parameter converter to use with , or
-
-
-
-
- Perform message template parsing and formatting of LogEvent messages (True = Always, False = Never, Null = Auto Detect)
-
-
- - Null (Auto Detect) : NLog-parser checks for positional parameters, and will then fallback to string.Format-rendering.
- - True: Always performs the parsing of and rendering of using the NLog-parser (Allows custom formatting with )
- - False: Always performs parsing and rendering using string.Format (Fastest if not using structured logging)
-
-
-
-
- Gets the time source factory.
-
- The time source factory.
-
-
-
- Gets the condition method factory.
-
- The condition method factory.
-
-
-
- Registers named items from the assembly.
-
- The assembly.
-
-
-
- Registers named items from the assembly.
-
- The assembly.
- Item name prefix.
-
-
-
- Call Preload for NLogPackageLoader
-
-
- Every package could implement a class "NLogPackageLoader" (namespace not important) with the public static method "Preload" (no arguments)
- This method will be called just before registering all items in the assembly.
-
-
-
-
-
- Call the Preload method for . The Preload method must be static.
-
-
-
-
-
- Clears the contents of all factories.
-
-
-
-
- Registers the type.
-
- The type to register.
- The item name prefix.
-
-
-
- Builds the default configuration item factory.
-
- Default factory.
-
-
-
- Registers items in NLog.Extended.dll using late-bound types, so that we don't need a reference to NLog.Extended.dll.
-
-
-
-
- Attribute used to mark the default parameters for layout renderers.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Dynamic filtering with a positive list of enabled levels
-
-
-
-
- Dynamic filtering with a minlevel and maxlevel range
-
-
-
-
- Format of the exception output to the specific target.
-
-
-
-
- Appends the Message of an Exception to the specified target.
-
-
-
-
- Appends the type of an Exception to the specified target.
-
-
-
-
- Appends the short type of an Exception to the specified target.
-
-
-
-
- Appends the result of calling ToString() on an Exception to the specified target.
-
-
-
-
- Appends the method name from Exception's stack trace to the specified target.
-
-
-
-
- Appends the stack trace from an Exception to the specified target.
-
-
-
-
- Appends the contents of an Exception's Data property to the specified target.
-
-
-
-
- Destructure the exception (usually into JSON)
-
-
-
-
- Appends the from the application or the object that caused the error.
-
-
-
-
- Factory for class-based items.
-
- The base type of each item.
- The type of the attribute used to annotate items.
-
-
-
- Scans the assembly.
-
- The types to scan.
- The prefix.
-
-
-
- Registers the type.
-
- The type to register.
- The item name prefix.
-
-
-
- Registers the item based on a type name.
-
- Name of the item.
- Name of the type.
-
-
-
- Clears the contents of the factory.
-
-
-
-
- Registers a single type definition.
-
- The item name.
- The type of the item.
-
-
-
- Tries to get registered item definition.
-
- Name of the item.
- Reference to a variable which will store the item definition.
- Item definition.
-
-
-
- Tries to create an item instance.
-
- Name of the item.
- The result.
- True if instance was created successfully, false otherwise.
-
-
-
- Creates an item instance.
-
- The name of the item.
- Created item.
-
-
-
- Factory specialized for s.
-
-
-
-
- Clear all func layouts
-
-
-
-
- Register a layout renderer with a callback function.
-
- Name of the layoutrenderer, without ${}.
- the renderer that renders the value.
-
-
-
- Tries to create an item instance.
-
- Name of the item.
- The result.
- True if instance was created successfully, false otherwise.
-
-
-
- Provides means to populate factories of named items (such as targets, layouts, layout renderers, etc.).
-
-
-
-
- Implemented by objects which support installation and uninstallation.
-
-
-
-
- Performs installation which requires administrative permissions.
-
- The installation context.
-
-
-
- Performs uninstallation which requires administrative permissions.
-
- The installation context.
-
-
-
- Determines whether the item is installed.
-
- The installation context.
-
- Value indicating whether the item is installed or null if it is not possible to determine.
-
-
-
-
- Interface for accessing configuration details
-
-
-
-
- Name of the config section
-
-
-
-
- Configuration Key/Value Pairs
-
-
-
-
- Child config sections
-
-
-
-
- Interface for loading NLog
-
-
-
-
- Finds and loads the NLog configuration
-
- LogFactory that owns the NLog configuration
- NLog configuration (or null if none found)
-
-
-
- Notifies when LoggingConfiguration has been successfully applied
-
- LogFactory that owns the NLog configuration
- NLog Config
-
-
-
- Get file paths (including filename) for the possible NLog config files.
-
- The filepaths to the possible config file
-
-
-
- Level enabled flags for each LogLevel ordinal
-
-
-
-
- Converts the filter into a simple
-
-
-
-
- Represents a factory of named items (such as targets, layouts, layout renderers, etc.).
-
- Base type for each item instance.
- Item definition type (typically or ).
-
-
-
- Registers new item definition.
-
- Name of the item.
- Item definition.
-
-
-
- Tries to get registered item definition.
-
- Name of the item.
- Reference to a variable which will store the item definition.
- Item definition.
-
-
-
- Creates item instance.
-
- Name of the item.
- Newly created item instance.
-
-
-
- Tries to create an item instance.
-
- Name of the item.
- The result.
- True if instance was created successfully, false otherwise.
-
-
-
- Provides context for install/uninstall operations.
-
-
-
-
- Mapping between log levels and console output colors.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- The log output.
-
-
-
- Gets or sets the installation log level.
-
-
-
-
- Gets or sets a value indicating whether to ignore failures during installation.
-
-
-
-
- Whether installation exceptions should be rethrown. If IgnoreFailures is set to true,
- this property has no effect (there are no exceptions to rethrow).
-
-
-
-
- Gets the installation parameters.
-
-
-
-
- Gets or sets the log output.
-
-
-
-
- Logs the specified trace message.
-
- The message.
- The arguments.
-
-
-
- Logs the specified debug message.
-
- The message.
- The arguments.
-
-
-
- Logs the specified informational message.
-
- The message.
- The arguments.
-
-
-
- Logs the specified warning message.
-
- The message.
- The arguments.
-
-
-
- Logs the specified error message.
-
- The message.
- The arguments.
-
-
-
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-
-
-
-
- Creates the log event which can be used to render layouts during installation/uninstallations.
-
- Log event info object.
-
-
-
- Convert object-value into specified type
-
-
-
-
- Parses the input value and converts into the wanted type
-
- Input Value
- Wanted Type
- Format to use when parsing
- Culture to use when parsing
- Output value with wanted type
-
-
-
- Encapsulates and the logic to match the actual logger name
- All subclasses defines immutable objects.
- Concrete subclasses defines various matching rules through
-
-
-
-
- Creates a concrete based on .
-
-
- Rules used to select the concrete implementation returned:
-
- - if is null => returns (never matches)
- - if doesn't contains any '*' nor '?' => returns (matches only on case sensitive equals)
- - if == '*' => returns (always matches)
- - if doesn't contain '?'
-
- - if contains exactly 2 '*' one at the beginning and one at the end (i.e. "*foobar*) => returns
- - if contains exactly 1 '*' at the beginning (i.e. "*foobar") => returns
- - if contains exactly 1 '*' at the end (i.e. "foobar*") => returns
-
-
- - returns
-
-
-
- It may include one or more '*' or '?' wildcards at any position.
-
- - '*' means zero or more occurrecnces of any character
- - '?' means exactly one occurrence of any character
-
-
- A concrete
-
-
-
- Returns the argument passed to
-
-
-
-
- Checks whether given name matches the logger name pattern.
-
- String to be matched.
- A value of when the name matches, otherwise.
-
-
-
- Defines a that never matches.
- Used when pattern is null
-
-
-
-
- Defines a that always matches.
- Used when pattern is '*'
-
-
-
-
- Defines a that matches with a case-sensitive Equals
- Used when pattern is a string without wildcards '?' '*'
-
-
-
-
- Defines a that matches with a case-sensitive StartsWith
- Used when pattern is a string like "*foobar"
-
-
-
-
- Defines a that matches with a case-sensitive EndsWith
- Used when pattern is a string like "foobar*"
-
-
-
-
- Defines a that matches with a case-sensitive Contains
- Used when pattern is a string like "*foobar*"
-
-
-
-
- Defines a that matches with a complex wildcards combinations:
-
- - '*' means zero or more occurrences of any character
- - '?' means exactly one occurrence of any character
-
- used when pattern is a string containing any number of '?' or '*' in any position
- i.e. "*Server[*].Connection[?]"
-
-
-
-
- Keeps logging configuration and provides simple API to modify it.
-
- This class is thread-safe..ToList() is used for that purpose.
-
-
-
- Variables defined in xml or in API. name is case case insensitive.
-
-
-
-
- Gets the factory that will be configured
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Use the old exception log handling of NLog 3.0?
-
- This method was marked as obsolete on NLog 4.1 and it may be removed in a future release.
-
-
-
- Gets the variables defined in the configuration.
-
-
-
-
- Gets a collection of named targets specified in the configuration.
-
-
- A list of named targets.
-
-
- Unnamed targets (such as those wrapped by other targets) are not returned.
-
-
-
-
- Gets the collection of file names which should be watched for changes by NLog.
-
-
-
-
- Gets the collection of logging rules.
-
-
-
-
- Gets or sets the default culture info to use as .
-
-
- Specific culture info or null to use
-
-
-
-
- Gets all targets.
-
-
-
-
- Compare objects based on their name.
-
- This property is use to cache the comparer object.
-
-
-
- Defines methods to support the comparison of objects for equality based on their name.
-
-
-
-
- Registers the specified target object. The name of the target is read from .
-
-
- The target object with a non
-
- when is
-
-
-
- Registers the specified target object under a given name.
-
- Name of the target.
- The target object.
- when is
- when is
-
-
-
- Finds the target with the specified name.
-
-
- The name of the target to be found.
-
-
- Found target or when the target is not found.
-
-
-
-
- Finds the target with the specified name and specified type.
-
-
- The name of the target to be found.
-
- Type of the target
-
- Found target or when the target is not found of not of type
-
-
-
-
- Add a rule with min- and maxLevel.
-
- Minimum log level needed to trigger this rule.
- Maximum log level needed to trigger this rule.
- Name of the target to be written when the rule matches.
- Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends.
-
-
-
- Add a rule with min- and maxLevel.
-
- Minimum log level needed to trigger this rule.
- Maximum log level needed to trigger this rule.
- Target to be written to when the rule matches.
- Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends.
-
-
-
- Add a rule with min- and maxLevel.
-
- Minimum log level needed to trigger this rule.
- Maximum log level needed to trigger this rule.
- Target to be written to when the rule matches.
- Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends.
- Gets or sets a value indicating whether to quit processing any further rule when this one matches.
-
-
-
- Add a rule for one loglevel.
-
- log level needed to trigger this rule.
- Name of the target to be written when the rule matches.
- Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends.
-
-
-
- Add a rule for one loglevel.
-
- log level needed to trigger this rule.
- Target to be written to when the rule matches.
- Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends.
-
-
-
- Add a rule for one loglevel.
-
- log level needed to trigger this rule.
- Target to be written to when the rule matches.
- Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends.
- Gets or sets a value indicating whether to quit processing any further rule when this one matches.
-
-
-
- Add a rule for all loglevels.
-
- Name of the target to be written when the rule matches.
- Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends.
-
-
-
- Add a rule for all loglevels.
-
- Target to be written to when the rule matches.
- Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends.
-
-
-
- Add a rule for all loglevels.
-
- Target to be written to when the rule matches.
- Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends.
- Gets or sets a value indicating whether to quit processing any further rule when this one matches.
-
-
-
- Finds the logging rule with the specified name.
-
- The name of the logging rule to be found.
- Found logging rule or when not found.
-
-
-
- Removes the specified named logging rule.
-
- The name of the logging rule to be removed.
- Found one or more logging rule to remove, or when not found.
-
-
-
- Called by LogManager when one of the log configuration files changes.
-
-
- A new instance of that represents the updated configuration.
-
-
-
-
- Removes the specified named target.
-
- Name of the target.
-
-
-
- Installs target-specific objects on current system.
-
- The installation context.
-
- Installation typically runs with administrative permissions.
-
-
-
-
- Uninstalls target-specific objects from current system.
-
- The installation context.
-
- Uninstallation typically runs with administrative permissions.
-
-
-
-
- Closes all targets and releases any unmanaged resources.
-
-
-
-
- Log to the internal (NLog) logger the information about the and associated with this instance.
-
-
- The information are only recorded in the internal logger if Debug level is enabled, otherwise nothing is
- recorded.
-
-
-
-
- Flushes any pending log messages on all appenders.
-
- The asynchronous continuation.
-
-
-
- Validates the configuration.
-
-
-
-
- Copies all variables from provided dictionary into current configuration variables.
-
- Master variables dictionary
-
-
-
- Replace a simple variable with a value. The orginal value is removed and thus we cannot redo this in a later stage.
-
-
-
-
-
-
- Checks whether unused targets exist. If found any, just write an internal log at Warn level.
- If initializing not started or failed, then checking process will be canceled
-
-
-
-
- Arguments for events.
-
-
-
-
- Initializes a new instance of the class.
-
- The new configuration.
- The old configuration.
-
-
-
- Gets the old configuration.
-
- The old configuration.
-
-
-
- Gets the new configuration.
-
- The new configuration.
-
-
-
- Gets the new configuration
-
- The new configuration.
-
-
-
- Gets the old configuration
-
- The old configuration.
-
-
-
- Enables loading of NLog configuration from a file
-
-
-
-
-
-
-
- Get default file paths (including filename) for possible NLog config files.
-
-
-
-
- Get default file paths (including filename) for possible NLog config files.
-
-
-
-
- Loads NLog configuration from
-
-
-
-
- Constructor
-
-
-
-
-
- Loads NLog configuration from provided config section
-
-
-
-
-
-
- Builds list with unique keys, using last value of duplicates. High priority keys placed first.
-
-
-
-
-
-
- Parse loglevel, but don't throw if exception throwing is disabled
-
- Name of attribute for logging.
- Value of parse.
- Used if there is an exception
-
-
-
-
- Parses a single config section within the NLog-config
-
-
- Section was recognized
-
-
-
- Parse {Rules} xml element
-
-
- Rules are added to this parameter.
-
-
-
- Parse {Logger} xml element
-
-
-
-
-
- Parse boolean
-
- Name of the property for logging.
- value to parse
- Default value to return if the parse failed
- Boolean attribute value or default.
-
-
-
- Remove the namespace (before :)
-
-
- x:a, will be a
-
-
-
-
-
-
- Gets the optional boolean attribute value.
-
-
- Name of the attribute.
- Default value to return if the attribute is not found or if there is a parse error
- Boolean attribute value or default.
-
-
-
- Arguments for .
-
-
-
-
- Initializes a new instance of the class.
-
- Whether configuration reload has succeeded.
-
-
-
- Initializes a new instance of the class.
-
- Whether configuration reload has succeeded.
- The exception during configuration reload.
-
-
-
- Gets a value indicating whether configuration reload has succeeded.
-
- A value of true if succeeded; otherwise, false.
-
-
-
- Gets the exception which occurred during configuration reload.
-
- The exception.
-
-
-
- Enables FileWatcher for the currently loaded NLog Configuration File,
- and supports automatic reload on file modification.
-
-
-
-
- Represents a logging rule. An equivalent of <logger /> configuration element.
-
-
-
-
- Create an empty .
-
-
-
-
- Create an empty .
-
-
-
-
- Create a new with a and which writes to .
-
- Logger name pattern used for . It may include one or more '*' or '?' wildcards at any position.
- Minimum log level needed to trigger this rule.
- Maximum log level needed to trigger this rule.
- Target to be written to when the rule matches.
-
-
-
- Create a new with a which writes to .
-
- Logger name pattern used for . It may include one or more '*' or '?' wildcards at any position.
- Minimum log level needed to trigger this rule.
- Target to be written to when the rule matches.
-
-
-
- Create a (disabled) . You should call or see cref="EnableLoggingForLevels"/> to enable logging.
-
- Logger name pattern used for . It may include one or more '*' or '?' wildcards at any position.
- Target to be written to when the rule matches.
-
-
-
- Rule identifier to allow rule lookup
-
-
-
-
- Gets a collection of targets that should be written to when this rule matches.
-
-
-
-
- Gets a collection of child rules to be evaluated when this rule matches.
-
-
-
-
- Gets a collection of filters to be checked before writing to targets.
-
-
-
-
- Gets or sets a value indicating whether to quit processing any further rule when this one matches.
-
-
-
-
- Gets or sets logger name pattern.
-
-
- Logger name pattern used by to check if a logger name matches this rule.
- It may include one or more '*' or '?' wildcards at any position.
-
- - '*' means zero or more occurrecnces of any character
- - '?' means exactly one occurrence of any character
-
-
-
-
-
- Gets the collection of log levels enabled by this rule.
-
-
-
-
- Default action if none of the filters match
-
-
-
-
- Enables logging for a particular level.
-
- Level to be enabled.
-
-
-
- Enables logging for a particular levels between (included) and .
-
- Minimum log level needed to trigger this rule.
- Maximum log level needed to trigger this rule.
-
-
-
- Disables logging for a particular level.
-
- Level to be disabled.
-
-
-
- Disables logging for particular levels between (included) and .
-
- Minimum log level to be disables.
- Maximum log level to de disabled.
-
-
-
- Enables logging the levels between (included) and . All the other levels will be disabled.
-
- >Minimum log level needed to trigger this rule.
- Maximum log level needed to trigger this rule.
-
-
-
- Returns a string representation of . Used for debugging.
-
-
- A that represents the current .
-
-
-
-
- Checks whether te particular log level is enabled for this rule.
-
- Level to be checked.
- A value of when the log level is enabled, otherwise.
-
-
-
- Checks whether given name matches the .
-
- String to be matched.
- A value of when the name matches, otherwise.
-
-
-
- Default filtering with static level config
-
-
-
-
- Factory for locating methods.
-
- The type of the class marker attribute.
- The type of the method marker attribute.
-
-
-
- Gets a collection of all registered items in the factory.
-
-
- Sequence of key/value pairs where each key represents the name
- of the item and value is the of
- the item.
-
-
-
-
- Scans the assembly for classes marked with
- and methods marked with and adds them
- to the factory.
-
- The types to scan.
- The prefix to use for names.
-
-
-
- Registers the type.
-
- The type to register.
- The item name prefix.
-
-
-
- Clears contents of the factory.
-
-
-
-
- Registers the definition of a single method.
-
- The method name.
- The method info.
-
-
-
- Tries to retrieve method by name.
-
- The method name.
- The result.
- A value of true if the method was found, false otherwise.
-
-
-
- Retrieves method by name.
-
- Method name.
- MethodInfo object.
-
-
-
- Tries to get method definition.
-
- The method name.
- The result.
- A value of true if the method was found, false otherwise.
-
-
-
- Marks the layout or layout renderer depends on mutable objects from the LogEvent
-
- This can be or
-
-
-
-
- Attaches a simple name to an item (such as ,
- , , etc.).
-
-
-
-
- Initializes a new instance of the class.
-
- The name of the item.
-
-
-
- Gets the name of the item.
-
- The name of the item.
-
-
-
- Indicates NLog should not scan this property during configuration.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Marks the object as configuration item for NLog.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Represents simple XML element with case-insensitive attribute semantics.
-
-
-
-
- Initializes a new instance of the class.
-
- The input URI.
-
-
-
- Initializes a new instance of the class.
-
- The reader to initialize element from.
-
-
-
- Prevents a default instance of the class from being created.
-
-
-
-
- Gets the element name.
-
-
-
-
- Gets the dictionary of attribute values.
-
-
-
-
- Gets the collection of child elements.
-
-
-
-
- Gets the value of the element.
-
-
-
-
- Last error occured during configuration read
-
-
-
-
- Returns children elements with the specified element name.
-
- Name of the element.
- Children elements with the specified element name.
-
-
-
- Asserts that the name of the element is among specified element names.
-
- The allowed names.
-
-
-
- Returns all parsing errors from current and all child elements.
-
-
-
-
- Special attribute we could ignore
-
-
-
-
- Default implementation of
-
-
-
-
-
-
-
- Attribute used to mark the required parameters for targets,
- layout targets and filters.
-
-
-
-
- Provides simple programmatic configuration API used for trivial logging cases.
-
- Warning, these methods will overwrite the current config.
-
-
-
-
- Configures NLog for console logging so that all messages above and including
- the level are output to the console.
-
-
-
-
- Configures NLog for console logging so that all messages above and including
- the specified level are output to the console.
-
- The minimal logging level.
-
-
-
- Configures NLog for to log to the specified target so that all messages
- above and including the level are output.
-
- The target to log all messages to.
-
-
-
- Configures NLog for to log to the specified target so that all messages
- above and including the specified level are output.
-
- The target to log all messages to.
- The minimal logging level.
-
-
-
- Configures NLog for file logging so that all messages above and including
- the level are written to the specified file.
-
- Log file name.
-
-
-
- Configures NLog for file logging so that all messages above and including
- the specified level are written to the specified file.
-
- Log file name.
- The minimal logging level.
-
-
-
- Value indicating how stack trace should be captured when processing the log event.
-
-
-
-
- Stack trace should not be captured.
-
-
-
-
- Stack trace should be captured without source-level information.
-
-
-
-
- Stack trace should be captured including source-level information such as line numbers.
-
-
-
-
- Capture maximum amount of the stack trace information supported on the platform.
-
-
-
-
- Marks the layout or layout renderer as thread independent - it producing correct results
- regardless of the thread it's running on.
-
- Without this attribute everything is rendered on the main thread.
-
-
- If this attribute is set on a layout, it could be rendered on the another thread.
- This could be more efficient as it's skipped when not needed.
-
- If context like HttpContext.Current is needed, which is only available on the main thread, this attribute should not be applied.
-
- See the AsyncTargetWrapper and BufferTargetWrapper with the , using
-
- Apply this attribute when:
- - The result can we rendered in another thread. Delaying this could be more efficient. And/Or,
- - The result should not be precalculated, for example the target sends some extra context information.
-
-
-
-
- Marks the layout or layout renderer as thread safe - it producing correct results
- regardless of the number of threads it's running on.
-
- Without this attribute then the target concurrency will be reduced
-
-
-
-
- A class for configuring NLog through an XML configuration file
- (App.config style or App.nlog style).
-
- Parsing of the XML file is also implemented in this class.
-
-
- - This class is thread-safe..ToList() is used for that purpose.
- - Update TemplateXSD.xml for changes outside targets
-
-
-
-
- Initializes a new instance of the class.
-
- Configuration file to be read.
-
-
-
- Initializes a new instance of the class.
-
- Configuration file to be read.
- The to which to apply any applicable configuration values.
-
-
-
- Initializes a new instance of the class.
-
- Configuration file to be read.
- Ignore any errors during configuration.
-
-
-
- Initializes a new instance of the class.
-
- Configuration file to be read.
- Ignore any errors during configuration.
- The to which to apply any applicable configuration values.
-
-
-
- Initializes a new instance of the class.
-
- XML reader to read from.
-
-
-
- Create XML reader for (xml config) file.
-
- filepath
- reader or null if filename is empty.
-
-
-
- Initializes a new instance of the class.
-
- containing the configuration section.
- Name of the file that contains the element (to be used as a base for including other files). null is allowed.
-
-
-
- Initializes a new instance of the class.
-
- containing the configuration section.
- Name of the file that contains the element (to be used as a base for including other files). null is allowed.
- The to which to apply any applicable configuration values.
-
-
-
- Initializes a new instance of the class.
-
- containing the configuration section.
- Name of the file that contains the element (to be used as a base for including other files). null is allowed.
- Ignore any errors during configuration.
-
-
-
- Initializes a new instance of the class.
-
- containing the configuration section.
- Name of the file that contains the element (to be used as a base for including other files). null is allowed.
- Ignore any errors during configuration.
- The to which to apply any applicable configuration values.
-
-
-
- Initializes a new instance of the class.
-
- The XML contents.
- Name of the XML file.
- The to which to apply any applicable configuration values.
-
-
-
- Parse XML string as NLog configuration
-
- NLog configuration
-
-
-
-
- Gets the default object by parsing
- the application configuration file (app.exe.config).
-
-
-
-
- Did the Succeeded? true= success, false= error, null = initialize not started yet.
-
-
-
-
- Gets or sets a value indicating whether all of the configuration files
- should be watched for changes and reloaded automatically when changed.
-
-
-
-
- Gets the collection of file names which should be watched for changes by NLog.
- This is the list of configuration files processed.
- If the autoReload attribute is not set it returns empty collection.
-
-
-
-
- Re-reads the original configuration file and returns the new object.
-
- The new object.
-
-
-
- Get file paths (including filename) for the possible NLog config files.
-
- The filepaths to the possible config file
-
-
-
- Overwrite the paths (including filename) for the possible NLog config files.
-
- The filepaths to the possible config file
-
-
-
- Clear the candidate file paths and return to the defaults.
-
-
-
-
- Initializes the configuration.
-
- containing the configuration section.
- Name of the file that contains the element (to be used as a base for including other files). null is allowed.
- Ignore any errors during configuration.
-
-
-
- Checks whether any error during XML configuration parsing has occured.
- If there are any and ThrowConfigExceptions or ThrowExceptions
- setting is enabled - throws NLogConfigurationException, otherwise
- just write an internal log at Warn level.
-
- Root NLog configuration xml element
-
-
-
- Add a file with configuration. Check if not already included.
-
-
-
-
-
-
- Parse the root
-
-
- path to config file.
- The default value for the autoReload option.
-
-
-
- Parse {configuration} xml element.
-
-
- path to config file.
- The default value for the autoReload option.
-
-
-
- Parse {NLog} xml element.
-
-
- path to config file.
- The default value for the autoReload option.
-
-
-
- Parses a single config section within the NLog-config
-
-
- Section was recognized
-
-
-
- Include (multiple) files by filemask, e.g. *.nlog
-
- base directory in case if is relative
- relative or absolute fileMask
-
-
-
-
- Matches when the specified condition is met.
-
-
- Conditions are expressed using a simple language
- described here.
-
-
-
-
- Gets or sets the condition expression.
-
-
-
-
-
- Checks whether log event should be logged or not.
-
- Log event.
-
- - if the log event should be ignored
- - if the filter doesn't want to decide
- - if the log event should be logged
- .
-
-
-
- An abstract filter class. Provides a way to eliminate log messages
- based on properties other than logger name and log level.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets or sets the action to be taken when filter matches.
-
-
-
-
-
- Gets the result of evaluating filter against given log event.
-
- The log event.
- Filter result.
-
-
-
- Checks whether log event should be logged or not.
-
- Log event.
-
- - if the log event should be ignored
- - if the filter doesn't want to decide
- - if the log event should be logged
- .
-
-
-
- Marks class as a layout renderer and assigns a name to it.
-
-
-
-
- Initializes a new instance of the class.
-
- Name of the filter.
-
-
-
- Filter result.
-
-
-
-
- The filter doesn't want to decide whether to log or discard the message.
-
-
-
-
- The message should be logged.
-
-
-
-
- The message should not be logged.
-
-
-
-
- The message should be logged and processing should be finished.
-
-
-
-
- The message should not be logged and processing should be finished.
-
-
-
-
- A base class for filters that are based on comparing a value to a layout.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets or sets the layout to be used to filter log messages.
-
- The layout.
-
-
-
-
- Matches when the calculated layout contains the specified substring.
- This filter is deprecated in favor of <when /> which is based on conditions.
-
-
-
-
- Gets or sets a value indicating whether to ignore case when comparing strings.
-
-
-
-
-
- Gets or sets the substring to be matched.
-
-
-
-
-
- Checks whether log event should be logged or not.
-
- Log event.
-
- - if the log event should be ignored
- - if the filter doesn't want to decide
- - if the log event should be logged
- .
-
-
-
- Matches when the calculated layout is equal to the specified substring.
- This filter is deprecated in favor of <when /> which is based on conditions.
-
-
-
-
- Gets or sets a value indicating whether to ignore case when comparing strings.
-
-
-
-
-
- Gets or sets a string to compare the layout to.
-
-
-
-
-
- Checks whether log event should be logged or not.
-
- Log event.
-
- - if the log event should be ignored
- - if the filter doesn't want to decide
- - if the log event should be logged
- .
-
-
-
- Matches the provided filter-method
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
-
-
-
- Matches when the calculated layout does NOT contain the specified substring.
- This filter is deprecated in favor of <when /> which is based on conditions.
-
-
-
-
- Gets or sets the substring to be matched.
-
-
-
-
-
- Gets or sets a value indicating whether to ignore case when comparing strings.
-
-
-
-
-
- Checks whether log event should be logged or not.
-
- Log event.
-
- - if the log event should be ignored
- - if the filter doesn't want to decide
- - if the log event should be logged
- .
-
-
-
- Matches when the calculated layout is NOT equal to the specified substring.
- This filter is deprecated in favor of <when /> which is based on conditions.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets or sets a string to compare the layout to.
-
-
-
-
-
- Gets or sets a value indicating whether to ignore case when comparing strings.
-
-
-
-
-
- Checks whether log event should be logged or not.
-
- Log event.
-
- - if the log event should be ignored
- - if the filter doesn't want to decide
- - if the log event should be logged
- .
-
-
-
- Matches when the result of the calculated layout has been repeated a moment ago
-
-
-
-
- How long before a filter expires, and logging is accepted again
-
-
-
-
-
- Max length of filter values, will truncate if above limit
-
-
-
-
-
- Applies the configured action to the initial logevent that starts the timeout period.
- Used to configure that it should ignore all events until timeout.
-
-
-
-
-
- Max number of unique filter values to expect simultaneously
-
-
-
-
-
- Default number of unique filter values to expect, will automatically increase if needed
-
-
-
-
-
- Insert FilterCount value into when an event is no longer filtered
-
-
-
-
-
- Append FilterCount to the when an event is no longer filtered
-
-
-
-
-
- Reuse internal buffers, and doesn't have to constantly allocate new buffers
-
-
-
-
-
- Default buffer size for the internal buffers
-
-
-
-
-
- Can be used if has been enabled.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Checks whether log event should be logged or not. In case the LogEvent has just been repeated.
-
- Log event.
-
- - if the log event should be ignored
- - if the filter doesn't want to decide
- - if the log event should be logged
- .
-
-
-
- Uses object pooling, and prunes stale filter items when the pool runs dry
-
-
-
-
- Remove stale filter-value from the cache, and fill them into the pool for reuse
-
-
-
-
- Renders the Log Event into a filter value, that is used for checking if just repeated
-
-
-
-
- Repeated LogEvent detected. Checks if it should activate filter-action
-
-
-
-
- Filter Value State (mutable)
-
-
-
-
- Filter Lookup Key (immutable)
-
-
-
-
- A fluent class to build log events for NLog.
-
-
-
-
- Initializes a new instance of the class.
-
- The to send the log event.
-
-
-
- Initializes a new instance of the class.
-
- The to send the log event.
- The for the log event.
-
-
-
- Gets the created by the builder.
-
-
-
-
- Sets the information of the logging event.
-
- The exception information of the logging event.
- current for chaining calls.
-
-
-
- Sets the level of the logging event.
-
- The level of the logging event.
- current for chaining calls.
-
-
-
- Sets the logger name of the logging event.
-
- The logger name of the logging event.
- current for chaining calls.
-
-
-
- Sets the log message on the logging event.
-
- The log message for the logging event.
- current for chaining calls.
-
-
-
- Sets the log message and parameters for formatting on the logging event.
-
- A composite format string.
- The object to format.
- current for chaining calls.
-
-
-
- Sets the log message and parameters for formatting on the logging event.
-
- A composite format string.
- The first object to format.
- The second object to format.
- current for chaining calls.
-
-
-
- Sets the log message and parameters for formatting on the logging event.
-
- A composite format string.
- The first object to format.
- The second object to format.
- The third object to format.
- current for chaining calls.
-
-
-
- Sets the log message and parameters for formatting on the logging event.
-
- A composite format string.
- The first object to format.
- The second object to format.
- The third object to format.
- The fourth object to format.
- current for chaining calls.
-
-
-
- Sets the log message and parameters for formatting on the logging event.
-
- A composite format string.
- An object array that contains zero or more objects to format.
- current for chaining calls.
-
-
-
- Sets the log message and parameters for formatting on the logging event.
-
- An object that supplies culture-specific formatting information.
- A composite format string.
- An object array that contains zero or more objects to format.
- current for chaining calls.
-
-
-
- Sets a per-event context property on the logging event.
-
- The name of the context property.
- The value of the context property.
- current for chaining calls.
-
-
-
- Sets multiple per-event context properties on the logging event.
-
- The properties to set.
- current for chaining calls.
-
-
-
- Sets the timestamp of the logging event.
-
- The timestamp of the logging event.
- current for chaining calls.
-
-
-
- Sets the stack trace for the event info.
-
- The stack trace.
- Index of the first user stack frame within the stack trace.
- current for chaining calls.
-
-
-
- Writes the log event to the underlying logger.
-
-
-
-
- Writes the log event to the underlying logger.
-
- If condition is true, write log event; otherwise ignore event.
-
-
-
- Writes the log event to the underlying logger.
-
- If condition is true, write log event; otherwise ignore event.
-
-
-
- Extension methods for NLog .
-
-
-
-
- Starts building a log event with the specified .
-
- The logger to write the log event to.
- The log level.
- current for chaining calls.
-
-
-
- Starts building a log event at the Trace level.
-
- The logger to write the log event to.
- current for chaining calls.
-
-
-
- Starts building a log event at the Debug level.
-
- The logger to write the log event to.
- current for chaining calls.
-
-
-
- Starts building a log event at the Info level.
-
- The logger to write the log event to.
- current for chaining calls.
-
-
-
- Starts building a log event at the Warn level.
-
- The logger to write the log event to.
- current for chaining calls.
-
-
-
- Starts building a log event at the Error level.
-
- The logger to write the log event to.
- current for chaining calls.
-
-
-
- Starts building a log event at the Fatal level.
-
- The logger to write the log event to.
- current for chaining calls.
-
-
-
- Global Diagnostics Context
-
- This class was marked as obsolete on NLog 2.0 and it may be removed in a future release.
-
-
-
- Sets the Global Diagnostics Context item to the specified value.
-
- Item name.
- Item value.
-
-
-
- Gets the Global Diagnostics Context named item.
-
- Item name.
- The value of , if defined; otherwise .
- If the value isn't a already, this call locks the for reading the needed for converting to .
-
-
-
- Gets the Global Diagnostics Context item.
-
- Item name.
- to use when converting the item's value to a string.
- The value of as a string, if defined; otherwise .
- If is null and the value isn't a already, this call locks the for reading the needed for converting to .
-
-
-
- Gets the Global Diagnostics Context named item.
-
- Item name.
- The value of , if defined; otherwise null.
-
-
-
- Checks whether the specified item exists in the Global Diagnostics Context.
-
- Item name.
- A boolean indicating whether the specified item exists in current thread GDC.
-
-
-
- Removes the specified item from the Global Diagnostics Context.
-
- Item name.
-
-
-
- Clears the content of the GDC.
-
-
-
-
- Global Diagnostics Context - a dictionary structure to hold per-application-instance values.
-
-
-
-
- Sets the Global Diagnostics Context item to the specified value.
-
- Item name.
- Item value.
-
-
-
- Sets the Global Diagnostics Context item to the specified value.
-
- Item name.
- Item value.
-
-
-
- Gets the Global Diagnostics Context named item.
-
- Item name.
- The value of , if defined; otherwise .
- If the value isn't a already, this call locks the for reading the needed for converting to .
-
-
-
- Gets the Global Diagnostics Context item.
-
- Item name.
- to use when converting the item's value to a string.
- The value of as a string, if defined; otherwise .
- If is null and the value isn't a already, this call locks the for reading the needed for converting to .
-
-
-
- Gets the Global Diagnostics Context named item.
-
- Item name.
- The item value, if defined; otherwise null.
-
-
-
- Returns all item names
-
- A collection of the names of all items in the Global Diagnostics Context.
-
-
-
- Checks whether the specified item exists in the Global Diagnostics Context.
-
- Item name.
- A boolean indicating whether the specified item exists in current thread GDC.
-
-
-
- Removes the specified item from the Global Diagnostics Context.
-
- Item name.
-
-
-
- Clears the content of the GDC.
-
-
-
-
- Include context properties
-
-
-
-
- Gets or sets a value indicating whether to include contents of the dictionary.
-
-
-
-
-
- Gets or sets a value indicating whether to include contents of the stack.
-
-
-
-
-
- Gets or sets the option to include all properties from the log events
-
-
-
-
-
- Gets or sets a value indicating whether to include contents of the dictionary.
-
-
-
-
-
- Gets or sets a value indicating whether to include contents of the stack.
-
-
-
Interface for serialization of object values into JSON format
@@ -7446,7 +2594,7 @@
Writes the specified diagnostic message.
- The name of the type that wraps Logger.
+ Type of custom Logger wrapper.
Log event.
@@ -7606,11 +2754,5319 @@
The second argument to format.
The third argument to format.
+
+
+ Provides an interface to execute System.Actions without surfacing any exceptions raised for that action.
+
+
+
+
+ Runs the provided action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method.
+
+ Action to execute.
+
+
+
+ Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level.
+ The exception is not propagated outside of this method; a default value is returned instead.
+
+ Return type of the provided function.
+ Function to run.
+ Result returned by the provided function or the default value of type in case of exception.
+
+
+
+ Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level.
+ The exception is not propagated outside of this method; a fallback value is returned instead.
+
+ Return type of the provided function.
+ Function to run.
+ Fallback value to return in case of exception.
+ Result returned by the provided function or fallback value in case of exception.
+
+
+
+ Logs an exception is logged at Error level if the provided task does not run to completion.
+
+ The task for which to log an error if it does not run to completion.
+ This method is useful in fire-and-forget situations, where application logic does not depend on completion of task. This method is avoids C# warning CS4014 in such situations.
+
+
+
+ Returns a task that completes when a specified task to completes. If the task does not run to completion, an exception is logged at Error level. The returned task always runs to completion.
+
+ The task for which to log an error if it does not run to completion.
+ A task that completes in the state when completes.
+
+
+
+ Runs async action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method.
+
+ Async action to execute.
+ A task that completes in the state when completes.
+
+
+
+ Runs the provided async function and returns its result. If the task does not run to completion, an exception is logged at Error level.
+ The exception is not propagated outside of this method; a default value is returned instead.
+
+ Return type of the provided function.
+ Async function to run.
+ A task that represents the completion of the supplied task. If the supplied task ends in the state, the result of the new task will be the result of the supplied task; otherwise, the result of the new task will be the default value of type .
+
+
+
+ Runs the provided async function and returns its result. If the task does not run to completion, an exception is logged at Error level.
+ The exception is not propagated outside of this method; a fallback value is returned instead.
+
+ Return type of the provided function.
+ Async function to run.
+ Fallback value to return if the task does not end in the state.
+ A task that represents the completion of the supplied task. If the supplied task ends in the state, the result of the new task will be the result of the supplied task; otherwise, the result of the new task will be the fallback value.
+
+
+
+ Render a message template property to a string
+
+
+
+
+ Serialization of an object, e.g. JSON and append to
+
+ The object to serialize to string.
+ Parameter Format
+ Parameter CaptureType
+ An object that supplies culture-specific formatting information.
+ Output destination.
+ Serialize succeeded (true/false)
+
+
+
+ Support implementation of
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Mark a parameter of a method for message templating
+
+
+
+
+ Specifies which parameter of an annotated method should be treated as message-template-string
+
+
+
+
+ The name of the parameter that should be as treated as message-template-string
+
+
+
+
+ Asynchronous continuation delegate - function invoked at the end of asynchronous
+ processing.
+
+ Exception during asynchronous processing or null if no exception
+ was thrown.
+
+
+
+ Helpers for asynchronous operations.
+
+
+
+
+ Iterates over all items in the given collection and runs the specified action
+ in sequence (each action executes only after the preceding one has completed without an error).
+
+ Type of each item.
+ The items to iterate.
+ The asynchronous continuation to invoke once all items
+ have been iterated.
+ The action to invoke for each item.
+
+
+
+ Repeats the specified asynchronous action multiple times and invokes asynchronous continuation at the end.
+
+ The repeat count.
+ The asynchronous continuation to invoke at the end.
+ The action to invoke.
+
+
+
+ Modifies the continuation by pre-pending given action to execute just before it.
+
+ The async continuation.
+ The action to pre-pend.
+ Continuation which will execute the given action before forwarding to the actual continuation.
+
+
+
+ Attaches a timeout to a continuation which will invoke the continuation when the specified
+ timeout has elapsed.
+
+ The asynchronous continuation.
+ The timeout.
+ Wrapped continuation.
+
+
+
+ Iterates over all items in the given collection and runs the specified action
+ in parallel (each action executes on a thread from thread pool).
+
+ Type of each item.
+ The items to iterate.
+ The asynchronous continuation to invoke once all items
+ have been iterated.
+ The action to invoke for each item.
+
+
+
+ Runs the specified asynchronous action synchronously (blocks until the continuation has
+ been invoked).
+
+ The action.
+
+ Using this method is not recommended because it will block the calling thread.
+
+
+
+
+ Wraps the continuation with a guard which will only make sure that the continuation function
+ is invoked only once.
+
+ The asynchronous continuation.
+ Wrapped asynchronous continuation.
+
+
+
+ Gets the combined exception from all exceptions in the list.
+
+ The exceptions.
+ Combined exception or null if no exception was thrown.
+
+
+
+ Disposes the Timer, and waits for it to leave the Timer-callback-method
+
+ The Timer object to dispose
+ Timeout to wait (TimeSpan.Zero means dispose without waiting)
+ Timer disposed within timeout (true/false)
+
+
+
+ Asynchronous action.
+
+ Continuation to be invoked at the end of action.
+
+
+
+ Asynchronous action with one argument.
+
+ Type of the argument.
+ Argument to the action.
+ Continuation to be invoked at the end of action.
+
+
+
+ Represents the logging event with asynchronous continuation.
+
+
+
+
+ Initializes a new instance of the struct.
+
+ The log event.
+ The continuation.
+
+
+
+ Gets the log event.
+
+
+
+
+ Gets the continuation.
+
+
+
+
+ Implements the operator ==.
+
+ The event info1.
+ The event info2.
+ The result of the operator.
+
+
+
+ Implements the operator ==.
+
+ The event info1.
+ The event info2.
+ The result of the operator.
+
+
+
+
+
+
+
+
+
+
+
+
+ String Conversion Helpers
+
+
+
+
+ Converts input string value into . Parsing is case-insensitive.
+
+ Input value
+ Output value
+ Default value
+ Returns false if the input value could not be parsed
+
+
+
+ Converts input string value into . Parsing is case-insensitive.
+
+ Input value
+ The type of the enum
+ Output value. Null if parse failed
+
+
+
+ Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-sensitive. The return value indicates whether the conversion succeeded.
+
+ The enumeration type to which to convert value.
+ The string representation of the enumeration name or underlying value to convert.
+ true to ignore case; false to consider case.
+ When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. If the parse operation fails, result contains the default value of the underlying type of TEnum. Note that this value need not be a member of the TEnum enumeration. This parameter is passed uninitialized.
+ true if the value parameter was converted successfully; otherwise, false.
+ Wrapper because Enum.TryParse is not present in .net 3.5
+
+
+
+ Enum.TryParse implementation for .net 3.5
+
+
+
+ Don't uses reflection
+
+
+
+ Enables to extract extra context details for
+
+
+
+
+ Name of context
+
+
+
+
+ The current LogFactory next to LogManager
+
+
+
+
+ NLog internal logger.
+
+ Writes to file, console or custom text writer (see )
+
+
+ Don't use as that can lead to recursive calls - stackoverflow
+
+
+
+
+ Gets a value indicating whether internal log includes Trace messages.
+
+
+
+
+ Gets a value indicating whether internal log includes Debug messages.
+
+
+
+
+ Gets a value indicating whether internal log includes Info messages.
+
+
+
+
+ Gets a value indicating whether internal log includes Warn messages.
+
+
+
+
+ Gets a value indicating whether internal log includes Error messages.
+
+
+
+
+ Gets a value indicating whether internal log includes Fatal messages.
+
+
+
+
+ Logs the specified message without an at the Trace level.
+
+ Message which may include positional parameters.
+ Arguments to the message.
+
+
+
+ Logs the specified message without an at the Trace level.
+
+ Log message.
+
+
+
+ Logs the specified message without an at the Trace level.
+ will be only called when logging is enabled for level Trace.
+
+ Function that returns the log message.
+
+
+
+ Logs the specified message with an at the Trace level.
+
+ Exception to be logged.
+ Message which may include positional parameters.
+ Arguments to the message.
+
+
+
+ Logs the specified message without an at the Trace level.
+
+ The type of the first argument.
+ Message which may include positional parameters.
+ Argument {0} to the message.
+
+
+
+ Logs the specified message without an at the Trace level.
+
+ The type of the first argument.
+ The type of the second argument.
+ Message which may include positional parameters.
+ Argument {0} to the message.
+ Argument {1} to the message.
+
+
+
+ Logs the specified message without an at the Trace level.
+
+ The type of the first argument.
+ The type of the second argument.
+ The type of the third argument.
+ Message which may include positional parameters.
+ Argument {0} to the message.
+ Argument {1} to the message.
+ Argument {2} to the message.
+
+
+
+ Logs the specified message with an at the Trace level.
+
+ Exception to be logged.
+ Log message.
+
+
+
+ Logs the specified message with an at the Trace level.
+ will be only called when logging is enabled for level Trace.
+
+ Exception to be logged.
+ Function that returns the log message.
+
+
+
+ Logs the specified message without an at the Debug level.
+
+ Message which may include positional parameters.
+ Arguments to the message.
+
+
+
+ Logs the specified message without an at the Debug level.
+
+ Log message.
+
+
+
+ Logs the specified message without an at the Debug level.
+ will be only called when logging is enabled for level Debug.
+
+ Function that returns the log message.
+
+
+
+ Logs the specified message with an at the Debug level.
+
+ Exception to be logged.
+ Message which may include positional parameters.
+ Arguments to the message.
+
+
+
+ Logs the specified message without an at the Trace level.
+
+ The type of the first argument.
+ Message which may include positional parameters.
+ Argument {0} to the message.
+
+
+
+ Logs the specified message without an at the Trace level.
+
+ The type of the first argument.
+ The type of the second argument.
+ Message which may include positional parameters.
+ Argument {0} to the message.
+ Argument {1} to the message.
+
+
+
+ Logs the specified message without an at the Trace level.
+
+ The type of the first argument.
+ The type of the second argument.
+ The type of the third argument.
+ Message which may include positional parameters.
+ Argument {0} to the message.
+ Argument {1} to the message.
+ Argument {2} to the message.
+
+
+
+ Logs the specified message with an at the Debug level.
+
+ Exception to be logged.
+ Log message.
+
+
+
+ Logs the specified message with an at the Debug level.
+ will be only called when logging is enabled for level Debug.
+
+ Exception to be logged.
+ Function that returns the log message.
+
+
+
+ Logs the specified message without an at the Info level.
+
+ Message which may include positional parameters.
+ Arguments to the message.
+
+
+
+ Logs the specified message without an at the Info level.
+
+ Log message.
+
+
+
+ Logs the specified message without an at the Info level.
+ will be only called when logging is enabled for level Info.
+
+ Function that returns the log message.
+
+
+
+ Logs the specified message with an at the Info level.
+
+ Exception to be logged.
+ Message which may include positional parameters.
+ Arguments to the message.
+
+
+
+ Logs the specified message without an at the Trace level.
+
+ The type of the first argument.
+ Message which may include positional parameters.
+ Argument {0} to the message.
+
+
+
+ Logs the specified message without an at the Trace level.
+
+ The type of the first argument.
+ The type of the second argument.
+ Message which may include positional parameters.
+ Argument {0} to the message.
+ Argument {1} to the message.
+
+
+
+ Logs the specified message without an at the Trace level.
+
+ The type of the first argument.
+ The type of the second argument.
+ The type of the third argument.
+ Message which may include positional parameters.
+ Argument {0} to the message.
+ Argument {1} to the message.
+ Argument {2} to the message.
+
+
+
+ Logs the specified message with an at the Info level.
+
+ Exception to be logged.
+ Log message.
+
+
+
+ Logs the specified message with an at the Info level.
+ will be only called when logging is enabled for level Info.
+
+ Exception to be logged.
+ Function that returns the log message.
+
+
+
+ Logs the specified message without an at the Warn level.
+
+ Message which may include positional parameters.
+ Arguments to the message.
+
+
+
+ Logs the specified message without an at the Warn level.
+
+ Log message.
+
+
+
+ Logs the specified message without an at the Warn level.
+ will be only called when logging is enabled for level Warn.
+
+ Function that returns the log message.
+
+
+
+ Logs the specified message with an at the Warn level.
+
+ Exception to be logged.
+ Message which may include positional parameters.
+ Arguments to the message.
+
+
+
+ Logs the specified message without an at the Trace level.
+
+ The type of the first argument.
+ Message which may include positional parameters.
+ Argument {0} to the message.
+
+
+
+ Logs the specified message without an at the Trace level.
+
+ The type of the first argument.
+ The type of the second argument.
+ Message which may include positional parameters.
+ Argument {0} to the message.
+ Argument {1} to the message.
+
+
+
+ Logs the specified message without an at the Trace level.
+
+ The type of the first argument.
+ The type of the second argument.
+ The type of the third argument.
+ Message which may include positional parameters.
+ Argument {0} to the message.
+ Argument {1} to the message.
+ Argument {2} to the message.
+
+
+
+ Logs the specified message with an at the Warn level.
+
+ Exception to be logged.
+ Log message.
+
+
+
+ Logs the specified message with an at the Warn level.
+ will be only called when logging is enabled for level Warn.
+
+ Exception to be logged.
+ Function that returns the log message.
+
+
+
+ Logs the specified message without an at the Error level.
+
+ Message which may include positional parameters.
+ Arguments to the message.
+
+
+
+ Logs the specified message without an at the Error level.
+
+ Log message.
+
+
+
+ Logs the specified message without an at the Error level.
+ will be only called when logging is enabled for level Error.
+
+ Function that returns the log message.
+
+
+
+ Logs the specified message with an at the Error level.
+
+ Exception to be logged.
+ Message which may include positional parameters.
+ Arguments to the message.
+
+
+
+ Logs the specified message without an at the Trace level.
+
+ The type of the first argument.
+ Message which may include positional parameters.
+ Argument {0} to the message.
+
+
+
+ Logs the specified message without an at the Trace level.
+
+ The type of the first argument.
+ The type of the second argument.
+ Message which may include positional parameters.
+ Argument {0} to the message.
+ Argument {1} to the message.
+
+
+
+ Logs the specified message without an at the Trace level.
+
+ The type of the first argument.
+ The type of the second argument.
+ The type of the third argument.
+ Message which may include positional parameters.
+ Argument {0} to the message.
+ Argument {1} to the message.
+ Argument {2} to the message.
+
+
+
+ Logs the specified message with an at the Error level.
+
+ Exception to be logged.
+ Log message.
+
+
+
+ Logs the specified message with an at the Error level.
+ will be only called when logging is enabled for level Error.
+
+ Exception to be logged.
+ Function that returns the log message.
+
+
+
+ Logs the specified message without an at the Fatal level.
+
+ Message which may include positional parameters.
+ Arguments to the message.
+
+
+
+ Logs the specified message without an at the Fatal level.
+
+ Log message.
+
+
+
+ Logs the specified message without an at the Fatal level.
+ will be only called when logging is enabled for level Fatal.
+
+ Function that returns the log message.
+
+
+
+ Logs the specified message with an at the Fatal level.
+
+ Exception to be logged.
+ Message which may include positional parameters.
+ Arguments to the message.
+
+
+
+ Logs the specified message without an at the Trace level.
+
+ The type of the first argument.
+ Message which may include positional parameters.
+ Argument {0} to the message.
+
+
+
+ Logs the specified message without an at the Trace level.
+
+ The type of the first argument.
+ The type of the second argument.
+ Message which may include positional parameters.
+ Argument {0} to the message.
+ Argument {1} to the message.
+
+
+
+ Logs the specified message without an at the Trace level.
+
+ The type of the first argument.
+ The type of the second argument.
+ The type of the third argument.
+ Message which may include positional parameters.
+ Argument {0} to the message.
+ Argument {1} to the message.
+ Argument {2} to the message.
+
+
+
+ Logs the specified message with an at the Fatal level.
+
+ Exception to be logged.
+ Log message.
+
+
+
+ Logs the specified message with an at the Fatal level.
+ will be only called when logging is enabled for level Fatal.
+
+ Exception to be logged.
+ Function that returns the log message.
+
+
+
+ Set the config of the InternalLogger with defaults and config.
+
+
+
+
+ Gets or sets the minimal internal log level.
+
+ If set to , then messages of the levels , and will be written.
+
+
+
+ Gets or sets a value indicating whether internal messages should be written to the console output stream.
+
+ Your application must be a console application.
+
+
+
+ Gets or sets a value indicating whether internal messages should be written to the console error stream.
+
+ Your application must be a console application.
+
+
+
+ Gets or sets a value indicating whether internal messages should be written to the .Trace
+
+
+
+
+ Gets or sets the file path of the internal log file.
+
+ A value of value disables internal logging to a file.
+
+
+
+ Gets or sets the text writer that will receive internal logs.
+
+
+
+
+ Event written to the internal log.
+
+
+ EventHandler will only be triggered for events, where severity matches the configured .
+
+ Avoid using/calling NLog Logger-objects when handling these internal events, as it will lead to deadlock / stackoverflow.
+
+
+
+
+ Gets or sets a value indicating whether timestamp should be included in internal log output.
+
+
+
+
+ Is there an thrown when writing the message?
+
+
+
+
+ Logs the specified message without an at the specified level.
+
+ Log level.
+ Message which may include positional parameters.
+ Arguments to the message.
+
+
+
+ Logs the specified message without an at the specified level.
+
+ Log level.
+ Log message.
+
+
+
+ Logs the specified message without an at the specified level.
+ will be only called when logging is enabled for level .
+
+ Log level.
+ Function that returns the log message.
+
+
+
+ Logs the specified message with an at the specified level.
+ will be only called when logging is enabled for level .
+
+ Exception to be logged.
+ Log level.
+ Function that returns the log message.
+
+
+
+ Logs the specified message with an at the specified level.
+
+ Exception to be logged.
+ Log level.
+ Message which may include positional parameters.
+ Arguments to the message.
+
+
+
+ Logs the specified message with an at the specified level.
+
+ Exception to be logged.
+ Log level.
+ Log message.
+
+
+
+ Write to internallogger.
+
+ optional exception to be logged.
+ level
+ message
+ optional args for
+
+
+
+ Create log line with timestamp, exception message etc (if configured)
+
+
+
+
+ Determine if logging should be avoided because of exception type.
+
+ The exception to check.
+ true if logging should be avoided; otherwise, false.
+
+
+
+ Determine if logging is enabled for given LogLevel
+
+ The for the log event.
+ true if logging is enabled; otherwise, false.
+
+
+
+ Determine if logging is enabled.
+
+ true if logging is enabled; otherwise, false.
+
+
+
+ Write internal messages to the log file defined in .
+
+ Message to write.
+
+ Message will be logged only when the property is not null, otherwise the
+ method has no effect.
+
+
+
+
+ Write internal messages to the defined in .
+
+ Message to write.
+
+ Message will be logged only when the property is not null, otherwise the
+ method has no effect.
+
+
+
+
+ Write internal messages to the .
+
+ Message to write.
+
+ Message will be logged only when the property is true, otherwise the
+ method has no effect.
+
+
+
+
+ Write internal messages to the .
+
+ Message to write.
+
+ Message will be logged when the property is true, otherwise the
+ method has no effect.
+
+
+
+
+ Write internal messages to the .
+
+ A message to write.
+
+ Works when property set to true.
+ The is used in Debug and Release configuration.
+ The works only in Debug configuration and this is reason why is replaced by .
+ in DEBUG
+
+
+
+
+ Logs the assembly version and file version of the given Assembly.
+
+ The assembly to log.
+
+
+
+ A message has been written to the internal logger
+
+
+
+
+ The rendered message
+
+
+
+
+ The log level
+
+
+
+
+ The exception. Could be null.
+
+
+
+
+ The type that triggered this internal log event, for example the FileTarget.
+ This property is not always populated.
+
+
+
+
+ The context name that triggered this internal log event, for example the name of the Target.
+ This property is not always populated.
+
+
+
+
+ A cyclic buffer of object.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Buffer size.
+ Whether buffer should grow as it becomes full.
+ The maximum number of items that the buffer can grow to.
+
+
+
+ Gets the capacity of the buffer
+
+
+
+
+ Gets the number of items in the buffer
+
+
+
+
+ Adds the specified log event to the buffer.
+
+ Log event.
+ The number of items in the buffer.
+
+
+
+ Gets the array of events accumulated in the buffer and clears the buffer as one atomic operation.
+
+ Events in the buffer.
+
+
+
+ Marks class as a log event Condition and assigns a name to it.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Condition method name.
+
+
+
+ Marks the class as containing condition methods.
+
+
+
+
+ A bunch of utility methods (mostly predicates) which can be used in
+ condition expressions. Partially inspired by XPath 1.0.
+
+
+
+
+ Compares two values for equality.
+
+ The first value.
+ The second value.
+ true when two objects are equal, false otherwise.
+
+
+
+ Compares two strings for equality.
+
+ The first string.
+ The second string.
+ Optional. If true, case is ignored; if false (default), case is significant.
+ true when two strings are equal, false otherwise.
+
+
+
+ Gets or sets a value indicating whether the second string is a substring of the first one.
+
+ The first string.
+ The second string.
+ Optional. If true (default), case is ignored; if false, case is significant.
+ true when the second string is a substring of the first string, false otherwise.
+
+
+
+ Gets or sets a value indicating whether the second string is a prefix of the first one.
+
+ The first string.
+ The second string.
+ Optional. If true (default), case is ignored; if false, case is significant.
+ true when the second string is a prefix of the first string, false otherwise.
+
+
+
+ Gets or sets a value indicating whether the second string is a suffix of the first one.
+
+ The first string.
+ The second string.
+ Optional. If true (default), case is ignored; if false, case is significant.
+ true when the second string is a prefix of the first string, false otherwise.
+
+
+
+ Returns the length of a string.
+
+ A string whose lengths is to be evaluated.
+ The length of the string.
+
+
+
+ Indicates whether the specified regular expression finds a match in the specified input string.
+
+ The string to search for a match.
+ The regular expression pattern to match.
+ A string consisting of the desired options for the test. The possible values are those of the separated by commas.
+ true if the regular expression finds a match; otherwise, false.
+
+
+
+
+
+
+
+
+
+
+ Relational operators used in conditions.
+
+
+
+
+ Equality (==).
+
+
+
+
+ Inequality (!=).
+
+
+
+
+ Less than (<).
+
+
+
+
+ Greater than (>).
+
+
+
+
+ Less than or equal (<=).
+
+
+
+
+ Greater than or equal (>=).
+
+
+
+
+ Exception during evaluation of condition expression.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The message.
+
+
+
+ Initializes a new instance of the class.
+
+ The message.
+ The inner exception.
+
+
+
+ Initializes a new instance of the class.
+
+ The that holds the serialized object data about the exception being thrown.
+ The that contains contextual information about the source or destination.
+
+ The parameter is null.
+
+
+ The class name is null or is zero (0).
+
+
+
+
+ Exception during parsing of condition expression.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The message.
+
+
+
+ Initializes a new instance of the class.
+
+ The message.
+ The inner exception.
+
+
+
+ Initializes a new instance of the class.
+
+ The that holds the serialized object data about the exception being thrown.
+ The that contains contextual information about the source or destination.
+
+ The parameter is null.
+
+
+ The class name is null or is zero (0).
+
+
+
+
+ Condition and expression.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Left hand side of the AND expression.
+ Right hand side of the AND expression.
+
+
+
+ Gets the left hand side of the AND expression.
+
+
+
+
+ Gets the right hand side of the AND expression.
+
+
+
+
+ Returns a string representation of this expression.
+
+ A concatenated '(Left) and (Right)' string.
+
+
+
+ Evaluates the expression by evaluating and recursively.
+
+ Evaluation context.
+ The value of the conjunction operator.
+
+
+
+ Condition message expression (represented by the exception keyword).
+
+
+
+
+
+
+
+ Evaluates the current .
+
+ Evaluation context.
+ The object.
+
+
+
+ Base class for representing nodes in condition expression trees.
+
+ Documentation on NLog Wiki
+
+
+
+ Converts condition text to a condition expression tree.
+
+ Condition text to be converted.
+ Condition expression tree.
+
+
+
+ Evaluates the expression.
+
+ Evaluation context.
+ Expression result.
+
+
+
+ Returns a string representation of the expression.
+
+
+
+
+ Evaluates the expression.
+
+ Evaluation context.
+ Expression result.
+
+
+
+ Condition layout expression (represented by a string literal
+ with embedded ${}).
+
+
+
+
+ Initializes a new instance of the class.
+
+ The layout.
+
+
+
+ Gets the layout.
+
+ The layout.
+
+
+
+
+
+
+ Evaluates the expression by rendering the formatted output from
+ the
+
+ Evaluation context.
+ The output rendered from the layout.
+
+
+
+ Condition level expression (represented by the level keyword).
+
+
+
+
+
+
+
+ Evaluates to the current log level.
+
+ Evaluation context.
+ The object representing current log level.
+
+
+
+ Condition literal expression (numeric, LogLevel.XXX, true or false).
+
+
+
+
+ Initializes a new instance of the class.
+
+ Literal value.
+
+
+
+ Gets the literal value.
+
+ The literal value.
+
+
+
+
+
+
+ Evaluates the expression.
+
+ Evaluation context. Ignored.
+ The literal value as passed in the constructor.
+
+
+
+ Condition logger name expression (represented by the logger keyword).
+
+
+
+
+
+
+
+ Evaluates to the logger name.
+
+ Evaluation context.
+ The logger name.
+
+
+
+ Condition message expression (represented by the message keyword).
+
+
+
+
+
+
+
+ Evaluates to the logger message.
+
+ Evaluation context.
+ The logger message.
+
+
+
+ Gets the method parameters
+
+
+
+
+
+
+
+
+
+
+ Condition not expression.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The expression.
+
+
+
+ Gets the expression to be negated.
+
+ The expression.
+
+
+
+
+
+
+
+
+
+ Condition or expression.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Left hand side of the OR expression.
+ Right hand side of the OR expression.
+
+
+
+ Gets the left expression.
+
+ The left expression.
+
+
+
+ Gets the right expression.
+
+ The right expression.
+
+
+
+
+
+
+ Evaluates the expression by evaluating and recursively.
+
+ Evaluation context.
+ The value of the alternative operator.
+
+
+
+ Condition relational (==, !=, <, <=,
+ > or >=) expression.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The left expression.
+ The right expression.
+ The relational operator.
+
+
+
+ Gets the left expression.
+
+ The left expression.
+
+
+
+ Gets the right expression.
+
+ The right expression.
+
+
+
+ Gets the relational operator.
+
+ The operator.
+
+
+
+
+
+
+
+
+
+ Compares the specified values using specified relational operator.
+
+ The first value.
+ The second value.
+ The relational operator.
+ Result of the given relational operator.
+
+
+
+ Promote values to the type needed for the comparison, e.g. parse a string to int.
+
+
+
+
+
+
+ Promotes to type
+
+
+
+ success?
+
+
+
+ Try to promote both values. First try to promote to ,
+ when failed, try to .
+
+
+
+
+
+ Get the order for the type for comparison.
+
+
+ index, 0 to max int. Lower is first
+
+
+
+ Dictionary from type to index. Lower index should be tested first.
+
+
+
+
+ Build the dictionary needed for the order of the types.
+
+
+
+
+
+ Get the string representing the current
+
+
+
+
+
+ Condition parser. Turns a string representation of condition expression
+ into an expression tree.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The string reader.
+ Instance of used to resolve references to condition methods and layout renderers.
+
+
+
+ Parses the specified condition string and turns it into
+ tree.
+
+ The expression to be parsed.
+ The root of the expression syntax tree which can be used to get the value of the condition in a specified context.
+
+
+
+ Parses the specified condition string and turns it into
+ tree.
+
+ The expression to be parsed.
+ Instance of used to resolve references to condition methods and layout renderers.
+ The root of the expression syntax tree which can be used to get the value of the condition in a specified context.
+
+
+
+ Parses the specified condition string and turns it into
+ tree.
+
+ The string reader.
+ Instance of used to resolve references to condition methods and layout renderers.
+
+ The root of the expression syntax tree which can be used to get the value of the condition in a specified context.
+
+
+
+
+ Try stringed keyword to
+
+
+
+ success?
+
+
+
+ Parse number
+
+ negative number? minus should be parsed first.
+
+
+
+
+ Hand-written tokenizer for conditions.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The string reader.
+
+
+
+ Gets the type of the token.
+
+ The type of the token.
+
+
+
+ Gets the token value.
+
+ The token value.
+
+
+
+ Gets the value of a string token.
+
+ The string token value.
+
+
+
+ Asserts current token type and advances to the next token.
+
+ Expected token type.
+ If token type doesn't match, an exception is thrown.
+
+
+
+ Asserts that current token is a keyword and returns its value and advances to the next token.
+
+ Keyword value.
+
+
+
+ Gets or sets a value indicating whether current keyword is equal to the specified value.
+
+ The keyword.
+
+ A value of true if current keyword is equal to the specified value; otherwise, false.
+
+
+
+
+ Gets or sets a value indicating whether the tokenizer has reached the end of the token stream.
+
+
+ A value of true if the tokenizer has reached the end of the token stream; otherwise, false.
+
+
+
+
+ Gets or sets a value indicating whether current token is a number.
+
+
+ A value of true if current token is a number; otherwise, false.
+
+
+
+
+ Gets or sets a value indicating whether the specified token is of specified type.
+
+ The token type.
+
+ A value of true if current token is of specified type; otherwise, false.
+
+
+
+
+ Gets the next token and sets and properties.
+
+
+
+
+ Try the comparison tokens (greater, smaller, greater-equals, smaller-equals)
+
+ current char
+ is match
+
+
+
+ Try the logical tokens (and, or, not, equals)
+
+ current char
+ is match
+
+
+
+ Mapping between characters and token types for punctuations.
+
+
+
+
+ Initializes a new instance of the CharToTokenType struct.
+
+ The character.
+ Type of the token.
+
+
+
+ Token types for condition expressions.
+
+
+
+
+ Marks the class or a member as advanced. Advanced classes and members are hidden by
+ default in generated documentation.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Identifies that the output of layout or layout render does not change for the lifetime of the current appdomain.
+
+
+
+ Implementors must have the [ThreadAgnostic] attribute
+
+ A layout(renderer) could be converted to a literal when:
+ - The layout and all layout properties are SimpleLayout or [AppDomainFixedOutput]
+
+ Recommendation: Apply this attribute to a layout or layout-renderer which have the result only changes by properties of type Layout.
+
+
+
+
+ Used to mark configurable parameters which are arrays.
+ Specifies the mapping between XML elements and .NET types.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The type of the array item.
+ The XML element name that represents the item.
+
+
+
+ Gets the .NET type of the array item.
+
+
+
+
+ Gets the XML element name.
+
+
+
+
+ Load from url
+
+ file or path, including .dll
+ basepath, optional
+
+
+
+
+ Load from url
+
+
+
+
+ Provides logging interface and utility functions.
+
+
+
+
+ An assembly is trying to load.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Assembly that have been loaded
+
+
+
+ The assembly that is trying to load.
+
+
+
+
+ Class for providing Nlog configuration xml code from app.config
+ to
+
+
+
+
+ Overriding base implementation to just store
+ of the relevant app.config section.
+
+ The XmlReader that reads from the configuration file.
+ true to serialize only the collection key properties; otherwise, false.
+
+
+
+ Override base implementation to return a object
+ for
+ instead of the instance.
+
+
+ A instance, that has been deserialized from app.config.
+
+
+
+
+ Constructs a new instance the configuration item (target, layout, layout renderer, etc.) given its type.
+
+ Type of the item.
+ Created object of the specified type.
+
+
+
+ Provides registration information for named items (targets, layouts, layout renderers, etc.) managed by NLog.
+
+ Everything of an assembly could be loaded by
+
+
+
+
+ Called before the assembly will be loaded.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The assemblies to scan for named items.
+
+
+
+ Gets or sets default singleton instance of .
+
+
+ This property implements lazy instantiation so that the is not built before
+ the internal logger is configured.
+
+
+
+
+ Gets the factory.
+
+
+
+
+ Gets the factory.
+
+
+
+
+ Gets the factory.
+
+
+
+
+ Gets the ambient property factory.
+
+
+
+
+ Gets the factory.
+
+
+
+
+ Gets the factory.
+
+
+
+
+ Gets or sets the creator delegate used to instantiate configuration objects.
+
+
+ By overriding this property, one can enable dependency injection or interception for created objects.
+
+
+
+
+ Gets the factory.
+
+ The target factory.
+
+
+
+ Gets the factory.
+
+ The layout factory.
+
+
+
+ Gets the factory.
+
+ The layout renderer factory.
+
+
+
+ Gets the ambient property factory.
+
+ The ambient property factory.
+
+
+
+ Gets the factory.
+
+ The filter factory.
+
+
+
+ Gets the time source factory.
+
+ The time source factory.
+
+
+
+ Gets the condition method factory.
+
+ The condition method factory.
+
+
+
+ Gets or sets the JSON serializer to use with
+
+
+
+
+ Gets or sets the string serializer to use with
+
+
+
+
+ Gets or sets the parameter converter to use with or
+
+
+
+
+ Perform message template parsing and formatting of LogEvent messages (True = Always, False = Never, Null = Auto Detect)
+
+
+ - Null (Auto Detect) : NLog-parser checks for positional parameters, and will then fallback to string.Format-rendering.
+ - True: Always performs the parsing of and rendering of using the NLog-parser (Allows custom formatting with )
+ - False: Always performs parsing and rendering using string.Format (Fastest if not using structured logging)
+
+
+
+
+ Registers named items from the assembly.
+
+ The assembly.
+
+
+
+ Registers named items from the assembly.
+
+ The assembly.
+ Item name prefix.
+
+
+
+ Call Preload for NLogPackageLoader
+
+
+ Every package could implement a class "NLogPackageLoader" (namespace not important) with the public static method "Preload" (no arguments)
+ This method will be called just before registering all items in the assembly.
+
+
+
+
+
+ Call the Preload method for . The Preload method must be static.
+
+
+
+
+
+ Clears the contents of all factories.
+
+
+
+
+ Registers the type.
+
+ The type to register.
+ The item name prefix.
+
+
+
+ Builds the default configuration item factory.
+
+ Default factory.
+
+
+
+ Registers items in using late-bound types, so that we don't need a reference to the dll.
+
+
+
+
+ Attribute used to mark the default parameters for layout renderers.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Dynamic filtering with a positive list of enabled levels
+
+
+
+
+ Dynamic filtering with a minlevel and maxlevel range
+
+
+
+
+ Format of the exception output to the specific target.
+
+
+
+
+ Appends the Message of an Exception to the specified target.
+
+
+
+
+ Appends the type of an Exception to the specified target.
+
+
+
+
+ Appends the short type of an Exception to the specified target.
+
+
+
+
+ Appends the result of calling ToString() on an Exception to the specified target.
+
+
+
+
+ Appends the method name from Exception's stack trace to the specified target.
+
+
+
+
+ Appends the stack trace from an Exception to the specified target.
+
+
+
+
+ Appends the contents of an Exception's Data property to the specified target.
+
+
+
+
+ Destructure the exception (usually into JSON)
+
+
+
+
+ Appends the from the application or the object that caused the error.
+
+
+
+
+ Appends the from the application or the object that caused the error.
+
+
+
+
+ Appends any additional properties that specific type of Exception might have.
+
+
+
+
+ Factory for class-based items.
+
+ The base type of each item.
+ The type of the attribute used to annotate items.
+
+
+
+ Scans the assembly.
+
+ The types to scan.
+ The assembly name for the types.
+ The prefix.
+
+
+
+ Registers the type.
+
+ The type to register.
+ The item name prefix.
+
+
+
+ Registers the item based on a type name.
+
+ Name of the item.
+ Name of the type.
+
+
+
+ Clears the contents of the factory.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Factory specialized for s.
+
+
+
+
+
+
+
+ Register a layout renderer with a callback function.
+
+ Name of the layoutrenderer, without ${}.
+ the renderer that renders the value.
+
+
+
+ Tries to create an item instance.
+
+ Name of the item.
+ The result.
+ True if instance was created successfully, false otherwise.
+
+
+
+ Factory of named items (such as , , , etc.).
+
+
+
+
+ Factory of named items (such as , , , etc.).
+
+
+
+
+ Registers type-creation from type-alias
+
+
+
+
+ Create type-instance from type-alias
+
+
+
+
+ Include context properties
+
+
+
+
+ Gets or sets the option to include all properties from the log events
+
+
+
+
+
+ Gets or sets whether to include the contents of the properties-dictionary.
+
+
+
+
+
+ Gets or sets whether to include the contents of the nested-state-stack.
+
+
+
+
+
+ Did the Initialize Succeeded? true= success, false= error, null = initialize not started yet.
+
+
+
+
+ Implemented by objects which support installation and uninstallation.
+
+
+
+
+ Performs installation which requires administrative permissions.
+
+ The installation context.
+
+
+
+ Performs uninstallation which requires administrative permissions.
+
+ The installation context.
+
+
+
+ Determines whether the item is installed.
+
+ The installation context.
+
+ Value indicating whether the item is installed or null if it is not possible to determine.
+
+
+
+
+ Interface for accessing configuration details
+
+
+
+
+ Name of this configuration element
+
+
+
+
+ Configuration Key/Value Pairs
+
+
+
+
+ Child configuration elements
+
+
+
+
+ Interface for loading NLog
+
+
+
+
+ Finds and loads the NLog configuration
+
+ LogFactory that owns the NLog configuration
+ Name of NLog.config file (optional)
+ NLog configuration (or null if none found)
+
+
+
+ Notifies when LoggingConfiguration has been successfully applied
+
+ LogFactory that owns the NLog configuration
+ NLog Config
+
+
+
+ Get file paths (including filename) for the possible NLog config files.
+
+ Name of NLog.config file (optional)
+ The file paths to the possible config file
+
+
+
+ Level enabled flags for each LogLevel ordinal
+
+
+
+
+ Converts the filter into a simple
+
+
+
+
+ Represents a factory of named items (such as targets, layouts, layout renderers, etc.).
+
+ Base type for each item instance.
+ Item definition type (typically ).
+
+
+
+ Registers new item definition.
+
+ Name of the item.
+ Item definition.
+
+
+
+ Tries to get registered item definition.
+
+ Name of the item.
+ Reference to a variable which will store the item definition.
+ Item definition.
+
+
+
+ Creates item instance.
+
+ Name of the item.
+ Newly created item instance.
+
+
+
+ Tries to create an item instance.
+
+ Name of the item.
+ The result.
+ True if instance was created successfully, false otherwise.
+
+
+
+ Provides context for install/uninstall operations.
+
+
+
+
+ Mapping between log levels and console output colors.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The log output.
+
+
+
+ Gets or sets the installation log level.
+
+
+
+
+ Gets or sets a value indicating whether to ignore failures during installation.
+
+
+
+
+ Whether installation exceptions should be rethrown. If IgnoreFailures is set to true,
+ this property has no effect (there are no exceptions to rethrow).
+
+
+
+
+ Gets the installation parameters.
+
+
+
+
+ Gets or sets the log output.
+
+
+
+
+ Logs the specified trace message.
+
+ The message.
+ The arguments.
+
+
+
+ Logs the specified debug message.
+
+ The message.
+ The arguments.
+
+
+
+ Logs the specified informational message.
+
+ The message.
+ The arguments.
+
+
+
+ Logs the specified warning message.
+
+ The message.
+ The arguments.
+
+
+
+ Logs the specified error message.
+
+ The message.
+ The arguments.
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+
+
+ Creates the log event which can be used to render layouts during install/uninstall.
+
+ Log event info object.
+
+
+
+ Convert object-value into specified type
+
+
+
+
+ Parses the input value and converts into the wanted type
+
+ Input Value
+ Wanted Type
+ Format to use when parsing
+ Culture to use when parsing
+ Output value with wanted type
+
+
+
+ Interface for fluent setup of LogFactory options
+
+
+
+
+ LogFactory under configuration
+
+
+
+
+ Interface for fluent setup of LoggingRules for LoggingConfiguration
+
+
+
+
+ LoggingRule being built
+
+
+
+
+ Interface for fluent setup of target for LoggingRule
+
+
+
+
+ LoggingConfiguration being built
+
+
+
+
+ LogFactory under configuration
+
+
+
+
+ Collection of targets that should be written to
+
+
+
+
+ Interface for fluent setup of LogFactory options for extension loading
+
+
+
+
+ LogFactory under configuration
+
+
+
+
+ Interface for fluent setup of LogFactory options for enabling NLog
+
+
+
+
+ LogFactory under configuration
+
+
+
+
+ Interface for fluent setup of LoggingConfiguration for LogFactory
+
+
+
+
+ LogFactory under configuration
+
+
+
+
+ LoggingConfiguration being built
+
+
+
+
+ Interface for fluent setup of LogFactory options
+
+
+
+
+ LogFactory under configuration
+
+
+
+
+ Interface for fluent setup of LogFactory options for logevent serialization
+
+
+
+
+ LogFactory under configuration
+
+
+
+
+ Allows components to request stack trace information to be provided in the .
+
+
+
+
+ Gets the level of stack trace information required by the implementing class.
+
+
+
+
+ Encapsulates and the logic to match the actual logger name
+ All subclasses defines immutable objects.
+ Concrete subclasses defines various matching rules through
+
+
+
+
+ Creates a concrete based on .
+
+
+ Rules used to select the concrete implementation returned:
+
+ - if is null => returns (never matches)
+ - if doesn't contains any '*' nor '?' => returns (matches only on case sensitive equals)
+ - if == '*' => returns (always matches)
+ - if doesn't contain '?'
+
+ - if contains exactly 2 '*' one at the beginning and one at the end (i.e. "*foobar*) => returns
+ - if contains exactly 1 '*' at the beginning (i.e. "*foobar") => returns
+ - if contains exactly 1 '*' at the end (i.e. "foobar*") => returns
+
+
+ - returns
+
+
+
+ It may include one or more '*' or '?' wildcards at any position.
+
+ - '*' means zero or more occurrences of any character
+ - '?' means exactly one occurrence of any character
+
+
+ A concrete
+
+
+
+ Returns the argument passed to
+
+
+
+
+ Checks whether given name matches the logger name pattern.
+
+ String to be matched.
+ A value of when the name matches, otherwise.
+
+
+
+ Defines a that never matches.
+ Used when pattern is null
+
+
+
+
+ Defines a that always matches.
+ Used when pattern is '*'
+
+
+
+
+ Defines a that matches with a case-sensitive Equals
+ Used when pattern is a string without wildcards '?' '*'
+
+
+
+
+ Defines a that matches with a case-sensitive StartsWith
+ Used when pattern is a string like "*foobar"
+
+
+
+
+ Defines a that matches with a case-sensitive EndsWith
+ Used when pattern is a string like "foobar*"
+
+
+
+
+ Defines a that matches with a case-sensitive Contains
+ Used when pattern is a string like "*foobar*"
+
+
+
+
+ Defines a that matches with a complex wildcards combinations:
+
+ - '*' means zero or more occurrences of any character
+ - '?' means exactly one occurrence of any character
+
+ used when pattern is a string containing any number of '?' or '*' in any position
+ i.e. "*Server[*].Connection[?]"
+
+
+
+
+ Keeps logging configuration and provides simple API to modify it.
+
+ This class is thread-safe..ToList() is used for that purpose.
+
+
+
+ Gets the factory that will be configured
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets the variables defined in the configuration or assigned from API
+
+ Name is case insensitive.
+
+
+
+ Gets a collection of named targets specified in the configuration.
+
+
+ A list of named targets.
+
+
+ Unnamed targets (such as those wrapped by other targets) are not returned.
+
+
+
+
+ Gets the collection of file names which should be watched for changes by NLog.
+
+
+
+
+ Gets the collection of logging rules.
+
+
+
+
+ Gets or sets the default culture info to use as .
+
+
+ Specific culture info or null to use
+
+
+
+
+ Gets all targets.
+
+
+
+
+ Inserts NLog Config Variable without overriding NLog Config Variable assigned from API
+
+
+
+
+ Lookup NLog Config Variable Layout
+
+
+
+
+ Registers the specified target object. The name of the target is read from .
+
+
+ The target object with a non
+
+ when is
+
+
+
+ Registers the specified target object under a given name.
+
+ Name of the target.
+ The target object.
+ when is
+ when is
+
+
+
+ Finds the target with the specified name.
+
+
+ The name of the target to be found.
+
+
+ Found target or when the target is not found.
+
+
+
+
+ Finds the target with the specified name and specified type.
+
+
+ The name of the target to be found.
+
+ Type of the target
+
+ Found target or when the target is not found of not of type
+
+
+
+
+ Add a rule with min- and maxLevel.
+
+ Minimum log level needed to trigger this rule.
+ Maximum log level needed to trigger this rule.
+ Name of the target to be written when the rule matches.
+ Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends.
+
+
+
+ Add a rule with min- and maxLevel.
+
+ Minimum log level needed to trigger this rule.
+ Maximum log level needed to trigger this rule.
+ Target to be written to when the rule matches.
+ Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends.
+
+
+
+ Add a rule with min- and maxLevel.
+
+ Minimum log level needed to trigger this rule.
+ Maximum log level needed to trigger this rule.
+ Target to be written to when the rule matches.
+ Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends.
+ Gets or sets a value indicating whether to quit processing any further rule when this one matches.
+
+
+
+ Add a rule object.
+
+ rule object to add
+
+
+
+ Add a rule for one loglevel.
+
+ log level needed to trigger this rule.
+ Name of the target to be written when the rule matches.
+ Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends.
+
+
+
+ Add a rule for one loglevel.
+
+ log level needed to trigger this rule.
+ Target to be written to when the rule matches.
+ Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends.
+
+
+
+ Add a rule for one loglevel.
+
+ log level needed to trigger this rule.
+ Target to be written to when the rule matches.
+ Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends.
+ Gets or sets a value indicating whether to quit processing any further rule when this one matches.
+
+
+
+ Add a rule for all loglevels.
+
+ Name of the target to be written when the rule matches.
+ Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends.
+
+
+
+ Add a rule for all loglevels.
+
+ Target to be written to when the rule matches.
+ Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends.
+
+
+
+ Add a rule for all loglevels.
+
+ Target to be written to when the rule matches.
+ Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends.
+ Gets or sets a value indicating whether to quit processing any further rule when this one matches.
+
+
+
+ Lookup the logging rule with matching
+
+ The name of the logging rule to be found.
+ Found logging rule or when not found.
+
+
+
+ Removes the specified named logging rule with matching
+
+ The name of the logging rule to be removed.
+ Found one or more logging rule to remove, or when not found.
+
+
+
+ Called by LogManager when one of the log configuration files changes.
+
+
+ A new instance of that represents the updated configuration.
+
+
+
+
+ Allow this new configuration to capture state from the old configuration
+
+ Old config that is about to be replaced
+ Checks KeepVariablesOnReload and copies all NLog Config Variables assigned from API into the new config
+
+
+
+ Removes the specified named target.
+
+ Name of the target.
+
+
+
+ Installs target-specific objects on current system.
+
+ The installation context.
+
+ Installation typically runs with administrative permissions.
+
+
+
+
+ Uninstalls target-specific objects from current system.
+
+ The installation context.
+
+ Uninstallation typically runs with administrative permissions.
+
+
+
+
+ Closes all targets and releases any unmanaged resources.
+
+
+
+
+ Log to the internal (NLog) logger the information about the and associated with this instance.
+
+
+ The information are only recorded in the internal logger if Debug level is enabled, otherwise nothing is
+ recorded.
+
+
+
+
+ Validates the configuration.
+
+
+
+
+ Replace a simple variable with a value. The original value is removed and thus we cannot redo this in a later stage.
+
+
+
+
+
+
+ Checks whether unused targets exist. If found any, just write an internal log at Warn level.
+ If initializing not started or failed, then checking process will be canceled
+
+
+
+
+
+
+
+ Arguments for events.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The new configuration.
+ The old configuration.
+
+
+
+ Gets the old configuration.
+
+ The old configuration.
+
+
+
+ Gets the new configuration.
+
+ The new configuration.
+
+
+
+ Gets the optional boolean attribute value.
+
+
+ Name of the attribute.
+ Default value to return if the attribute is not found or if there is a parse error
+ Boolean attribute value or default.
+
+
+
+ Remove the namespace (before :)
+
+
+ x:a, will be a
+
+
+
+
+
+
+ Enables loading of NLog configuration from a file
+
+
+
+
+ Get default file paths (including filename) for possible NLog config files.
+
+
+
+
+ Get default file paths (including filename) for possible NLog config files.
+
+
+
+
+ Loads NLog configuration from
+
+
+
+
+ Constructor
+
+
+
+
+
+ Loads NLog configuration from provided config section
+
+
+ Directory where the NLog-config-file was loaded from
+
+
+
+ Builds list with unique keys, using last value of duplicates. High priority keys placed first.
+
+
+
+
+
+
+ Parse loglevel, but don't throw if exception throwing is disabled
+
+ Name of attribute for logging.
+ Value of parse.
+ Used if there is an exception
+
+
+
+
+ Parses a single config section within the NLog-config
+
+
+ Section was recognized
+
+
+
+ Parse {Rules} xml element
+
+
+ Rules are added to this parameter.
+
+
+
+ Parse {Logger} xml element
+
+
+
+
+
+ Parse boolean
+
+ Name of the property for logging.
+ value to parse
+ Default value to return if the parse failed
+ Boolean attribute value or default.
+
+
+
+ Config element that's validated and having extra context
+
+
+
+
+ Explicit cast because NET35 doesn't support covariance.
+
+
+
+
+ Arguments for .
+
+
+
+
+ Initializes a new instance of the class.
+
+ Whether configuration reload has succeeded.
+
+
+
+ Initializes a new instance of the class.
+
+ Whether configuration reload has succeeded.
+ The exception during configuration reload.
+
+
+
+ Gets a value indicating whether configuration reload has succeeded.
+
+ A value of true if succeeded; otherwise, false.
+
+
+
+ Gets the exception which occurred during configuration reload.
+
+ The exception.
+
+
+
+ Enables FileWatcher for the currently loaded NLog Configuration File,
+ and supports automatic reload on file modification.
+
+
+
+
+ Represents a logging rule. An equivalent of <logger /> configuration element.
+
+
+
+
+ Create an empty .
+
+
+
+
+ Create an empty .
+
+
+
+
+ Create a new with a and which writes to .
+
+ Logger name pattern used for . It may include one or more '*' or '?' wildcards at any position.
+ Minimum log level needed to trigger this rule.
+ Maximum log level needed to trigger this rule.
+ Target to be written to when the rule matches.
+
+
+
+ Create a new with a which writes to .
+
+ Logger name pattern used for . It may include one or more '*' or '?' wildcards at any position.
+ Minimum log level needed to trigger this rule.
+ Target to be written to when the rule matches.
+
+
+
+ Create a (disabled) . You should call or to enable logging.
+
+ Logger name pattern used for . It may include one or more '*' or '?' wildcards at any position.
+ Target to be written to when the rule matches.
+
+
+
+ Rule identifier to allow rule lookup
+
+
+
+
+ Gets a collection of targets that should be written to when this rule matches.
+
+
+
+
+ Gets a collection of child rules to be evaluated when this rule matches.
+
+
+
+
+ Gets a collection of filters to be checked before writing to targets.
+
+
+
+
+ Gets or sets a value indicating whether to quit processing any following rules when this one matches.
+
+
+
+
+ Gets or sets the whether to quit processing any following rules when lower severity and this one matches.
+
+
+ Loggers matching will be restricted to specified minimum level for following rules.
+
+
+
+
+ Gets or sets logger name pattern.
+
+
+ Logger name pattern used by to check if a logger name matches this rule.
+ It may include one or more '*' or '?' wildcards at any position.
+
+ - '*' means zero or more occurrences of any character
+ - '?' means exactly one occurrence of any character
+
+
+
+
+
+ Gets the collection of log levels enabled by this rule.
+
+
+
+
+ Default action if none of the filters match
+
+
+
+
+ Default action if none of the filters match
+
+
+
+
+ Enables logging for a particular level.
+
+ Level to be enabled.
+
+
+
+ Enables logging for a particular levels between (included) and .
+
+ Minimum log level needed to trigger this rule.
+ Maximum log level needed to trigger this rule.
+
+
+
+ Disables logging for a particular level.
+
+ Level to be disabled.
+
+
+
+ Disables logging for particular levels between (included) and .
+
+ Minimum log level to be disables.
+ Maximum log level to be disabled.
+
+
+
+ Enables logging the levels between (included) and . All the other levels will be disabled.
+
+ Minimum log level needed to trigger this rule.
+ Maximum log level needed to trigger this rule.
+
+
+
+ Returns a string representation of . Used for debugging.
+
+
+
+
+ Checks whether the particular log level is enabled for this rule.
+
+ Level to be checked.
+ A value of when the log level is enabled, otherwise.
+
+
+
+ Checks whether given name matches the .
+
+ String to be matched.
+ A value of when the name matches, otherwise.
+
+
+
+ Default filtering with static level config
+
+
+
+
+ Factory for locating methods.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Scans the assembly for classes marked with expected class
+ and methods marked with expected and adds them
+ to the factory.
+
+ The types to scan.
+ The assembly name for the type.
+ The item name prefix.
+
+
+
+ Registers the type.
+
+ The type to register.
+ The item name prefix.
+
+
+
+ Registers the type.
+
+ The type to register.
+ The item name prefix.
+
+
+
+ Scans a type for relevant methods with their symbolic names
+
+ Include types that are marked with this attribute
+ Include methods that are marked with this attribute
+ Class Type to scan
+ Collection of methods with their symbolic names
+
+
+
+ Clears contents of the factory.
+
+
+
+
+ Registers the definition of a single method.
+
+ The method name.
+ The method info.
+
+
+
+ Tries to retrieve method by name.
+
+ The method name.
+ The result.
+ A value of true if the method was found, false otherwise.
+
+
+
+ Retrieves method by name.
+
+ Method name.
+ MethodInfo object.
+
+
+
+ Tries to get method definition.
+
+ The method name.
+ The result.
+ A value of true if the method was found, false otherwise.
+
+
+
+ Marks the layout or layout renderer depends on mutable objects from the LogEvent
+
+ This can be or
+
+
+
+
+ Attaches a type-alias for an item (such as ,
+ , , etc.).
+
+
+
+
+ Initializes a new instance of the class.
+
+ The type-alias for use in NLog configuration.
+
+
+
+ Gets the name of the type-alias
+
+
+
+
+ Indicates NLog should not scan this property during configuration.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Marks the object as configuration item for NLog.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Failed to resolve the interface of service type
+
+
+
+
+ Typed we tried to resolve
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Represents simple XML element with case-insensitive attribute semantics.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The reader to initialize element from.
+
+
+
+ Gets the element name.
+
+
+
+
+ Gets the dictionary of attribute values.
+
+
+
+
+ Gets the collection of child elements.
+
+
+
+
+ Gets the value of the element.
+
+
+
+
+ Returns children elements with the specified element name.
+
+ Name of the element.
+ Children elements with the specified element name.
+
+
+
+ Asserts that the name of the element is among specified element names.
+
+ The allowed names.
+
+
+
+ Special attribute we could ignore
+
+
+
+
+ Default implementation of
+
+
+
+
+ Singleton instance of the serializer.
+
+
+
+
+
+
+
+ Attribute used to mark the required parameters for targets,
+ layout targets and filters.
+
+
+
+
+ Interface to register available configuration objects type
+
+
+
+
+ Registers instance of singleton object for use in NLog
+
+ Type of service
+ Instance of service
+
+
+
+ Gets the service object of the specified type.
+
+ Avoid calling this while handling a LogEvent, since random deadlocks can occur.
+
+
+
+ Registers singleton-object as implementation of specific interface.
+
+
+ If the same single-object implements multiple interfaces then it must be registered for each interface
+
+ Type of interface
+ The repo
+ Singleton object to use for override
+
+
+
+ Registers the string serializer to use with
+
+
+
+
+ Repository of interfaces used by NLog to allow override for dependency injection
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Registered service type in the service repository
+
+
+
+
+ Initializes a new instance of the class.
+
+ Type of service that have been registered
+
+
+
+ Type of service-interface that has been registered
+
+
+
+
+ Provides simple programmatic configuration API used for trivial logging cases.
+
+ Warning, these methods will overwrite the current config.
+
+
+
+
+ Configures NLog for console logging so that all messages above and including
+ the level are output to the console.
+
+
+
+
+ Configures NLog for console logging so that all messages above and including
+ the specified level are output to the console.
+
+ The minimal logging level.
+
+
+
+ Configures NLog for to log to the specified target so that all messages
+ above and including the level are output.
+
+ The target to log all messages to.
+
+
+
+ Configures NLog for to log to the specified target so that all messages
+ above and including the specified level are output.
+
+ The target to log all messages to.
+ The minimal logging level.
+
+
+
+ Configures NLog for file logging so that all messages above and including
+ the level are written to the specified file.
+
+ Log file name.
+
+
+
+ Configures NLog for file logging so that all messages above and including
+ the specified level are written to the specified file.
+
+ Log file name.
+ The minimal logging level.
+
+
+
+ Value indicating how stack trace should be captured when processing the log event.
+
+
+
+
+ No Stack trace needs to be captured.
+
+
+
+
+ Stack trace should be captured. This option won't add the filenames and linenumbers
+
+
+
+
+ Capture also filenames and linenumbers
+
+
+
+
+ Capture the location of the call
+
+
+
+
+ Capture the class name for location of the call
+
+
+
+
+ Stack trace should be captured. This option won't add the filenames and linenumbers.
+
+
+
+
+ Stack trace should be captured including filenames and linenumbers.
+
+
+
+
+ Capture maximum amount of the stack trace information supported on the platform.
+
+
+
+
+ Marks the layout or layout renderer as thread independent - it producing correct results
+ regardless of the thread it's running on.
+
+ Without this attribute everything is rendered on the main thread.
+
+
+ If this attribute is set on a layout, it could be rendered on the another thread.
+ This could be more efficient as it's skipped when not needed.
+
+ If context like HttpContext.Current is needed, which is only available on the main thread, this attribute should not be applied.
+
+ See the AsyncTargetWrapper and BufferTargetWrapper with the , using
+
+ Apply this attribute when:
+ - The result can we rendered in another thread. Delaying this could be more efficient. And/Or,
+ - The result should not be precalculated, for example the target sends some extra context information.
+
+
+
+
+ Marks the layout or layout renderer as thread safe - it producing correct results
+ regardless of the number of threads it's running on.
+
+ Without this attribute then the target concurrency will be reduced
+
+
+
+
+ A class for configuring NLog through an XML configuration file
+ (App.config style or App.nlog style).
+
+ Parsing of the XML file is also implemented in this class.
+
+
+ - This class is thread-safe..ToList() is used for that purpose.
+ - Update TemplateXSD.xml for changes outside targets
+
+
+
+
+ Initializes a new instance of the class.
+
+ Configuration file to be read.
+
+
+
+ Initializes a new instance of the class.
+
+ Configuration file to be read.
+ The to which to apply any applicable configuration values.
+
+
+
+ Initializes a new instance of the class.
+
+ Configuration file to be read.
+ Ignore any errors during configuration.
+
+
+
+ Initializes a new instance of the class.
+
+ Configuration file to be read.
+ Ignore any errors during configuration.
+ The to which to apply any applicable configuration values.
+
+
+
+ Initializes a new instance of the class.
+
+ XML reader to read from.
+
+
+
+ Initializes a new instance of the class.
+
+ containing the configuration section.
+ Name of the file that contains the element (to be used as a base for including other files). null is allowed.
+
+
+
+ Initializes a new instance of the class.
+
+ containing the configuration section.
+ Name of the file that contains the element (to be used as a base for including other files). null is allowed.
+ The to which to apply any applicable configuration values.
+
+
+
+ Initializes a new instance of the class.
+
+ containing the configuration section.
+ Name of the file that contains the element (to be used as a base for including other files). null is allowed.
+ Ignore any errors during configuration.
+
+
+
+ Initializes a new instance of the class.
+
+ containing the configuration section.
+ Name of the file that contains the element (to be used as a base for including other files). null is allowed.
+ Ignore any errors during configuration.
+ The to which to apply any applicable configuration values.
+
+
+
+ Initializes a new instance of the class.
+
+ NLog configuration as XML string.
+ Name of the XML file.
+ The to which to apply any applicable configuration values.
+
+
+
+ Parse XML string as NLog configuration
+
+ NLog configuration in XML to be parsed
+
+
+
+ Parse XML string as NLog configuration
+
+ NLog configuration in XML to be parsed
+ NLog LogFactory
+
+
+
+ Gets the default object by parsing
+ the application configuration file (app.exe.config).
+
+
+
+
+ Did the Succeeded? true= success, false= error, null = initialize not started yet.
+
+
+
+
+ Gets or sets a value indicating whether all of the configuration files
+ should be watched for changes and reloaded automatically when changed.
+
+
+
+
+ Gets the collection of file names which should be watched for changes by NLog.
+ This is the list of configuration files processed.
+ If the autoReload attribute is not set it returns empty collection.
+
+
+
+
+ Re-reads the original configuration file and returns the new object.
+
+ The new object.
+
+
+
+ Get file paths (including filename) for the possible NLog config files.
+
+ The file paths to the possible config file
+
+
+
+ Overwrite the paths (including filename) for the possible NLog config files.
+
+ The file paths to the possible config file
+
+
+
+ Clear the candidate file paths and return to the defaults.
+
+
+
+
+ Create XML reader for (xml config) file.
+
+ filepath
+ reader or null if filename is empty.
+
+
+
+ Initializes the configuration.
+
+ containing the configuration section.
+ Name of the file that contains the element (to be used as a base for including other files). null is allowed.
+ Ignore any errors during configuration.
+
+
+
+ Add a file with configuration. Check if not already included.
+
+
+
+
+
+
+ Parse the root
+
+
+ path to config file.
+ The default value for the autoReload option.
+
+
+
+ Parse {configuration} xml element.
+
+
+ path to config file.
+ The default value for the autoReload option.
+
+
+
+ Parse {NLog} xml element.
+
+
+ path to config file.
+ The default value for the autoReload option.
+
+
+
+ Parses a single config section within the NLog-config
+
+
+ Section was recognized
+
+
+
+ Include (multiple) files by filemask, e.g. *.nlog
+
+ base directory in case if is relative
+ relative or absolute fileMask
+
+
+
+
+
+
+
+ Global Diagnostics Context - a dictionary structure to hold per-application-instance values.
+
+
+
+
+ Sets the Global Diagnostics Context item to the specified value.
+
+ Item name.
+ Item value.
+
+
+
+ Sets the Global Diagnostics Context item to the specified value.
+
+ Item name.
+ Item value.
+
+
+
+ Gets the Global Diagnostics Context named item.
+
+ Item name.
+ The value of , if defined; otherwise .
+ If the value isn't a already, this call locks the for reading the needed for converting to .
+
+
+
+ Gets the Global Diagnostics Context item.
+
+ Item name.
+ to use when converting the item's value to a string.
+ The value of as a string, if defined; otherwise .
+ If is null and the value isn't a already, this call locks the for reading the needed for converting to .
+
+
+
+ Gets the Global Diagnostics Context named item.
+
+ Item name.
+ The item value, if defined; otherwise null.
+
+
+
+ Returns all item names
+
+ A collection of the names of all items in the Global Diagnostics Context.
+
+
+
+ Checks whether the specified item exists in the Global Diagnostics Context.
+
+ Item name.
+ A boolean indicating whether the specified item exists in current thread GDC.
+
+
+
+ Removes the specified item from the Global Diagnostics Context.
+
+ Item name.
+
+
+
+ Clears the content of the GDC.
+
+
+
+
+ Mapped Diagnostics Context - a thread-local structure that keeps a dictionary
+ of strings and provides methods to output them in layouts.
+
+
+
+
+ Sets the current thread MDC item to the specified value.
+
+ Item name.
+ Item value.
+ An that can be used to remove the item from the current thread MDC.
+
+
+
+ Sets the current thread MDC item to the specified value.
+
+ Item name.
+ Item value.
+ >An that can be used to remove the item from the current thread MDC.
+
+
+
+ Sets the current thread MDC item to the specified value.
+
+ Item name.
+ Item value.
+
+
+
+ Sets the current thread MDC item to the specified value.
+
+ Item name.
+ Item value.
+
+
+
+ Gets the current thread MDC named item, as .
+
+ Item name.
+ The value of , if defined; otherwise .
+ If the value isn't a already, this call locks the for reading the needed for converting to .
+
+
+
+ Gets the current thread MDC named item, as .
+
+ Item name.
+ The to use when converting a value to a .
+ The value of , if defined; otherwise .
+ If is null and the value isn't a already, this call locks the for reading the needed for converting to .
+
+
+
+ Gets the current thread MDC named item, as .
+
+ Item name.
+ The value of , if defined; otherwise null.
+
+
+
+ Returns all item names
+
+ A set of the names of all items in current thread-MDC.
+
+
+
+ Checks whether the specified item exists in current thread MDC.
+
+ Item name.
+ A boolean indicating whether the specified exists in current thread MDC.
+
+
+
+ Removes the specified from current thread MDC.
+
+ Item name.
+
+
+
+ Clears the content of current thread MDC.
+
+
+
+
+ Async version of Mapped Diagnostics Context - a logical context structure that keeps a dictionary
+ of strings and provides methods to output them in layouts. Allows for maintaining state across
+ asynchronous tasks and call contexts.
+
+
+ Ideally, these changes should be incorporated as a new version of the MappedDiagnosticsContext class in the original
+ NLog library so that state can be maintained for multiple threads in asynchronous situations.
+
+
+
+
+ Gets the current logical context named item, as .
+
+ Item name.
+ The value of , if defined; otherwise .
+ If the value isn't a already, this call locks the for reading the needed for converting to .
+
+
+
+ Gets the current logical context named item, as .
+
+ Item name.
+ The to use when converting a value to a string.
+ The value of , if defined; otherwise .
+ If is null and the value isn't a already, this call locks the for reading the needed for converting to .
+
+
+
+ Gets the current logical context named item, as .
+
+ Item name.
+ The value of , if defined; otherwise null.
+
+
+
+ Sets the current logical context item to the specified value.
+
+ Item name.
+ Item value.
+ >An that can be used to remove the item from the current logical context.
+
+
+
+ Sets the current logical context item to the specified value.
+
+ Item name.
+ Item value.
+ >An that can be used to remove the item from the current logical context.
+
+
+
+ Sets the current logical context item to the specified value.
+
+ Item name.
+ Item value.
+ >An that can be used to remove the item from the current logical context.
+
+
+
+ Updates the current logical context with multiple items in single operation
+
+ .
+ >An that can be used to remove the item from the current logical context (null if no items).
+
+
+
+ Sets the current logical context item to the specified value.
+
+ Item name.
+ Item value.
+
+
+
+ Sets the current logical context item to the specified value.
+
+ Item name.
+ Item value.
+
+
+
+ Sets the current logical context item to the specified value.
+
+ Item name.
+ Item value.
+
+
+
+ Returns all item names
+
+ A collection of the names of all items in current logical context.
+
+
+
+ Checks whether the specified exists in current logical context.
+
+ Item name.
+ A boolean indicating whether the specified exists in current logical context.
+
+
+
+ Removes the specified from current logical context.
+
+ Item name.
+
+
+
+ Clears the content of current logical context.
+
+
+
+
+ Clears the content of current logical context.
+
+ Free the full slot.
+
+
+
+ Nested Diagnostics Context - a thread-local structure that keeps a stack
+ of strings and provides methods to output them in layouts
+
+
+
+
+ Gets the top NDC message but doesn't remove it.
+
+ The top message. .
+
+
+
+ Gets the top NDC object but doesn't remove it.
+
+ The object at the top of the NDC stack if defined; otherwise null.
+
+
+
+ Pushes the specified text on current thread NDC.
+
+ The text to be pushed.
+ An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement.
+
+
+
+ Pushes the specified object on current thread NDC.
+
+ The object to be pushed.
+ An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement.
+
+
+
+ Pops the top message off the NDC stack.
+
+ The top message which is no longer on the stack.
+
+
+
+ Pops the top message from the NDC stack.
+
+ The to use when converting the value to a string.
+ The top message, which is removed from the stack, as a string value.
+
+
+
+ Pops the top object off the NDC stack.
+
+ The object from the top of the NDC stack, if defined; otherwise null.
+
+
+
+ Peeks the first object on the NDC stack
+
+ The object from the top of the NDC stack, if defined; otherwise null.
+
+
+
+ Clears current thread NDC stack.
+
+
+
+
+ Gets all messages on the stack.
+
+ Array of strings on the stack.
+
+
+
+ Gets all messages from the stack, without removing them.
+
+ The to use when converting a value to a string.
+ Array of strings.
+
+
+
+ Gets all objects on the stack.
+
+ Array of objects on the stack.
+
+
+
+ Async version of - a logical context structure that keeps a stack
+ Allows for maintaining scope across asynchronous tasks and call contexts.
+
+
+
+
+ Pushes the specified value on current stack
+
+ The value to be pushed.
+ An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement.
+
+
+
+ Pushes the specified value on current stack
+
+ The value to be pushed.
+ An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement.
+
+
+
+ Pops the top message off the NDLC stack.
+
+ The top message which is no longer on the stack.
+ this methods returns a object instead of string, this because of backwards-compatibility
+
+
+
+ Pops the top message from the NDLC stack.
+
+ The to use when converting the value to a string.
+ The top message, which is removed from the stack, as a string value.
+
+
+
+ Pops the top message off the current NDLC stack
+
+ The object from the top of the NDLC stack, if defined; otherwise null.
+
+
+
+ Peeks the top object on the current NDLC stack
+
+ The object from the top of the NDLC stack, if defined; otherwise null.
+
+
+
+ Clears current stack.
+
+
+
+
+ Gets all messages on the stack.
+
+ Array of strings on the stack.
+
+
+
+ Gets all messages from the stack, without removing them.
+
+ The to use when converting a value to a string.
+ Array of strings.
+
+
+
+ Gets all objects on the stack. The objects are not removed from the stack.
+
+ Array of objects on the stack.
+
+
+
+ stores state in the async thread execution context. All LogEvents created
+ within a scope can include the scope state in the target output. The logical context scope supports
+ both scope-properties and scope-nested-state-stack (Similar to log4j2 ThreadContext)
+
+
+ (MDLC), (MDC), (NDLC)
+ and (NDC) have been deprecated and replaced by .
+
+ .NetCore (and .Net46) uses AsyncLocal for handling the thread execution context. Older .NetFramework uses System.Runtime.Remoting.CallContext
+
+
+
+
+ Pushes new state on the logical context scope stack together with provided properties
+
+ Value to added to the scope stack
+ Properties being added to the scope dictionary
+ A disposable object that pops the nested scope state on dispose (including properties).
+ Scope dictionary keys are case-insensitive
+
+
+
+ Updates the logical scope context with provided properties
+
+ Properties being added to the scope dictionary
+ A disposable object that removes the properties from logical context scope on dispose.
+ Scope dictionary keys are case-insensitive
+
+
+
+ Updates the logical scope context with provided properties
+
+ Properties being added to the scope dictionary
+ A disposable object that removes the properties from logical context scope on dispose.
+ Scope dictionary keys are case-insensitive
+
+
+
+ Updates the logical scope context with provided property
+
+ Name of property
+ Value of property
+ A disposable object that removes the properties from logical context scope on dispose.
+ Scope dictionary keys are case-insensitive
+
+
+
+ Updates the logical scope context with provided property
+
+ Name of property
+ Value of property
+ A disposable object that removes the properties from logical context scope on dispose.
+ Scope dictionary keys are case-insensitive
+
+
+
+ Pushes new state on the logical context scope stack
+
+ Value to added to the scope stack
+ A disposable object that pops the nested scope state on dispose.
+ Skips casting of to check for scope-properties
+
+
+
+ Pushes new state on the logical context scope stack
+
+ Value to added to the scope stack
+ A disposable object that pops the nested scope state on dispose.
+
+
+
+ Clears all the entire logical context scope, and removes any properties and nested-states
+
+
+
+
+ Retrieves all properties stored within the logical context scopes
+
+ Collection of all properties
+
+
+
+ Lookup single property stored within the logical context scopes
+
+ Name of property
+ When this method returns, contains the value associated with the specified key
+ Returns true when value is found with the specified key
+ Scope dictionary keys are case-insensitive
+
+
+
+ Retrieves all nested states inside the logical context scope stack
+
+ Array of nested state objects.
+
+
+
+ Peeks the top value from the logical context scope stack
+
+ Value from the top of the stack.
+
+
+
+ Peeks the inner state (newest) from the logical context scope stack, and returns its running duration
+
+ Scope Duration Time
+
+
+
+ Peeks the outer state (oldest) from the logical context scope stack, and returns its running duration
+
+ Scope Duration Time
+
+
+
+ Special bookmark that can restore original parent, after scopes has been collapsed
+
+
+
+
+ Matches when the specified condition is met.
+
+
+ Conditions are expressed using a simple language.
+
+ Documentation on NLog Wiki
+
+
+
+ Gets or sets the condition expression.
+
+
+
+
+
+
+
+
+ An abstract filter class. Provides a way to eliminate log messages
+ based on properties other than logger name and log level.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets the action to be taken when filter matches.
+
+
+
+
+
+ Gets the result of evaluating filter against given log event.
+
+ The log event.
+ Filter result.
+
+
+
+ Checks whether log event should be logged or not.
+
+ Log event.
+
+ - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+
+
+ Marks class as a layout renderer and assigns a name to it.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the filter.
+
+
+
+ Filter result.
+
+
+
+
+ The filter doesn't want to decide whether to log or discard the message.
+
+
+
+
+ The message should be logged.
+
+
+
+
+ The message should not be logged.
+
+
+
+
+ The message should be logged and processing should be finished.
+
+
+
+
+ The message should not be logged and processing should be finished.
+
+
+
+
+ A base class for filters that are based on comparing a value to a layout.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets the layout to be used to filter log messages.
+
+ The layout.
+
+
+
+
+ Matches when the calculated layout contains the specified substring.
+ This filter is deprecated in favor of <when /> which is based on conditions.
+
+
+
+
+ Gets or sets a value indicating whether to ignore case when comparing strings.
+
+
+
+
+
+ Gets or sets the substring to be matched.
+
+
+
+
+
+
+
+
+ Matches when the calculated layout is equal to the specified substring.
+ This filter is deprecated in favor of <when /> which is based on conditions.
+
+
+
+
+ Gets or sets a value indicating whether to ignore case when comparing strings.
+
+
+
+
+
+ Gets or sets a string to compare the layout to.
+
+
+
+
+
+
+
+
+ Matches the provided filter-method
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+
+ Matches when the calculated layout does NOT contain the specified substring.
+ This filter is deprecated in favor of <when /> which is based on conditions.
+
+
+
+
+ Gets or sets the substring to be matched.
+
+
+
+
+
+ Gets or sets a value indicating whether to ignore case when comparing strings.
+
+
+
+
+
+
+
+
+ Matches when the calculated layout is NOT equal to the specified substring.
+ This filter is deprecated in favor of <when /> which is based on conditions.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets a string to compare the layout to.
+
+
+
+
+
+ Gets or sets a value indicating whether to ignore case when comparing strings.
+
+
+
+
+
+
+
+
+ Matches when the result of the calculated layout has been repeated a moment ago
+
+
+
+
+ How long before a filter expires, and logging is accepted again
+
+
+
+
+
+ Max length of filter values, will truncate if above limit
+
+
+
+
+
+ Applies the configured action to the initial logevent that starts the timeout period.
+ Used to configure that it should ignore all events until timeout.
+
+
+
+
+
+ Max number of unique filter values to expect simultaneously
+
+
+
+
+
+ Default number of unique filter values to expect, will automatically increase if needed
+
+
+
+
+
+ Insert FilterCount value into when an event is no longer filtered
+
+
+
+
+
+ Append FilterCount to the when an event is no longer filtered
+
+
+
+
+
+ Reuse internal buffers, and doesn't have to constantly allocate new buffers
+
+
+
+
+
+ Default buffer size for the internal buffers
+
+
+
+
+
+ Checks whether log event should be logged or not. In case the LogEvent has just been repeated.
+
+ Log event.
+
+ - if the log event should be ignored
+ - if the filter doesn't want to decide
+ - if the log event should be logged
+ .
+
+
+
+ Uses object pooling, and prunes stale filter items when the pool runs dry
+
+
+
+
+ Remove stale filter-value from the cache, and fill them into the pool for reuse
+
+
+
+
+ Renders the Log Event into a filter value, that is used for checking if just repeated
+
+
+
+
+ Repeated LogEvent detected. Checks if it should activate filter-action
+
+
+
+
+ Filter Value State (mutable)
+
+
+
+
+ Filter Lookup Key (immutable)
+
+
+
+
+ A global logging class using caller info to find the logger.
+
+
+
+
+ Starts building a log event with the specified .
+
+ The log level.
+ The full path of the source file that contains the caller. This is the file path at the time of compile.
+ An instance of the fluent .
+
+
+
+ Starts building a log event at the Trace level.
+
+ The full path of the source file that contains the caller. This is the file path at the time of compile.
+ An instance of the fluent .
+
+
+
+ Starts building a log event at the Debug level.
+
+ The full path of the source file that contains the caller. This is the file path at the time of compile.
+ An instance of the fluent .
+
+
+
+ Starts building a log event at the Info level.
+
+ The full path of the source file that contains the caller. This is the file path at the time of compile.
+ An instance of the fluent .
+
+
+
+ Starts building a log event at the Warn level.
+
+ The full path of the source file that contains the caller. This is the file path at the time of compile.
+ An instance of the fluent .
+
+
+
+ Starts building a log event at the Error level.
+
+ The full path of the source file that contains the caller. This is the file path at the time of compile.
+ An instance of the fluent .
+
+
+
+ Starts building a log event at the Fatal level.
+
+ The full path of the source file that contains the caller. This is the file path at the time of compile.
+ An instance of the fluent .
+
+
+
+ A fluent class to build log events for NLog.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The to send the log event.
+
+
+
+ Initializes a new instance of the class.
+
+ The to send the log event.
+ The for the log event.
+
+
+
+ Gets the created by the builder.
+
+
+
+
+ Sets the information of the logging event.
+
+ The exception information of the logging event.
+ current for chaining calls.
+
+
+
+ Sets the level of the logging event.
+
+ The level of the logging event.
+ current for chaining calls.
+
+
+
+ Sets the logger name of the logging event.
+
+ The logger name of the logging event.
+ current for chaining calls.
+
+
+
+ Sets the log message on the logging event.
+
+ The log message for the logging event.
+ current for chaining calls.
+
+
+
+ Sets the log message and parameters for formatting on the logging event.
+
+ A composite format string.
+ The object to format.
+ current for chaining calls.
+
+
+
+ Sets the log message and parameters for formatting on the logging event.
+
+ A composite format string.
+ The first object to format.
+ The second object to format.
+ current for chaining calls.
+
+
+
+ Sets the log message and parameters for formatting on the logging event.
+
+ A composite format string.
+ The first object to format.
+ The second object to format.
+ The third object to format.
+ current for chaining calls.
+
+
+
+ Sets the log message and parameters for formatting on the logging event.
+
+ A composite format string.
+ The first object to format.
+ The second object to format.
+ The third object to format.
+ The fourth object to format.
+ current for chaining calls.
+
+
+
+ Sets the log message and parameters for formatting on the logging event.
+
+ A composite format string.
+ An object array that contains zero or more objects to format.
+ current for chaining calls.
+
+
+
+ Sets the log message and parameters for formatting on the logging event.
+
+ An object that supplies culture-specific formatting information.
+ A composite format string.
+ An object array that contains zero or more objects to format.
+ current for chaining calls.
+
+
+
+ Sets a per-event context property on the logging event.
+
+ The name of the context property.
+ The value of the context property.
+ current for chaining calls.
+
+
+
+ Sets multiple per-event context properties on the logging event.
+
+ The properties to set.
+ current for chaining calls.
+
+
+
+ Sets the timestamp of the logging event.
+
+ The timestamp of the logging event.
+ current for chaining calls.
+
+
+
+ Sets the stack trace for the event info.
+
+ The stack trace.
+ Index of the first user stack frame within the stack trace.
+ current for chaining calls.
+
+
+
+ Writes the log event to the underlying logger.
+
+ The method or property name of the caller to the method. This is set at by the compiler.
+ The full path of the source file that contains the caller. This is set at by the compiler.
+ The line number in the source file at which the method is called. This is set at by the compiler.
+
+
+
+ Writes the log event to the underlying logger if the condition delegate is true.
+
+ If condition is true, write log event; otherwise ignore event.
+ The method or property name of the caller to the method. This is set at by the compiler.
+ The full path of the source file that contains the caller. This is set at by the compiler.
+ The line number in the source file at which the method is called. This is set at by the compiler.
+
+
+
+ Writes the log event to the underlying logger if the condition is true.
+
+ If condition is true, write log event; otherwise ignore event.
+ The method or property name of the caller to the method. This is set at by the compiler.
+ The full path of the source file that contains the caller. This is set at by the compiler.
+ The line number in the source file at which the method is called. This is set at by the compiler.
+
+
+
+ Extension methods for NLog .
+
+
+
+
+ Starts building a log event with the specified .
+
+ The logger to write the log event to.
+ The log level.
+ current for chaining calls.
+
+
+
+ Starts building a log event at the Trace level.
+
+ The logger to write the log event to.
+ current for chaining calls.
+
+
+
+ Starts building a log event at the Debug level.
+
+ The logger to write the log event to.
+ current for chaining calls.
+
+
+
+ Starts building a log event at the Info level.
+
+ The logger to write the log event to.
+ current for chaining calls.
+
+
+
+ Starts building a log event at the Warn level.
+
+ The logger to write the log event to.
+ current for chaining calls.
+
+
+
+ Starts building a log event at the Error level.
+
+ The logger to write the log event to.
+ current for chaining calls.
+
+
+
+ Starts building a log event at the Fatal level.
+
+ The logger to write the log event to.
+ current for chaining calls.
+
Extensions for NLog .
+
+
+ Starts building a log event with the specified .
+
+ The logger to write the log event to.
+ The log level. When not
+ for chaining calls.
+
+
+
+ Starts building a log event at the Trace level.
+
+ The logger to write the log event to.
+ for chaining calls.
+
+
+
+ Starts building a log event at the Debug level.
+
+ The logger to write the log event to.
+ for chaining calls.
+
+
+
+ Starts building a log event at the Info level.
+
+ The logger to write the log event to.
+ for chaining calls.
+
+
+
+ Starts building a log event at the Warn level.
+
+ The logger to write the log event to.
+ for chaining calls.
+
+
+
+ Starts building a log event at the Error level.
+
+ The logger to write the log event to.
+ for chaining calls.
+
+
+
+ Starts building a log event at the Fatal level.
+
+ The logger to write the log event to.
+ for chaining calls.
+
+
+
+ Starts building a log event at the Exception level.
+
+ The logger to write the log event to.
+ The exception information of the logging event.
+ The for the log event. Defaults to when not specified.
+ for chaining calls.
+
+
+
+ Writes the diagnostic message at the Debug level using the specified format provider and format parameters.
+
+
+ Writes the diagnostic message at the Debug level.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ Type of the value.
+ A logger implementation that will handle the message.
+ The value to be written.
+
+
+
+ Writes the diagnostic message at the Debug level.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ Type of the value.
+ A logger implementation that will handle the message.
+ An IFormatProvider that supplies culture-specific formatting information.
+ The value to be written.
+
+
+
+ Writes the diagnostic message at the Debug level.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ A logger implementation that will handle the message.
+ A function returning message to be written. Function is not evaluated if logging is not enabled.
+
+
+
+ Writes the diagnostic message and exception at the Debug level.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ A logger implementation that will handle the message.
+ An exception to be logged.
+ A to be written.
+ Arguments to format.
+
+
+
+ Writes the diagnostic message and exception at the Debug level.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ A logger implementation that will handle the message.
+ An exception to be logged.
+ An IFormatProvider that supplies culture-specific formatting information.
+ A to be written.
+ Arguments to format.
+
+
+
+ Writes the diagnostic message at the Debug level.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ A logger implementation that will handle the message.
+ Log message.
+
+
+
+ Writes the diagnostic message at the Debug level using the specified parameters.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ A logger implementation that will handle the message.
+ A containing format items.
+ Arguments to format.
+
+
+
+ Writes the diagnostic message at the Debug level using the specified parameters.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ A logger implementation that will handle the message.
+ An IFormatProvider that supplies culture-specific formatting information.
+ A containing format items.
+ Arguments to format.
+
+
+
+ Writes the diagnostic message at the Debug level using the specified parameter.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ The type of the argument.
+ A logger implementation that will handle the message.
+ A containing one format item.
+ The argument to format.
+
+
+
+ Writes the diagnostic message at the Debug level using the specified parameters.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ The type of the first argument.
+ The type of the second argument.
+ A logger implementation that will handle the message.
+ A containing one format item.
+ The first argument to format.
+ The second argument to format.
+
+
+
+ Writes the diagnostic message at the Debug level using the specified parameters.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ The type of the first argument.
+ The type of the second argument.
+ The type of the third argument.
+ A logger implementation that will handle the message.
+ A containing one format item.
+ The first argument to format.
+ The second argument to format.
+ The third argument to format.
+
+
+
+ Writes the diagnostic message at the Debug level using the specified format provider and format parameters.
+
+
+ Writes the diagnostic message at the Debug level.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ Type of the value.
+ A logger implementation that will handle the message.
+ The value to be written.
+
+
+
+ Writes the diagnostic message at the Debug level.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ Type of the value.
+ A logger implementation that will handle the message.
+ An IFormatProvider that supplies culture-specific formatting information.
+ The value to be written.
+
+
+
+ Writes the diagnostic message at the Debug level.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ A logger implementation that will handle the message.
+ A function returning message to be written. Function is not evaluated if logging is not enabled.
+
+
+
+ Writes the diagnostic message and exception at the Debug level.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ A logger implementation that will handle the message.
+ An exception to be logged.
+ A to be written.
+ Arguments to format.
+
+
+
+ Writes the diagnostic message and exception at the Debug level.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ A logger implementation that will handle the message.
+ An exception to be logged.
+ An IFormatProvider that supplies culture-specific formatting information.
+ A to be written.
+ Arguments to format.
+
+
+
+ Writes the diagnostic message at the Debug level.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ A logger implementation that will handle the message.
+ Log message.
+
+
+
+ Writes the diagnostic message at the Debug level using the specified parameters.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ A logger implementation that will handle the message.
+ A containing format items.
+ Arguments to format.
+
+
+
+ Writes the diagnostic message at the Debug level using the specified parameters.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ A logger implementation that will handle the message.
+ An IFormatProvider that supplies culture-specific formatting information.
+ A containing format items.
+ Arguments to format.
+
+
+
+ Writes the diagnostic message at the Debug level using the specified parameter.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ The type of the argument.
+ A logger implementation that will handle the message.
+ A containing one format item.
+ The argument to format.
+
+
+
+ Writes the diagnostic message at the Debug level using the specified parameters.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ The type of the first argument.
+ The type of the second argument.
+ A logger implementation that will handle the message.
+ A containing one format item.
+ The first argument to format.
+ The second argument to format.
+
+
+
+ Writes the diagnostic message at the Debug level using the specified parameters.
+ Only executed when the DEBUG conditional compilation symbol is set.
+ The type of the first argument.
+ The type of the second argument.
+ The type of the third argument.
+ A logger implementation that will handle the message.
+ A containing one format item.
+ The first argument to format.
+ The second argument to format.
+ The third argument to format.
+
Writes the diagnostic message and exception at the specified level.
@@ -7668,371 +8124,79 @@
An exception to be logged.
A function returning message to be written. Function is not evaluated if logging is not enabled.
-
+
- Allocates new builder and appends to the provided target builder on dispose
+ Interface for fakeable of the current AppDomain.
-
+
- Access the new builder allocated
+ Gets or sets the base directory that the assembly resolver uses to probe for assemblies.
-
+
- Helpers for .
+ Gets or sets the name of the configuration file for an application domain.
-
+
- Load from url
-
- file or path, including .dll
- basepath, optional
-
-
-
-
- Load from url
-
- name without .dll
-
-
-
-
- Forward declare of system delegate type for use by other classes
+ Gets or sets the list of directories under the application base directory that are probed for private assemblies.
-
+
- Keeps track of pending operation count, and can notify when pending operation count reaches zero
+ Gets or set the friendly name.
-
+
- Mark operation has started
+ Gets an integer that uniquely identifies the application domain within the process.
-
+
- Mark operation has completed
+ Gets the assemblies that have been loaded into the execution context of this application domain.
- Exception coming from the completed operation [optional]
+ A list of assemblies in this application domain.
-
+
- Registers an AsyncContinuation to be called when all pending operations have completed
-
- Invoked on completion
- AsyncContinuation operation
-
-
-
- Clear o
+ Process exit event.
-
+
- Sets the stack trace for the event info.
-
- The stack trace.
- Index of the first user stack frame within the stack trace.
- Index of the first user stack frame within the stack trace.
-
-
-
- Sets the details retrieved from the Caller Information Attributes
-
-
-
-
-
-
-
-
- Gets the stack frame of the method that did the logging.
+ Domain unloaded event.
-
+
- Gets the number index of the stack frame that represents the user
- code (not the NLog code).
+ Abstract calls for the application environment
-
+
- Legacy attempt to skip async MoveNext, but caused source file line number to be lost
+ Gets current process name (excluding filename extension, if any).
-
+
- Gets the entire stack trace.
+ Process exit event.
-
+
- Memory optimized filtering
-
- Passing state too avoid delegate capture and memory-allocations.
-
-
-
- Internal configuration manager used to read .NET configuration files.
- Just a wrapper around the BCL ConfigurationManager, but used to enable
- unit testing.
+ Abstract calls to FileSystem
-
-
- Gets the wrapper around ConfigurationManager.AppSettings.
-
+
+ Determines whether the specified file exists.
+ The file to check.
-
-
- Provides untyped IDictionary interface on top of generic IDictionary.
-
- The type of the key.
- The type of the value.
-
-
-
- Initializes a new instance of the DictionaryAdapter class.
-
- The implementation.
-
-
-
- Gets an object containing the values in the object.
-
-
-
- An object containing the values in the object.
-
-
-
-
- Gets the number of elements contained in the .
-
-
-
- The number of elements contained in the .
-
-
-
-
- Gets a value indicating whether access to the is synchronized (thread safe).
-
-
- true if access to the is synchronized (thread safe); otherwise, false.
-
-
-
-
- Gets an object that can be used to synchronize access to the .
-
-
-
- An object that can be used to synchronize access to the .
-
-
-
-
- Gets a value indicating whether the object has a fixed size.
-
-
- true if the object has a fixed size; otherwise, false.
-
-
-
-
- Gets a value indicating whether the object is read-only.
-
-
- true if the object is read-only; otherwise, false.
-
-
-
-
- Gets an object containing the keys of the object.
-
-
-
- An object containing the keys of the object.
-
-
-
-
- Gets or sets the with the specified key.
-
- Dictionary key.
- Value corresponding to key or null if not found
-
-
-
- Adds an element with the provided key and value to the object.
-
- The to use as the key of the element to add.
- The to use as the value of the element to add.
-
-
-
- Removes all elements from the object.
-
-
-
-
- Determines whether the object contains an element with the specified key.
-
- The key to locate in the object.
-
- True if the contains an element with the key; otherwise, false.
-
-
-
-
- Returns an object for the object.
-
-
- An object for the object.
-
-
-
-
- Removes the element with the specified key from the object.
-
- The key of the element to remove.
-
-
-
- Copies the elements of the to an , starting at a particular index.
-
- The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing.
- The zero-based index in at which copying begins.
-
-
-
- Returns an enumerator that iterates through a collection.
-
-
- An object that can be used to iterate through the collection.
-
-
-
-
- Wrapper IDictionaryEnumerator.
-
-
-
-
- Initializes a new instance of the class.
-
- The wrapped.
-
-
-
- Gets both the key and the value of the current dictionary entry.
-
-
-
- A containing both the key and the value of the current dictionary entry.
-
-
-
-
- Gets the key of the current dictionary entry.
-
-
-
- The key of the current element of the enumeration.
-
-
-
-
- Gets the value of the current dictionary entry.
-
-
-
- The value of the current element of the enumeration.
-
-
-
-
- Gets the current element in the collection.
-
-
-
- The current element in the collection.
-
-
-
-
- Advances the enumerator to the next element of the collection.
-
-
- True if the enumerator was successfully advanced to the next element; false if the enumerator has passed the end of the collection.
-
-
-
-
- Sets the enumerator to its initial position, which is before the first element in the collection.
-
-
-
-
- Ensures that IDictionary.GetEnumerator returns DictionaryEntry values
-
-
-
-
- UTF-8 BOM 239, 187, 191
-
-
-
-
- Safe way to get environment variables.
-
-
-
-
- Helper class for dealing with exceptions.
-
-
-
-
- Mark this exception as logged to the .
-
-
-
-
-
-
- Is this exception logged to the ?
-
-
- trueif the has been logged to the .
-
-
-
- Determines whether the exception must be rethrown and logs the error to the if is false.
-
- Advised to log first the error to the before calling this method.
-
- The exception to check.
- trueif the must be rethrown, false otherwise.
-
-
-
- Determines whether the exception must be rethrown immediately, without logging the error to the .
-
- Only used this method in special cases.
-
- The exception to check.
- trueif the must be rethrown, false otherwise.
-
-
-
- Object construction helper.
-
+
+ Returns the content of the specified file
+ The file to load.
@@ -8091,842 +8255,50 @@
Domain unloaded event.
-
-
-
-
-
-
-
-
-
-
+
-
+
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
-
-
-
- Interface for fakeable the current . Not fully implemented, please methods/properties as necessary.
-
-
-
-
- Gets or sets the base directory that the assembly resolver uses to probe for assemblies.
-
-
-
-
- Gets or sets the name of the configuration file for an application domain.
-
-
-
-
- Gets or sets the list of directories under the application base directory that are probed for private assemblies.
-
-
-
-
- Gets or set the friendly name.
-
-
-
-
- Gets an integer that uniquely identifies the application domain within the process.
-
-
-
-
- Gets the assemblies that have been loaded into the execution context of this application domain.
-
- A list of assemblies in this application domain.
-
-
-
- Process exit event.
-
-
-
-
- Domain unloaded event.
-
-
-
-
- Abstract calls for the application environment
-
-
-
-
- Abstract calls to FileSystem
-
-
-
- Determines whether the specified file exists.
- The file to check.
-
-
- Returns the content of the specified file
- The file to load.
-
-
-
- Base class for optimized file appenders.
-
-
-
-
- Initializes a new instance of the class.
-
- Name of the file.
- The create parameters.
-
-
-
- Gets the path of the file, including file extension.
-
- The name of the file.
-
-
-
- Gets or sets the creation time for a file associated with the appender. The time returned is in Coordinated
- Universal Time [UTC] standard.
-
- The creation time of the file.
-
-
-
- Gets or sets the creation time for a file associated with the appender. Synchronized by
- The time format is based on
-
-
-
-
- Gets the last time the file associated with the appender is opened. The time returned is in Coordinated
- Universal Time [UTC] standard.
-
- The time the file was last opened.
-
-
-
- Gets the file creation parameters.
-
- The file creation parameters.
-
-
-
- Writes the specified bytes.
-
- The bytes.
-
-
-
- Flushes this instance.
-
-
-
-
- Closes this instance.
-
-
-
-
- Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal
- Time [UTC] standard.
-
- The file creation time.
-
-
-
- Gets the length in bytes of the file associated with the appender.
-
- A long value representing the length of the file in bytes.
-
-
-
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-
-
-
-
- Releases unmanaged and - optionally - managed resources.
-
- True to release both managed and unmanaged resources; false to release only unmanaged resources.
-
-
-
- Creates the file stream.
-
- If set to true sets the file stream to allow shared writing.
- If larger than 0 then it will be used instead of the default BufferSize for the FileStream.
- A object which can be used to write to the file.
-
-
-
- Base class for optimized file appenders which require the usage of a mutex.
-
- It is possible to use this class as replacement of BaseFileAppender and the mutex functionality
- is not enforced to the implementing subclasses.
-
-
-
-
- Initializes a new instance of the class.
-
- Name of the file.
- The create parameters.
-
-
-
- Gets the mutually-exclusive lock for archiving files.
-
- The mutex for archiving.
-
-
-
- Releases unmanaged and - optionally - managed resources.
-
- True to release both managed and unmanaged resources; false to release only unmanaged resources.
-
-
-
- Creates a mutex that is sharable by more than one process.
-
- The prefix to use for the name of the mutex.
- A object which is sharable by multiple processes.
-
-
-
- Implementation of which caches
- file information.
-
-
-
-
- Initializes a new instance of the class.
-
- Name of the file.
- The parameters.
-
-
-
- Closes this instance of the appender.
-
-
-
-
- Flushes this current appender.
-
-
-
-
- Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal
- Time [UTC] standard.
-
- The file creation time.
-
-
-
- Gets the length in bytes of the file associated with the appender.
-
- A long value representing the length of the file in bytes.
-
-
-
- Writes the specified bytes to a file.
-
- The bytes array.
- The bytes array offset.
- The number of bytes.
-
-
-
- Factory class which creates objects.
-
-
-
-
- Opens the appender for given file name and parameters.
-
- Name of the file.
- Creation parameters.
-
- Instance of which can be used to write to the file.
-
-
-
-
- Maintains a collection of file appenders usually associated with file targets.
-
-
-
-
- An "empty" instance of the class with zero size and empty list of appenders.
-
-
-
-
- Initializes a new "empty" instance of the class with zero size and empty
- list of appenders.
-
-
-
-
- Initializes a new instance of the class.
-
-
- The size of the list should be positive. No validations are performed during initialisation as it is an
- intenal class.
-
- Total number of appenders allowed in list.
- Factory used to create each appender.
- Parameters used for creating a file.
-
-
-
- The archive file path pattern that is used to detect when archiving occurs.
-
-
-
-
- Invalidates appenders for all files that were archived.
-
-
-
-
- Gets the parameters which will be used for creating a file.
-
-
-
-
- Gets the file appender factory used by all the appenders in this list.
-
-
-
-
- Gets the number of appenders which the list can hold.
-
-
-
-
- Subscribe to background monitoring of active file appenders
-
-
-
-
- It allocates the first slot in the list when the file name does not already in the list and clean up any
- unused slots.
-
- File name associated with a single appender.
- The allocated appender.
-
- Thrown when is called on an Empty instance.
-
-
-
-
- Close all the allocated appenders.
-
-
-
-
- Close the allocated appenders initialized before the supplied time.
-
- The time which prior the appenders considered expired
-
-
-
- Fluch all the allocated appenders.
-
-
-
-
- File Archive Logic uses the File-Creation-TimeStamp to detect if time to archive, and the File-LastWrite-Timestamp to name the archive-file.
-
-
- NLog always closes all relevant appenders during archive operation, so no need to lookup file-appender
-
-
-
-
- Closes the specified appender and removes it from the list.
-
- File name of the appender to be closed.
- File Appender that matched the filePath (null if none found)
-
-
-
- Interface that provides parameters for create file function.
-
-
-
-
- Gets or sets the delay in milliseconds to wait before attempting to write to the file again.
-
-
-
-
- Gets or sets the number of times the write is appended on the file before NLog
- discards the log message.
-
-
-
-
- Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on the same host.
-
-
- This makes multi-process logging possible. NLog uses a special technique
- that lets it keep the files open for writing.
-
-
-
-
- Gets or sets a value indicating whether to create directories if they do not exist.
-
-
- Setting this to false may improve performance a bit, but you'll receive an error
- when attempting to write to a directory that's not present.
-
-
-
-
- Gets or sets a value indicating whether to enable log file(s) to be deleted.
-
-
-
-
- Gets or sets the log file buffer size in bytes.
-
-
-
-
- Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation.
-
-
-
-
- Gets or sets the file attributes (Windows only).
-
-
-
-
- Should archive mutex be created?
-
-
-
-
- Should manual simple detection of file deletion be enabled?
-
-
-
-
- Interface implemented by all factories capable of creating file appenders.
-
-
-
-
- Opens the appender for given file name and parameters.
-
- Name of the file.
- Creation parameters.
- Instance of which can be used to write to the file.
-
-
-
- Provides a multiprocess-safe atomic file appends while
- keeping the files open.
-
-
- On Unix you can get all the appends to be atomic, even when multiple
- processes are trying to write to the same file, because setting the file
- pointer to the end of the file and appending can be made one operation.
- On Win32 we need to maintain some synchronization between processes
- (global named mutex is used for this)
-
-
-
-
- Initializes a new instance of the class.
-
- Name of the file.
- The parameters.
-
-
-
- Writes the specified bytes.
-
- The bytes array.
- The bytes array offset.
- The number of bytes.
-
-
-
- Closes this instance.
-
-
-
-
- Flushes this instance.
-
-
-
-
- Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal
- Time [UTC] standard.
-
- The file creation time.
-
-
-
- Gets the length in bytes of the file associated with the appender.
-
- A long value representing the length of the file in bytes.
-
-
-
- Factory class.
-
-
-
-
- Opens the appender for given file name and parameters.
-
- Name of the file.
- Creation parameters.
-
- Instance of which can be used to write to the file.
-
-
-
-
- Appender used to discard data for the FileTarget.
- Used mostly for testing entire stack except the actual writing to disk.
- Throws away all data.
-
-
-
-
- Factory class.
-
-
-
-
- Opens the appender for given file name and parameters.
-
- Name of the file.
- Creation parameters.
-
- Instance of which can be used to write to the file.
-
-
-
-
- Multi-process and multi-host file appender which attempts
- to get exclusive write access and retries if it's not available.
-
-
-
-
- Initializes a new instance of the class.
-
- Name of the file.
- The parameters.
-
-
-
- Writes the specified bytes.
-
- The bytes array.
- The bytes array offset.
- The number of bytes.
-
-
-
- Flushes this instance.
-
-
-
-
- Closes this instance.
-
-
-
-
- Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal
- Time [UTC] standard.
-
- The file creation time.
-
-
-
- Gets the length in bytes of the file associated with the appender.
-
- A long value representing the length of the file in bytes.
-
-
-
- Factory class.
-
-
-
-
- Opens the appender for given file name and parameters.
-
- Name of the file.
- Creation parameters.
-
- Instance of which can be used to write to the file.
-
-
-
-
- Optimized single-process file appender which keeps the file open for exclusive write.
-
-
-
-
- Initializes a new instance of the class.
-
- Name of the file.
- The parameters.
-
-
-
- Writes the specified bytes.
-
- The bytes array.
- The bytes array offset.
- The number of bytes.
-
-
-
- Flushes this instance.
-
-
-
-
- Closes this instance.
-
-
-
-
- Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal
- Time [UTC] standard.
-
- The file creation time.
-
-
-
- Gets the length in bytes of the file associated with the appender.
-
- A long value representing the length of the file in bytes.
-
-
-
- Factory class.
-
-
-
-
- Opens the appender for given file name and parameters.
-
- Name of the file.
- Creation parameters.
-
- Instance of which can be used to write to the file.
-
-
-
-
- Provides a multiprocess-safe atomic file append while
- keeping the files open.
-
-
-
-
- Initializes a new instance of the class.
-
- Name of the file.
- The parameters.
-
-
-
- Creates or opens a file in a special mode, so that writes are automatically
- as atomic writes at the file end.
- See also "UnixMultiProcessFileAppender" which does a similar job on *nix platforms.
-
- File to create or open
-
-
-
- Writes the specified bytes.
-
- The bytes array.
- The bytes array offset.
- The number of bytes.
-
-
-
- Closes this instance.
-
-
-
-
- Flushes this instance.
-
-
-
-
- Gets the length in bytes of the file associated with the appender.
-
- A long value representing the length of the file in bytes.
-
-
-
- Factory class.
-
-
-
-
- Opens the appender for given file name and parameters.
-
- Name of the file.
- Creation parameters.
-
- Instance of which can be used to write to the file.
-
-
-
-
- An immutable object that stores basic file info.
-
-
-
-
- Constructs a FileCharacteristics object.
-
- The time the file was created in UTC.
- The time the file was last written to in UTC.
- The size of the file in bytes.
-
-
-
- The time the file was created in UTC.
-
-
-
-
- The time the file was last written to in UTC.
-
-
-
-
- The size of the file in bytes.
-
-
-
-
- Optimized routines to get the basic file characteristics of the specified file.
-
-
-
-
- Initializes static members of the FileCharacteristicsHelper class.
-
-
-
-
- Gets the information about a file.
-
- Name of the file.
- The file stream.
- The file characteristics, if the file information was retrieved successfully, otherwise null.
-
-
-
- A layout that represents a filePath.
-
-
-
-
- Cached directory separator char array to avoid memory allocation on each method call.
-
-
-
-
- Cached invalid filenames char array to avoid memory allocation everytime Path.GetInvalidFileNameChars() is called.
-
-
-
-
- not null when == false
-
-
-
-
- non null is fixed,
-
-
-
-
- is the cache-key, and when newly rendered filename matches the cache-key,
- then it reuses the cleaned cache-value .
-
-
-
-
- is the cache-value that is reused, when the newly rendered filename
- matches the cache-key
-
-
-
- Initializes a new instance of the class.
-
-
-
- Render the raw filename from Layout
-
- The log event.
- StringBuilder to minimize allocations [optional].
- String representation of a layout.
-
-
-
- Convert the raw filename to a correct filename
-
- The filename generated by Layout.
- String representation of a correct filename.
-
-
-
- Is this (templated/invalid) path an absolute, relative or unknown?
-
-
-
-
- Is this (templated/invalid) path an absolute, relative or unknown?
-
-
-
-
- Convert object to string
-
- value
- format for conversion.
-
-
- If is null and isn't a already, then the will get a locked by
-
+
@@ -8943,6 +8315,11 @@
Format a log message
+
+
+ Perform message template parsing and formatting of LogEvent messages (True = Always, False = Never, Null = Auto Detect)
+
+
Format the message and return
@@ -8966,8 +8343,11 @@
- Get the Raw, unformatted and unstrinyfied, value
+ Get the Raw, unformatted value without stringify
+
+ Implementors must has the [ThreadAgnostic] attribute
+
@@ -8984,59 +8364,18 @@
- Renders the the value of layout or layout renderer in the context of the specified log event.
+ Renders the value of layout or layout renderer in the context of the specified log event.
The log event.
String representation of a layout.
-
-
- Supports mocking of SMTP Client code.
-
-
-
-
- Specifies how outgoing email messages will be handled.
-
-
-
-
- Gets or sets the name or IP address of the host used for SMTP transactions.
-
-
-
-
- Gets or sets the port used for SMTP transactions.
-
-
-
-
- Gets or sets a value that specifies the amount of time after which a synchronous Send call times out.
-
-
-
-
- Gets or sets the credentials used to authenticate the sender.
-
-
-
-
- Sends an e-mail message to an SMTP server for delivery. These methods block while the message is being transmitted.
-
-
- System.Net.Mail.MailMessage
- MailMessage
- A MailMessage that contains the message to send.
-
-
-
- Gets or sets the folder where applications save mail messages to be processed by the local SMTP server.
-
-
Supports rendering as string value with limited or no allocations (preferred)
+
+ Implementors must not have the [AppDomainFixedOutput] attribute
+
@@ -9061,90 +8400,130 @@
Closes this instance.
-
+
- Allows components to request stack trace information to be provided in the .
+ Helpers for .
-
+
- Gets the level of stack trace information required by the implementing class.
+ Gets all usable exported types from the given assembly.
+
+ Assembly to scan.
+ Usable types from the given assembly.
+ Types which cannot be loaded are skipped.
+
+
+
+ Forward declare of system delegate type for use by other classes
-
+
- Render the event info as parse as short
+ Keeps track of pending operation count, and can notify when pending operation count reaches zero
- current layout
-
- default value when the render
- layout name for log message to internal log when logging fails
+
+
+
+ Mark operation has started
+
+
+
+
+ Mark operation has completed
+
+ Exception coming from the completed operation [optional]
+
+
+
+ Registers an AsyncContinuation to be called when all pending operations have completed
+
+ Invoked on completion
+ AsyncContinuation operation
+
+
+
+ Clear o
+
+
+
+
+ Sets the stack trace for the event info.
+
+ The stack trace.
+ Index of the first user stack frame within the stack trace.
+ Type of the logger or logger wrapper. This is still Logger if it's a subclass of Logger.
+
+
+
+ Sets the details retrieved from the Caller Information Attributes
+
+
+
+
+
+
+
+
+ Gets the stack frame of the method that did the logging.
+
+
+
+
+ Gets the number index of the stack frame that represents the user
+ code (not the NLog code).
+
+
+
+
+ Legacy attempt to skip async MoveNext, but caused source file line number to be lost
+
+
+
+
+ Gets the entire stack trace.
+
+
+
+
+ Finds first user stack frame in a stack trace
+
+ The stack trace of the logging method invocation
+ Type of the logger or logger wrapper. This is still Logger if it's a subclass of Logger.
+ Index of the first user stack frame or 0 if all stack frames are non-user
+
+
+
+ This is only done for legacy reason, as the correct method-name and line-number should be extracted from the MoveNext-StackFrame
+
+ The stack trace of the logging method invocation
+ Starting point for skipping async MoveNext-frames
+
+
+
+ Assembly to skip?
+
+ Find assembly via this frame.
+ true, we should skip.
+
+
+
+ Is this the type of the logger?
+
+ get type of this logger in this frame.
+ Type of the logger.
-
+
- Render the event info as parse as int
+ Memory optimized filtering
- current layout
-
- default value when the render
- layout name for log message to internal log when logging fails
-
+ Passing state too avoid delegate capture and memory-allocations.
-
+
- Render the event info as parse as bool
+ Ensures that IDictionary.GetEnumerator returns DictionaryEntry values
- current layout
-
- default value when the render
- layout name for log message to internal log when logging fails
-
-
-
-
- Logger configuration.
-
-
-
-
- Initializes a new instance of the class.
-
- The targets by level.
- Use the old exception log handling of NLog 3.0?
-
-
-
- Use the old exception log handling of NLog 3.0?
-
- This method was marked as obsolete before NLog 4.3.11 and it will be removed in NLog 5.
-
-
-
- Gets targets for the specified level.
-
- The level.
- Chain of targets with attached filters.
-
-
-
- When true: Do not fallback to StringBuilder.Format for positional templates
-
-
-
-
- New formatter
-
- When true: Do not fallback to StringBuilder.Format for positional templates
-
-
-
-
- The MessageFormatter delegate
-
-
-
-
@@ -9173,538 +8552,6 @@
Output value of the item found in the cache.
True when the key is found in the cache, false otherwise.
-
-
- Watches multiple files at the same time and raises an event whenever
- a single change is detected in any of those files.
-
-
-
-
- The types of changes to watch for.
-
-
-
-
- Occurs when a change is detected in one of the monitored files.
-
-
-
-
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-
-
-
-
- Stops watching all files.
-
-
-
-
- Stops watching the specified file.
-
-
-
-
-
- Watches the specified files for changes.
-
- The file names.
-
-
-
- Supports mocking of SMTP Client code.
-
-
- Disabled Error CS0618 'SmtpClient' is obsolete: 'SmtpClient and its network of types are poorly designed,
- we strongly recommend you use https://github.com/jstedfast/MailKit and https://github.com/jstedfast/MimeKit instead'
-
-
-
-
- Network sender which uses HTTP or HTTPS POST.
-
-
-
-
- Initializes a new instance of the class.
-
- The network URL.
-
-
-
- Creates instances of objects for given URLs.
-
-
-
-
- Creates a new instance of the network sender based on a network URL.
-
- URL that determines the network sender to be created.
- The maximum queue size.
- SSL protcols for TCP
- KeepAliveTime for TCP
-
- A newly created network sender.
-
-
-
-
- Interface for mocking socket calls.
-
-
-
-
- A base class for all network senders. Supports one-way sending of messages
- over various protocols.
-
-
-
-
- Initializes a new instance of the class.
-
- The network URL.
-
-
-
- Gets the address of the network endpoint.
-
-
-
-
- Gets the last send time.
-
-
-
-
- Initializes this network sender.
-
-
-
-
- Closes the sender and releases any unmanaged resources.
-
- The continuation.
-
-
-
- Flushes any pending messages and invokes a continuation.
-
- The continuation.
-
-
-
- Send the given text over the specified protocol.
-
- Bytes to be sent.
- Offset in buffer.
- Number of bytes to send.
- The asynchronous continuation.
-
-
-
- Closes the sender and releases any unmanaged resources.
-
-
-
-
- Performs sender-specific initialization.
-
-
-
-
- Performs sender-specific close operation.
-
- The continuation.
-
-
-
- Performs sender-specific flush.
-
- The continuation.
-
-
-
- Actually sends the given text over the specified protocol.
-
- The bytes to be sent.
- Offset in buffer.
- Number of bytes to send.
- The async continuation to be invoked after the buffer has been sent.
- To be overridden in inheriting classes.
-
-
-
- Parses the URI into an endpoint address.
-
- The URI to parse.
- The address family.
- Parsed endpoint.
-
-
-
- Default implementation of .
-
-
-
-
-
-
-
- A base class for network senders that can block or send out-of-order
-
-
-
-
- Initializes a new instance of the class.
-
- URL. Must start with tcp://.
-
-
-
- Actually sends the given text over the specified protocol.
-
- The bytes to be sent.
- Offset in buffer.
- Number of bytes to send.
- The async continuation to be invoked after the buffer has been sent.
- To be overridden in inheriting classes.
-
-
-
- Performs sender-specific flush.
-
- The continuation.
-
-
-
- Socket proxy for mocking Socket code.
-
-
-
-
- Initializes a new instance of the class.
-
- The address family.
- Type of the socket.
- Type of the protocol.
-
-
-
- Gets underlying socket instance.
-
-
-
-
- Closes the wrapped socket.
-
-
-
-
- Invokes ConnectAsync method on the wrapped socket.
-
- The instance containing the event data.
- Result of original method.
-
-
-
- Invokes SendAsync method on the wrapped socket.
-
- The instance containing the event data.
- Result of original method.
-
-
-
- Invokes SendToAsync method on the wrapped socket.
-
- The instance containing the event data.
- Result of original method.
-
-
-
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-
-
-
-
- Sends messages over a TCP network connection.
-
-
-
-
- Initializes a new instance of the class.
-
- URL. Must start with tcp://.
- The address family.
-
-
-
- Creates the socket with given parameters.
-
- The host address.
- The address family.
- Type of the socket.
- Type of the protocol.
- Instance of which represents the socket.
-
-
-
- Performs sender-specific initialization.
-
-
-
-
- Closes the socket.
-
- The continuation.
-
-
-
- Facilitates mocking of class.
-
-
-
-
- Raises the Completed event.
-
-
-
-
- Sends messages over the network as UDP datagrams.
-
-
-
-
- Initializes a new instance of the class.
-
- URL. Must start with udp://.
- The address family.
-
-
-
- Creates the socket.
-
- The address family.
- Type of the socket.
- Type of the protocol.
- Implementation of to use.
-
-
-
- Performs sender-specific initialization.
-
-
-
-
- Closes the socket.
-
- The continuation.
-
-
-
- Sends the specified text as a UDP datagram.
-
- The bytes to be sent.
- Offset in buffer.
- Number of bytes to send.
- The async continuation to be invoked after the buffer has been sent.
- To be overridden in inheriting classes.
-
-
-
- Scans (breadth-first) the object graph following all the edges whose are
- instances have attached and returns
- all objects implementing a specified interfaces.
-
-
-
-
- Finds the objects which have attached which are reachable
- from any of the given root objects when traversing the object graph over public properties.
-
- Type of the objects to return.
- Also search the properties of the wanted objects.
- The root objects.
- Ordered list of objects implementing T.
-
-
- ISet is not there in .net35, so using HashSet
-
-
-
- Helper for extracting propertyPath
-
-
-
-
- Object Path to check
-
-
-
-
- Try get value from , using , and set into
-
-
-
-
-
-
-
- Converts object into a List of property-names and -values using reflection
-
-
-
-
- Scans properties for name (Skips string-compare and value-lookup until finding match)
-
-
-
-
- Scans properties for name (Skips property value lookup until finding match)
-
-
-
-
- Scans properties for name
-
-
-
-
- Binder for retrieving value of
-
-
-
-
-
-
-
- Combine paths
-
- basepath, not null
- optional dir
- optional file
-
-
-
-
- Cached directory separator char array to avoid memory allocation on each method call.
-
-
-
-
- Trims directory separators from the path
-
- path, could be null
- never null
-
-
-
- Detects the platform the NLog is running on.
-
-
-
-
- Gets the current runtime OS.
-
-
-
-
- Gets a value indicating whether current OS is Win32-based (desktop or mobile).
-
-
-
-
- Gets a value indicating whether current OS is Unix-based.
-
-
-
-
- Gets a value indicating whether current runtime is Mono-based
-
-
-
-
- Gets a value indicating whether current runtime supports use of mutex
-
-
-
-
- Will creating a mutex succeed runtime?
- "Cached" detection
-
-
-
-
- Will creating a mutex succeed runtime?
-
-
-
-
- Portable implementation of .
-
-
-
-
- Gets the information about a file.
-
- Name of the file.
- The file stream.
- The file characteristics, if the file information was retrieved successfully, otherwise null.
-
-
-
- Portable implementation of .
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets current process ID.
-
-
-
-
-
- Gets current process name.
-
-
-
-
-
- Returns details about current process and thread in a portable manner.
-
-
-
-
- Gets the singleton instance of PortableThreadIDHelper or
- Win32ThreadIDHelper depending on runtime environment.
-
- The instance.
-
-
-
- Gets current process ID.
-
-
-
-
- Gets current process absolute file path.
-
-
-
-
- Gets current process name (excluding filename extension, if any).
-
-
-
-
- Initializes the ThreadIDHelper class.
-
-
Dictionary that combines the standard with the
@@ -9721,16 +8568,9 @@
- Is this a property of the message?
+ Has property been captured from message-template ?
-
-
-
-
- Value of the property
- Is this a property of the message?
-
The properties of the logEvent
@@ -9738,14 +8578,20 @@
- The properties extracted from the message
+ The properties extracted from the message-template
- Injects the list of message-template-parameter into the IDictionary-interface
+ Wraps the list of message-template-parameters as IDictionary-interface
- Message-template-parameters
+ Message-template-parameters
+
+
+
+ Transforms the list of event-properties into IDictionary-interface
+
+ Message-template-parameters
@@ -9807,16 +8653,7 @@
Attempt to insert the message-template-parameters into an empty dictionary
Message-template-parameters
- The initially empty dictionary
- Message-template-parameters was inserted into dictionary without trouble (true/false)
-
-
-
- Attempt to override the existing dictionary values using the message-template-parameters
-
- Message-template-parameters
- The already filled dictionary
- List of unique message-template-parameters
+ The dictionary that initially contains no message-template-parameters
@@ -9860,217 +8697,16 @@
-
+
- Reflection helpers for accessing properties.
+ Special property-key for lookup without being case-sensitive
-
+
- Set value parsed from string.
+ Property-Key equality-comparer that uses string-hashcode from OrdinalIgnoreCase
+ Enables case-insensitive lookup using
- object instance to set with property
- name of the property on
- The value to be parsed.
-
-
-
-
- Is the property of array-type?
-
- Type which has the property
- name of the property.
-
-
-
-
- Get propertyinfo
-
- object which could have property
- propertyname on
- result when success.
- success.
-
-
-
- Try parse of string to (Generic) list, comma separated.
-
-
- If there is a comma in the value, then (single) quote the value. For single quotes, use the backslash as escape
-
-
-
-
-
-
-
-
- Reflection helpers.
-
-
-
-
- Gets all usable exported types from the given assembly.
-
- Assembly to scan.
- Usable types from the given assembly.
- Types which cannot be loaded are skipped.
-
-
-
- Is this a static class?
-
-
-
- This is a work around, as Type doesn't have this property.
- From: https://stackoverflow.com/questions/1175888/determine-if-a-type-is-static
-
-
-
-
- Optimized delegate for calling MethodInfo
-
- Object instance, use null for static methods.
- Complete list of parameters that matches the method, including optional/default parameters.
-
-
-
-
- Creates an optimized delegate for calling the MethodInfo using Expression-Trees
-
- Method to optimize
- Optimized delegate for invoking the MethodInfo
-
-
-
- Controls a single allocated AsyncLogEventInfo-List for reuse (only one active user)
-
-
-
-
- Controls a single allocated char[]-buffer for reuse (only one active user)
-
-
-
-
- Controls a single allocated StringBuilder for reuse (only one active user)
-
-
-
-
- Controls a single allocated object for reuse (only one active user)
-
-
-
- Empty handle when is disabled
-
-
-
- Creates handle to the reusable char[]-buffer for active usage
-
- Handle to the reusable item, that can release it again
-
-
-
- Access the acquired reusable object
-
-
-
-
- Controls a single allocated MemoryStream for reuse (only one active user)
-
-
-
-
- Supported operating systems.
-
-
- If you add anything here, make sure to add the appropriate detection
- code to
-
-
-
-
- Unknown operating system.
-
-
-
-
- Unix/Linux operating systems.
-
-
-
-
- Desktop versions of Windows (95,98,ME).
-
-
-
-
- Windows NT, 2000, 2003 and future versions based on NT technology.
-
-
-
-
- Macintosh Mac OSX
-
-
-
-
- Simple character tokenizer.
-
-
-
-
- Initializes a new instance of the class.
-
- The text to be tokenized.
-
-
-
- Current position in
-
-
-
-
- Full text to be parsed
-
-
-
-
- Check current char while not changing the position.
-
-
-
-
-
- Read the current char and change position
-
-
-
-
-
- Get the substring of the
-
-
-
-
-
-
-
- Implements a single-call guard around given continuation function.
-
-
-
-
- Initializes a new instance of the class.
-
- The asynchronous continuation.
-
-
-
- Continuation function which implements the single-call guard.
-
- The exception.
@@ -10243,6 +8879,1496 @@
Will always throw, as dictionary is readonly
+
+
+ Internal configuration manager used to read .NET configuration files.
+ Just a wrapper around the BCL ConfigurationManager, but used to enable
+ unit testing.
+
+
+
+
+ UTF-8 BOM 239, 187, 191
+
+
+
+
+ Safe way to get environment variables.
+
+
+
+
+ Helper class for dealing with exceptions.
+
+
+
+
+ Mark this exception as logged to the .
+
+
+
+
+
+
+ Is this exception logged to the ?
+
+
+ trueif the has been logged to the .
+
+
+
+ Determines whether the exception must be rethrown and logs the error to the if is false.
+
+ Advised to log first the error to the before calling this method.
+
+ The exception to check.
+ Target Object context of the exception.
+ Target Method context of the exception.
+ trueif the must be rethrown, false otherwise.
+
+
+
+ Determines whether the exception must be rethrown immediately, without logging the error to the .
+
+ Only used this method in special cases.
+
+ The exception to check.
+ trueif the must be rethrown, false otherwise.
+
+
+
+ FormatProvider that renders an exception-object as $"{ex.GetType()}: {ex.Message}"
+
+
+
+
+ Object construction helper.
+
+
+
+
+ Base class for optimized file appenders.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the file.
+ The create parameters.
+
+
+
+ Gets the path of the file, including file extension.
+
+ The name of the file.
+
+
+
+ Gets or sets the creation time for a file associated with the appender. The time returned is in Coordinated
+ Universal Time [UTC] standard.
+
+ The creation time of the file.
+
+
+
+ Gets or sets the creation time for a file associated with the appender. Synchronized by
+ The time format is based on
+
+
+
+
+ Gets the last time the file associated with the appender is opened. The time returned is in Coordinated
+ Universal Time [UTC] standard.
+
+ The time the file was last opened.
+
+
+
+ Gets the file creation parameters.
+
+ The file creation parameters.
+
+
+
+ Writes the specified bytes.
+
+ The bytes.
+
+
+
+ Writes the specified bytes to a file.
+
+ The bytes array.
+ The bytes array offset.
+ The number of bytes.
+
+
+
+ Flushes this file-appender instance.
+
+
+
+
+ Closes this file-appender instance.
+
+
+
+
+ Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal
+ Time [UTC] standard.
+
+ The file creation time.
+
+
+
+ Gets the length in bytes of the file associated with the appender.
+
+ A long value representing the length of the file in bytes.
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+
+
+ Releases unmanaged and - optionally - managed resources.
+
+ True to release both managed and unmanaged resources; false to release only unmanaged resources.
+
+
+
+ Creates the file stream.
+
+ If set to true sets the file stream to allow shared writing.
+ If larger than 0 then it will be used instead of the default BufferSize for the FileStream.
+ A object which can be used to write to the file.
+
+
+
+ Base class for optimized file appenders which require the usage of a mutex.
+
+ It is possible to use this class as replacement of BaseFileAppender and the mutex functionality
+ is not enforced to the implementing subclasses.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the file.
+ The create parameters.
+
+
+
+ Gets the mutually-exclusive lock for archiving files.
+
+ The mutex for archiving.
+
+
+
+
+
+
+ Creates a mutex that is sharable by more than one process.
+
+ The prefix to use for the name of the mutex.
+ A object which is sharable by multiple processes.
+
+
+
+ Implementation of which caches
+ file information.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the file.
+ The parameters.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Factory class which creates objects.
+
+
+
+
+
+
+
+ Maintains a collection of file appenders usually associated with file targets.
+
+
+
+
+ An "empty" instance of the class with zero size and empty list of appenders.
+
+
+
+
+ Initializes a new "empty" instance of the class with zero size and empty
+ list of appenders.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ The size of the list should be positive. No validations are performed during initialization as it is an
+ internal class.
+
+ Total number of appenders allowed in list.
+ Factory used to create each appender.
+ Parameters used for creating a file.
+
+
+
+ The archive file path pattern that is used to detect when archiving occurs.
+
+
+
+
+ Invalidates appenders for all files that were archived.
+
+
+
+
+ Gets the parameters which will be used for creating a file.
+
+
+
+
+ Gets the file appender factory used by all the appenders in this list.
+
+
+
+
+ Gets the number of appenders which the list can hold.
+
+
+
+
+ Subscribe to background monitoring of active file appenders
+
+
+
+
+ It allocates the first slot in the list when the file name does not already in the list and clean up any
+ unused slots.
+
+ File name associated with a single appender.
+ The allocated appender.
+
+
+
+ Close all the allocated appenders.
+
+
+
+
+ Close the allocated appenders initialized before the supplied time.
+
+ The time which prior the appenders considered expired
+
+
+
+ Flush all the allocated appenders.
+
+
+
+
+ File Archive Logic uses the File-Creation-TimeStamp to detect if time to archive, and the File-LastWrite-Timestamp to name the archive-file.
+
+
+ NLog always closes all relevant appenders during archive operation, so no need to lookup file-appender
+
+
+
+
+ Closes the specified appender and removes it from the list.
+
+ File name of the appender to be closed.
+ File Appender that matched the filePath (null if none found)
+
+
+
+ Interface that provides parameters for create file function.
+
+
+
+
+ Gets or sets the delay in milliseconds to wait before attempting to write to the file again.
+
+
+
+
+ Gets or sets the number of times the write is appended on the file before NLog
+ discards the log message.
+
+
+
+
+ Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on the same host.
+
+
+ This makes multi-process logging possible. NLog uses a special technique
+ that lets it keep the files open for writing.
+
+
+
+
+ Gets or sets a value indicating whether to create directories if they do not exist.
+
+
+ Setting this to false may improve performance a bit, but you'll receive an error
+ when attempting to write to a directory that's not present.
+
+
+
+
+ Gets or sets a value indicating whether to enable log file(s) to be deleted.
+
+
+
+
+ Gets or sets the log file buffer size in bytes.
+
+
+
+
+ Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation.
+
+
+
+
+ Gets or sets the file attributes (Windows only).
+
+
+
+
+ Should archive mutex be created?
+
+
+
+
+ Should manual simple detection of file deletion be enabled?
+
+
+
+
+ Gets the parameters which will be used for creating a file.
+
+
+
+
+ Gets the file appender factory used by all the appenders in this list.
+
+
+
+
+ Gets the number of appenders which the list can hold.
+
+
+
+
+ Subscribe to background monitoring of active file appenders
+
+
+
+
+ It allocates the first slot in the list when the file name does not already in the list and clean up any
+ unused slots.
+
+ File name associated with a single appender.
+ The allocated appender.
+
+
+
+ Close all the allocated appenders.
+
+
+
+
+ Close the allocated appenders initialized before the supplied time.
+
+ The time which prior the appenders considered expired
+
+
+
+ Flush all the allocated appenders.
+
+
+
+
+ File Archive Logic uses the File-Creation-TimeStamp to detect if time to archive, and the File-LastWrite-Timestamp to name the archive-file.
+
+
+ NLog always closes all relevant appenders during archive operation, so no need to lookup file-appender
+
+
+
+
+ Closes the specified appender and removes it from the list.
+
+ File name of the appender to be closed.
+ File Appender that matched the filePath (null if none found)
+
+
+
+ The archive file path pattern that is used to detect when archiving occurs.
+
+
+
+
+ Invalidates appenders for all files that were archived.
+
+
+
+
+ Interface implemented by all factories capable of creating file appenders.
+
+
+
+
+ Opens the appender for given file name and parameters.
+
+ Name of the file.
+ Creation parameters.
+ Instance of which can be used to write to the file.
+
+
+
+ Provides a multi process-safe atomic file appends while
+ keeping the files open.
+
+
+ On Unix you can get all the appends to be atomic, even when multiple
+ processes are trying to write to the same file, because setting the file
+ pointer to the end of the file and appending can be made one operation.
+ On Win32 we need to maintain some synchronization between processes
+ (global named mutex is used for this)
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the file.
+ The parameters.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Factory class.
+
+
+
+
+
+
+
+ Appender used to discard data for the FileTarget.
+ Used mostly for testing entire stack except the actual writing to disk.
+ Throws away all data.
+
+
+
+
+ Factory class.
+
+
+
+
+
+
+
+ Multi-process and multi-host file appender which attempts
+ to get exclusive write access and retries if it's not available.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the file.
+ The parameters.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Factory class.
+
+
+
+
+
+
+
+ Optimized single-process file appender which keeps the file open for exclusive write.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the file.
+ The parameters.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Factory class.
+
+
+
+
+
+
+
+ Provides a multi process-safe atomic file append while
+ keeping the files open.
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name of the file.
+ The parameters.
+
+
+
+ Creates or opens a file in a special mode, so that writes are automatically
+ as atomic writes at the file end.
+ See also "UnixMultiProcessFileAppender" which does a similar job on *nix platforms.
+
+ File to create or open
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Factory class.
+
+
+
+
+
+
+
+ A layout that represents a filePath.
+
+
+
+
+ Cached directory separator char array to avoid memory allocation on each method call.
+
+
+
+
+ Cached invalid file names char array to avoid memory allocation every time Path.GetInvalidFileNameChars() is called.
+
+
+
+
+ not null when == false
+
+
+
+
+ non null is fixed,
+
+
+
+
+ is the cache-key, and when newly rendered filename matches the cache-key,
+ then it reuses the cleaned cache-value .
+
+
+
+
+ is the cache-value that is reused, when the newly rendered filename
+ matches the cache-key
+
+
+
+ Initializes a new instance of the class.
+
+
+
+ Render the raw filename from Layout
+
+ The log event.
+ StringBuilder to minimize allocations [optional].
+ String representation of a layout.
+
+
+
+ Convert the raw filename to a correct filename
+
+ The filename generated by Layout.
+ String representation of a correct filename.
+
+
+
+ Is this (templated/invalid) path an absolute, relative or unknown?
+
+
+
+
+ Is this (templated/invalid) path an absolute, relative or unknown?
+
+
+
+
+ Watches multiple files at the same time and raises an event whenever
+ a single change is detected in any of those files.
+
+
+
+
+ The types of changes to watch for.
+
+
+
+
+ Occurs when a change is detected in one of the monitored files.
+
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+
+
+ Stops watching all files.
+
+
+
+
+ Stops watching the specified file.
+
+
+
+
+
+ Watches the specified files for changes.
+
+ The file names.
+
+
+
+ Combine paths
+
+ basepath, not null
+ optional dir
+ optional file
+
+
+
+
+ Cached directory separator char array to avoid memory allocation on each method call.
+
+
+
+
+ Trims directory separators from the path
+
+ path, could be null
+ never null
+
+
+
+ Convert object to string
+
+ value
+ format for conversion.
+
+
+ If is null and isn't a already, then the will get a locked by
+
+
+
+
+ Retrieve network interfaces
+
+
+
+
+ Retrieve network interfaces
+
+
+
+
+ Supports mocking of SMTP Client code.
+
+
+
+
+ Specifies how outgoing email messages will be handled.
+
+
+
+
+ Gets or sets the name or IP address of the host used for SMTP transactions.
+
+
+
+
+ Gets or sets the port used for SMTP transactions.
+
+
+
+
+ Gets or sets a value that specifies the amount of time after which a synchronous Send call times out.
+
+
+
+
+ Gets or sets the credentials used to authenticate the sender.
+
+
+
+
+ Sends an e-mail message to an SMTP server for delivery. These methods block while the message is being transmitted.
+
+
+ System.Net.Mail.MailMessage
+ MailMessage
+ A MailMessage that contains the message to send.
+
+
+
+ Gets or sets the folder where applications save mail messages to be processed by the local SMTP server.
+
+
+
+
+ The MessageFormatter delegate
+
+
+
+
+ When true: Do not fallback to StringBuilder.Format for positional templates
+
+
+
+
+ New formatter
+
+
+ When true: Do not fallback to StringBuilder.Format for positional templates
+
+
+
+
+ The MessageFormatter delegate
+
+
+
+
+
+
+
+ Render a template to a string.
+
+ The template.
+ Culture.
+ Parameters for the holes.
+ The String Builder destination.
+ Parameters for the holes.
+
+
+
+ Detects the platform the NLog is running on.
+
+
+
+
+ Gets a value indicating whether current runtime supports use of mutex
+
+
+
+
+ Will creating a mutex succeed runtime?
+
+
+
+
+ Supports mocking of SMTP Client code.
+
+
+ Disabled Error CS0618 'SmtpClient' is obsolete: 'SmtpClient and its network of types are poorly designed,
+ we strongly recommend you use https://github.com/jstedfast/MailKit and https://github.com/jstedfast/MimeKit instead'
+
+
+
+
+ Retrieve network interfaces
+
+
+
+
+ Retrieve network interfaces
+
+
+
+
+ Network sender which uses HTTP or HTTPS POST.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The network URL.
+
+
+
+ Creates instances of objects for given URLs.
+
+
+
+
+ Creates a new instance of the network sender based on a network URL.
+
+ URL that determines the network sender to be created.
+ The maximum queue size.
+ The overflow action when reaching maximum queue size.
+ The maximum message size.
+ SSL protocols for TCP
+ KeepAliveTime for TCP
+
+ A newly created network sender.
+
+
+
+
+ Interface for mocking socket calls.
+
+
+
+
+ A base class for all network senders. Supports one-way sending of messages
+ over various protocols.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The network URL.
+
+
+
+ Gets the address of the network endpoint.
+
+
+
+
+ Gets the last send time.
+
+
+
+
+ Initializes this network sender.
+
+
+
+
+ Closes the sender and releases any unmanaged resources.
+
+ The continuation.
+
+
+
+ Flushes any pending messages and invokes the on completion.
+
+ The continuation.
+
+
+
+ Send the given text over the specified protocol.
+
+ Bytes to be sent.
+ Offset in buffer.
+ Number of bytes to send.
+ The asynchronous continuation.
+
+
+
+ Closes the sender and releases any unmanaged resources.
+
+
+
+
+ Initializes resources for the protocol specific implementation.
+
+
+
+
+ Closes resources for the protocol specific implementation.
+
+ The continuation.
+
+
+
+ Performs the flush and invokes the on completion.
+
+ The continuation.
+
+
+
+ Sends the payload using the protocol specific implementation.
+
+ The bytes to be sent.
+ Offset in buffer.
+ Number of bytes to send.
+ The async continuation to be invoked after the buffer has been sent.
+
+
+
+ Parses the URI into an IP address.
+
+ The URI to parse.
+ The address family.
+ Parsed endpoint.
+
+
+
+ Default implementation of .
+
+
+
+
+
+
+
+ A base class for network senders that can block or send out-of-order
+
+
+
+
+ Initializes a new instance of the class.
+
+ URL. Must start with tcp://.
+
+
+
+ Socket proxy for mocking Socket code.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The address family.
+ Type of the socket.
+ Type of the protocol.
+
+
+
+ Gets underlying socket instance.
+
+
+
+
+ Closes the wrapped socket.
+
+
+
+
+ Invokes ConnectAsync method on the wrapped socket.
+
+ The instance containing the event data.
+ Result of original method.
+
+
+
+ Invokes SendAsync method on the wrapped socket.
+
+ The instance containing the event data.
+ Result of original method.
+
+
+
+ Invokes SendToAsync method on the wrapped socket.
+
+ The instance containing the event data.
+ Result of original method.
+
+
+
+ Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
+
+
+
+
+ Sends messages over a TCP network connection.
+
+
+
+
+ Initializes a new instance of the class.
+
+ URL. Must start with tcp://.
+ The address family.
+
+
+
+ Creates the socket with given parameters.
+
+ The host address.
+ The address family.
+ Type of the socket.
+ Type of the protocol.
+ Instance of which represents the socket.
+
+
+
+ Facilitates mocking of class.
+
+
+
+
+ Raises the Completed event.
+
+
+
+
+ Sends messages over the network as UDP datagrams.
+
+
+
+
+ Initializes a new instance of the class.
+
+ URL. Must start with udp://.
+ The address family.
+
+
+
+ Creates the socket.
+
+ The IP address.
+ Implementation of to use.
+
+
+
+ Allocates new builder and appends to the provided target builder on dispose
+
+
+
+
+ Access the new builder allocated
+
+
+
+
+ Controls a single allocated AsyncLogEventInfo-List for reuse (only one active user)
+
+
+
+
+ Controls a single allocated char[]-buffer for reuse (only one active user)
+
+
+
+
+ Controls a single allocated StringBuilder for reuse (only one active user)
+
+
+
+
+ Controls a single allocated object for reuse (only one active user)
+
+
+
+
+ Creates handle to the reusable char[]-buffer for active usage
+
+ Handle to the reusable item, that can release it again
+
+
+
+ Access the acquired reusable object
+
+
+
+
+ Controls a single allocated MemoryStream for reuse (only one active user)
+
+
+
+
+ Constructor
+
+ Max number of items
+ Initial StringBuilder Size
+ Max StringBuilder Size
+
+
+
+ Takes StringBuilder from pool
+
+ Allow return to pool
+
+
+
+ Releases StringBuilder back to pool at its right place
+
+
+
+
+ Keeps track of acquired pool item
+
+
+
+
+ Releases pool item back into pool
+
+
+
+
+ Detects the platform the NLog is running on.
+
+
+
+
+ Gets the current runtime OS.
+
+
+
+
+ Gets a value indicating whether current OS is Win32-based (desktop or mobile).
+
+
+
+
+ Gets a value indicating whether current OS is Unix-based.
+
+
+
+
+ Gets a value indicating whether current runtime is Mono-based
+
+
+
+
+ Scans (breadth-first) the object graph following all the edges whose are
+ instances have attached and returns
+ all objects implementing a specified interfaces.
+
+
+
+
+ Finds the objects which have attached which are reachable
+ from any of the given root objects when traversing the object graph over public properties.
+
+ Type of the objects to return.
+ Configuration Reflection Helper
+ Also search the properties of the wanted objects.
+ The root objects.
+ Ordered list of objects implementing T.
+
+
+
+ Object Path to check
+
+
+
+
+ Converts object into a List of property-names and -values using reflection
+
+
+
+
+ Try get value from , using , and set into
+
+
+
+
+ Scans properties for name (Skips string-compare and value-lookup until finding match)
+
+
+
+
+ Scans properties for name (Skips property value lookup until finding match)
+
+
+
+
+ Scans properties for name
+
+
+
+
+ Binder for retrieving value of
+
+
+
+
+
+
+
+ Reflection helpers for accessing properties.
+
+
+
+
+ Get property info
+
+ Configuration Reflection Helper
+ object which could have property
+ property name on
+ result when success.
+ success.
+
+
+
+ Try parse of string to (Generic) list, comma separated.
+
+
+ If there is a comma in the value, then (single) quote the value. For single quotes, use the backslash as escape
+
+
+
+
+ Attempt to reuse the HashSet.Comparer from the original HashSet-object (Ex. StringComparer.OrdinalIgnoreCase)
+
+
+
+
+ Reflection helpers.
+
+
+
+
+ Is this a static class?
+
+
+
+ This is a work around, as Type doesn't have this property.
+ From: https://stackoverflow.com/questions/1175888/determine-if-a-type-is-static
+
+
+
+
+ Optimized delegate for calling MethodInfo
+
+ Object instance, use null for static methods.
+ Complete list of parameters that matches the method, including optional/default parameters.
+
+
+
+ Optimized delegate for calling a constructor
+
+ Complete list of parameters that matches the constructor, including optional/default parameters. Could be null for no parameters.
+
+
+
+ Creates an optimized delegate for calling the MethodInfo using Expression-Trees
+
+ Method to optimize
+ Optimized delegate for invoking the MethodInfo
+
+
+
+ Creates an optimized delegate for calling the constructors using Expression-Trees
+
+ Constructor to optimize
+ Optimized delegate for invoking the constructor
+
+
+
+ Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used.
+
+
+
+
+ Gets or sets a value indicating whether to match whole words only.
+
+
+
+
+ Gets or sets a value indicating whether to ignore case when comparing texts.
+
+
+
+
+ Supported operating systems.
+
+
+ If you add anything here, make sure to add the appropriate detection
+ code to
+
+
+
+
+ Unknown operating system.
+
+
+
+
+ Unix/Linux operating systems.
+
+
+
+
+ Desktop versions of Windows (95,98,ME).
+
+
+
+
+ Windows NT, 2000, 2003 and future versions based on NT technology.
+
+
+
+
+ Macintosh Mac OSX
+
+
+
+
+ Immutable state that combines ScopeContext MDLC + NDLC for
+
+
+
+
+ Immutable state that combines ScopeContext MDLC + NDLC for
+
+
+
+
+ Immutable state for ScopeContext Mapped Context (MDLC)
+
+
+
+
+ Immutable state for ScopeContext Nested State (NDLC)
+
+
+
+
+ Immutable state for ScopeContext Single Property (MDLC)
+
+
+
+
+ Immutable state for ScopeContext Multiple Properties (MDLC)
+
+
+
+
+ Immutable state for ScopeContext handling legacy MDLC + NDLC operations
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Collection of targets that should be written to
+
+
+
+
+ Implements a single-call guard around given continuation function.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The asynchronous continuation.
+
+
+
+ Continuation function which implements the single-call guard.
+
+ The exception.
+
Utilities for dealing with values.
@@ -10257,7 +10383,7 @@
Gets the fully qualified name of the class invoking the calling method, including the
- namespace but not the assembly.
+ namespace but not the assembly.
StackFrame from the calling method
Fully qualified class name
@@ -10266,7 +10392,7 @@
Returns the assembly from the provided StackFrame (If not internal assembly)
- Valid asssembly, or null if assembly was internal
+ Valid assembly, or null if assembly was internal
@@ -10304,19 +10430,61 @@
stream to write to
first bytes to skip (optional)
+
+
+ Simple character tokenizer.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The text to be tokenized.
+
+
+
+ Current position in
+
+
+
+
+ Full text to be parsed
+
+
+
+
+ Check current char while not changing the position.
+
+
+
+
+
+ Read the current char and change position
+
+
+
+
+
+ Get the substring of the
+
+
+
+
+
Helpers for , which is used in e.g. layout renderers.
-
+
Renders the specified log event context item and appends it to the specified .
append to this
value to be appended
- formatstring. If @, then serialize the value with the Default JsonConverter.
+ format string. If @, then serialize the value with the Default JsonConverter.
provider, for example culture
+ NLog string.Format interface
@@ -10334,6 +10502,11 @@
value to append
+
+
+ Convert DateTime into UTC and format to yyyy-MM-ddTHH:mm:ss.fffffffZ - ISO 8601 Compliant Date Format (Round-Trip-Time)
+
+
Clears the provider StringBuilder
@@ -10403,38 +10576,9 @@
append to this
the number
-
+
- Append a int type (byte, int) as string
-
-
-
-
- Constructor
-
- Max number of items
- Initial StringBuilder Size
- Max StringBuilder Size
-
-
-
- Takes StringBuilder from pool
-
- Allow return to pool
-
-
-
- Releases StringBuilder back to pool at its right place
-
-
-
-
- Keeps track of acquired pool item
-
-
-
-
- Releases pool item back into pool
+ Append a numeric type (byte, int, double, decimal) as string
@@ -10449,28 +10593,29 @@
+
+
+ Replace string with
+
+
+
+
+
+ The same reference of nothing has been replaced.
+
+
+ Concatenates all the elements of a string array, using the specified separator between each element.
+ The string to use as a separator. is included in the returned string only if has more than one element.
+ An collection that contains the elements to concatenate.
+ A string that consists of the elements in delimited by the string. If is an empty array, the method returns .
+
+ is .
+
Split a string
-
-
- Split string with escape. The escape char is the same as the splitchar
-
-
- split char. escaped also with this char
-
-
-
-
- Split string with escape
-
-
-
-
-
-
Split a string, optional quoted value
@@ -10482,7 +10627,18 @@
Escape for the , not escape for the
, use quotes for that.
-
+
+
+
+ Split a string, optional quoted value
+
+ Text to split
+ Character to split the
+ Quote character
+
+ Escape for the , not escape for the
+ , use quotes for that.
+
@@ -10490,18 +10646,13 @@
whether logging should happen.
-
-
- cached result as calculating is expensive.
-
-
Initializes a new instance of the class.
The target.
The filter chain.
- Default action if none of the filters match.
+ Default action if none of the filters match.
@@ -10515,11 +10666,6 @@
The filter chain.
-
-
- Default action if none of the filters match.
-
-
Gets or sets the next item in the chain.
@@ -10527,33 +10673,35 @@
The next item in the chain.
This is for example the 'target2' logger in writeTo='target1,target2'
-
+
Gets the stack trace usage.
- A value that determines stack trace handling.
+ A value that determines stack trace handling.
-
+
- Helper for dealing with thread-local storage.
+ Default action if none of the filters match.
-
+
- Allocates the data slot for storing thread-local information.
+ Serves as a hash function for a particular type.
- Allocated slot key.
-
+
- Gets the data for a slot in thread-local storage.
+ Determines if two objects are equal in value.
- Type of the data.
- The slot to get data for.
- Automatically create the object if it doesn't exist.
-
- Slot data (will create T if null).
-
+ Other object to compare to.
+ True if objects are equal, false otherwise.
+
+
+
+ Determines if two objects of the same type are equal in value.
+
+ Other object to compare to.
+ True if objects are equal, false otherwise.
@@ -10630,39 +10778,6 @@
-
-
- Win32-optimized implementation of .
-
-
-
-
- Gets the information about a file.
-
- Name of the file.
- The file stream.
- The file characteristics, if the file information was retrieved successfully, otherwise null.
-
-
-
- Win32-optimized implementation of .
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets current process ID.
-
-
-
-
- Gets current process absolute file path.
-
-
Prevents the Xamarin linker from linking the target.
@@ -10720,7 +10835,7 @@
Object value
Object value converted to string
-
+
XML elements must follow these naming rules:
- Element names are case-sensitive
@@ -10729,7 +10844,6 @@
- Element names cannot contain spaces
-
@@ -10740,16 +10854,6 @@
Check and remove unusual unicode characters from the result string.
Object value converted to string
-
-
- Safe version of WriteAttributeString
-
-
-
-
-
-
-
Safe version of WriteAttributeString
@@ -10773,104 +10877,20 @@
Safe version of WriteCData
-
+
-
+
- Provides an interface to execute System.Actions without surfacing any exceptions raised for that action.
+ Interface for handling object transformation
-
+
- Runs the provided action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method.
+ Takes a dangerous (or massive) object and converts into a safe (or reduced) object
- Action to execute.
-
-
-
- Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level.
- The exception is not propagated outside of this method; a default value is returned instead.
-
- Return type of the provided function.
- Function to run.
- Result returned by the provided function or the default value of type in case of exception.
-
-
-
- Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level.
- The exception is not propagated outside of this method; a fallback value is returned instead.
-
- Return type of the provided function.
- Function to run.
- Fallback value to return in case of exception.
- Result returned by the provided function or fallback value in case of exception.
-
-
-
- Render a message template property to a string
-
-
-
-
- Serialization of an object, e.g. JSON and append to
-
- The object to serialize to string.
- Parameter Format
- Parameter CaptureType
- An object that supplies culture-specific formatting information.
- Output destination.
- Serialize succeeded (true/false)
-
-
-
- Log event context data.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets or sets string that will be used to separate key/value pairs.
-
-
-
-
-
- Get or set if empty values should be included.
-
- A value is empty when null or in case of a string, null or empty string.
-
-
-
-
- Gets or sets how key/value pairs will be formatted.
-
-
-
-
-
- Renders all log event's properties and appends them to the specified .
-
- The to append the rendered data to.
- Logging event.
-
-
-
- Designates a property of the class as an ambient property.
-
-
- non-ambient: ${uppercase:${level}}
- ambient : ${level:uppercase}
-
-
-
-
- Initializes a new instance of the class.
-
- Ambient property name.
+
+ Null if unknown object, or object cannot be handled
+
@@ -10882,7 +10902,7 @@
Create a new renderer
-
+
Create a new renderer
@@ -10890,10 +10910,10 @@
Format string. Possible values: "Short", "Long" or custom like {0} {1}. Default "Long"
- The first parameter is the , the second the second the
+ The first parameter is the AppDomain.Id, the second the second the AppDomain.FriendlyName
This string is used in
-
+
@@ -10904,7 +10924,7 @@
-
+
Application setting.
@@ -10916,32 +10936,28 @@
${appsetting:item=mysetting:default=mydefault} - produces "mydefault" if no appsetting
-
+
The AppSetting item-name
-
+
-
+
The AppSetting item-name
-
+
The default value to render if the AppSetting value is null.
-
+
-
+
-
-
- Renders the specified application setting or default value and appends it to the specified .
-
- The to append the rendered data to.
- Logging event.
+
+
@@ -10955,16 +10971,11 @@
The entry assembly can't be found in some cases e.g. ASP.NET, unit tests, etc.
-
-
- Initializes a new instance of the class.
-
-
The (full) name of the assembly. If null, using the entry assembly.
-
+
@@ -10973,9 +10984,14 @@
Some version type and platform combinations are not fully supported.
- UWP earlier than .NET Standard 1.5: Value for is always returned unless the parameter is specified.
- - Silverlight: Value for is always returned.
-
+
+
+
+
+ The default value to render if the Version is not available
+
+
@@ -10987,30 +11003,21 @@
https://docs.microsoft.com/en-gb/dotnet/api/system.version?view=netframework-4.7.2#remarks
for details.
-
+
-
- Initializes the layout renderer.
-
+
-
- Closes the layout renderer.
-
+
-
- Renders an assembly version and appends it to the specified .
-
- The to append the rendered data to.
- Logging event.
+
Gets the assembly specified by , or entry assembly otherwise
- Found assembly
@@ -11029,591 +11036,41 @@
- Gets additional version information.
+ Gets the product version, extracted from the additional version information.
-
-
- The current application domain's base directory.
-
-
-
-
- cached
-
-
-
-
- Use base dir of current process.
-
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets or sets the name of the file to be Path.Combine()'d with with the base directory.
-
-
-
-
-
- Gets or sets the name of the directory to be Path.Combine()'d with with the base directory.
-
-
-
-
-
- Renders the application base directory and appends it to the specified .
-
- The to append the rendered data to.
- Logging event.
-
-
-
- The call site source file name. Full callsite
-
-
-
-
- Gets or sets a value indicating whether to include source file path.
-
-
-
-
-
- Gets or sets the number of frames to skip.
-
-
-
-
-
- Gets the level of stack trace information required by the implementing class.
-
-
-
-
-
-
-
-
-
-
- The call site (class name, method name and source information).
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets or sets a value indicating whether to render the class name.
-
-
-
-
-
- Gets or sets a value indicating whether to render the include the namespace with .
-
-
-
-
-
- Gets or sets a value indicating whether to render the method name.
-
-
-
-
-
- Gets or sets a value indicating whether the method name will be cleaned up if it is detected as an anonymous delegate.
-
-
-
-
-
- Gets or sets a value indicating whether the method and class names will be cleaned up if it is detected as an async continuation
- (everything after an await-statement inside of an async method).
-
-
-
-
-
- Gets or sets the number of frames to skip.
-
-
-
-
-
- Gets or sets a value indicating whether to render the source file name and line number.
-
-
-
-
-
- Gets or sets a value indicating whether to include source file path.
-
-
-
-
-
- Gets the level of stack trace information required by the implementing class.
-
-
-
-
- Renders the call site and appends it to the specified .
-
- The to append the rendered data to.
- Logging event.
-
-
-
- The call site source line number. Full callsite
-
-
-
-
- Gets or sets the number of frames to skip.
-
-
-
-
-
- Gets the level of stack trace information required by the implementing class.
-
-
-
-
-
-
-
-
-
-
- A counter value (increases on each layout rendering).
-
-
-
-
- Gets or sets the initial value of the counter.
-
-
-
-
-
- Gets or sets the value to be added to the counter after each layout rendering.
-
-
-
-
-
- Gets or sets the name of the sequence. Different named sequences can have individual values.
-
-
-
-
-
-
-
-
- The current working directory of the application.
-
-
-
-
- Gets or sets the name of the file to be Path.Combine()'d with the current directory.
-
-
-
-
-
- Gets or sets the name of the directory to be Path.Combine()'d with the current directory.
-
-
-
-
-
-
-
-
-
-
-
- Current date and time.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets or sets the culture used for rendering.
-
-
-
-
-
- Gets or sets the date format. Can be any argument accepted by DateTime.ToString(format).
-
-
-
-
-
- Gets or sets a value indicating whether to output UTC time instead of local time.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- DB null for a database
-
-
-
-
-
-
-
-
-
-
- The environment variable.
-
-
-
-
- Gets or sets the name of the environment variable.
-
-
-
-
-
- Gets or sets the default value to be used when the environment variable is not set.
-
-
-
-
-
-
-
-
-
Thread identity information (username).
-
-
- Initializes a new instance of the class.
-
-
Gets or sets a value indicating whether username should be included.
-
+
Gets or sets a value indicating whether domain name should be included.
-
+
Gets or sets the default value to be used when the User is not set.
-
+
Gets or sets the default value to be used when the Domain is not set.
-
+
-
-
-
-
-
- Log event context data.
-
- This class was marked as obsolete on NLog 2.0 and it may be removed in a future release.
-
-
-
- Gets or sets the name of the item.
-
-
-
-
-
- Renders the specified log event context item and appends it to the specified .
-
- The to append the rendered data to.
- Logging event.
-
-
-
- Log event context data. See .
-
-
-
-
- Gets or sets the name of the item.
-
-
-
-
-
- Format string for conversion from object to string.
-
-
-
-
-
- Gets or sets the culture used for rendering.
-
-
-
-
-
- Gets or sets the object-property-navigation-path for lookup of nested property
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Exception information provided through
- a call to one of the Logger.*Exception() methods.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets or sets the format of the output. Must be a comma-separated list of exception
- properties: Message, Type, ShortType, ToString, Method, StackTrace.
- This parameter value is case-insensitive.
-
-
-
-
-
-
-
- Gets or sets the format of the output of inner exceptions. Must be a comma-separated list of exception
- properties: Message, Type, ShortType, ToString, Method, StackTrace.
- This parameter value is case-insensitive.
-
-
-
-
-
- Gets or sets the separator used to concatenate parts specified in the Format.
-
-
-
-
-
- Gets or sets the separator used to concatenate exception data specified in the Format.
-
-
-
-
-
- Gets or sets the maximum number of inner exceptions to include in the output.
- By default inner exceptions are not enabled for compatibility with NLog 1.0.
-
-
-
-
-
- Gets or sets the separator between inner exceptions.
-
-
-
-
-
- Gets the formats of the output of inner exceptions to be rendered in target.
-
-
-
-
-
-
- Gets the formats of the output to be rendered in target.
-
-
-
-
-
-
-
-
-
-
-
-
- Appends the Message of an Exception to the specified .
-
- The to append the rendered data to.
- The exception containing the Message to append.
-
-
-
- Appends the method name from Exception's stack trace to the specified .
-
- The to append the rendered data to.
- The Exception whose method name should be appended.
-
-
-
- Appends the stack trace from an Exception to the specified .
-
- The to append the rendered data to.
- The Exception whose stack trace should be appended.
-
-
-
- Appends the result of calling ToString() on an Exception to the specified .
-
- The to append the rendered data to.
- The Exception whose call to ToString() should be appended.
-
-
-
- Appends the type of an Exception to the specified .
-
- The to append the rendered data to.
- The Exception whose type should be appended.
-
-
-
- Appends the short type of an Exception to the specified .
-
- The to append the rendered data to.
- The Exception whose short type should be appended.
-
-
-
- Appends the application source of an Exception to the specified .
-
- The to append the rendered data to.
- The Exception whose source should be appended.
-
-
-
- Appends the contents of an Exception's Data property to the specified .
-
- The to append the rendered data to.
- The Exception whose Data property elements should be appended.
-
-
-
- Appends all the serialized properties of an Exception into the specified .
-
- The to append the rendered data to.
- The Exception whose properties should be appended.
-
-
-
- Split the string and then compile into list of Rendering formats.
-
-
-
-
-
-
- Renders contents of the specified file.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets or sets the name of the file.
-
-
-
-
-
- Gets or sets the encoding used in the file.
-
- The encoding.
-
-
-
-
- Renders the contents of the specified file and appends it to the specified .
-
- The to append the rendered data to.
- Logging event.
-
-
-
- A layout renderer which could have different behavior per instance by using a .
-
-
-
-
- Create a new.
-
- Name without ${}.
- Method that renders the layout.
-
-
-
- Name used in config without ${}. E.g. "test" could be used as "${test}".
-
-
-
-
- Method that renders the layout.
-
-
-
-
-
The information about the garbage collector.
@@ -11623,10 +11080,10 @@
Gets or sets the property to retrieve.
-
+
-
+
@@ -11663,805 +11120,23 @@
Maximum generation number supported by GC.
-
-
- Render a Global Diagnostics Context item. See
-
-
-
-
- Gets or sets the name of the item.
-
-
-
-
-
- Format string for conversion from object to string.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Globally-unique identifier (GUID).
-
-
-
-
- Gets or sets the GUID format as accepted by Guid.ToString() method.
-
-
-
-
-
- Generate the Guid from the NLog LogEvent (Will be the same for all targets)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The host name that the process is running on.
-
-
-
-
-
-
-
- Gets the host name and falls back to computer name if not available
-
-
-
-
- Tries the lookup value.
-
- The lookup function.
- Type of the lookup.
-
-
-
-
-
-
-
- Thread identity information (name and authentication information).
-
-
-
-
- Gets or sets the separator to be used when concatenating
- parts of identity information.
-
-
-
-
-
- Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.Name.
-
-
-
-
-
- Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.AuthenticationType.
-
-
-
-
-
- Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.IsAuthenticated.
-
-
-
-
-
-
-
-
- Installation parameter (passed to InstallNLogConfig).
-
-
-
-
- Gets or sets the name of the parameter.
-
-
-
-
-
- Renders the specified installation parameter and appends it to the specified .
-
- The to append the rendered data to.
- Logging event.
-
-
-
- Render environmental information related to logging events.
-
-
-
-
- Gets the logging configuration this target is part of.
-
-
-
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
-
-
-
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
-
-
-
-
- Renders the the value of layout renderer in the context of the specified log event.
-
- The log event.
- String representation of a layout renderer.
-
-
-
- Initializes this instance.
-
- The configuration.
-
-
-
- Closes this instance.
-
-
-
-
- Initializes this instance.
-
- The configuration.
-
-
-
- Closes this instance.
-
-
-
-
- Renders the value of layout renderer in the context of the specified log event.
-
- The log event.
- The layout render output is appended to builder
-
-
-
- Renders the value of layout renderer in the context of the specified log event into .
-
- The to append the rendered data to.
- Logging event.
-
-
-
- Initializes the layout renderer.
-
-
-
-
- Closes the layout renderer.
-
-
-
-
- Releases unmanaged and - optionally - managed resources.
-
- True to release both managed and unmanaged resources; false to release only unmanaged resources.
-
-
-
- Get the for rendering the messages to a
-
- LogEvent with culture
- Culture in on Layout level
-
-
-
-
- Get the for rendering the messages to a , needed for date and number formats
-
- LogEvent with culture
- Culture in on Layout level
-
-
- is preferred
-
-
-
-
- Register a custom layout renderer.
-
- Short-cut for registing to default
- Type of the layout renderer.
- Name of the layout renderer - without ${}.
-
-
-
- Register a custom layout renderer.
-
- Short-cut for registering to default
- Type of the layout renderer.
- Name of the layout renderer - without ${}.
-
-
-
- Register a custom layout renderer with a callback function . The callback receives the logEvent.
-
- Name of the layout renderer - without ${}.
- Callback that returns the value for the layout renderer.
-
-
-
- Register a custom layout renderer with a callback function . The callback recieves the logEvent and the current configuration.
-
- Name of the layout renderer - without ${}.
- Callback that returns the value for the layout renderer.
-
-
-
- Marks class as a layout renderer and assigns a name to it.
-
- This attribute is not required when registering the layout in the API.
-
-
-
- Initializes a new instance of the class.
-
- Name of the layout renderer, without the `${ }`
-
-
-
- Format of the ${level} layout renderer output.
-
-
-
-
- Render the full level name.
-
-
-
-
- Render the first character of the level.
-
-
-
-
- Render the ordinal (aka number) for the level.
-
-
-
-
- The log level.
-
-
-
-
- Gets or sets a value indicating the output format of the level.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- A string literal.
-
-
- This is used to escape '${' sequence
- as ;${literal:text=${}'
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- The literal text value.
- This is used by the layout compiler.
-
-
-
- Gets or sets the literal text.
-
-
-
-
-
- Renders the specified string literal and appends it to the specified .
-
- The to append the rendered data to.
- Logging event.
-
-
-
- XML event description compatible with log4j, Chainsaw and NLogViewer.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes the layout renderer.
-
-
-
-
- Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema.
-
-
-
-
-
- Gets or sets a value indicating whether the XML should use spaces for indentation.
-
-
-
-
-
- Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain.
-
-
-
-
-
- Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network.
-
-
-
-
-
- Gets or sets a value indicating whether to include source info (file name and line number) in the information sent over the network.
-
-
-
-
-
- Gets or sets a value indicating whether to include contents of the dictionary.
-
-
-
-
-
- Gets or sets a value indicating whether to include contents of the dictionary.
-
-
-
-
-
- Gets or sets a value indicating whether to include contents of the stack.
-
-
-
-
-
- Gets or sets the NDLC item separator.
-
-
-
-
-
- Gets or sets the option to include all properties from the log events
-
-
-
-
-
- Gets or sets a value indicating whether to include contents of the stack.
-
-
-
-
-
- Gets or sets the NDC item separator.
-
-
-
-
-
- Gets or sets the log4j:event logger-xml-attribute (Default ${logger})
-
-
-
-
-
- Gets the level of stack trace information required by the implementing class.
-
-
-
-
- Renders the XML logging event and appends it to the specified .
-
- The to append the rendered data to.
- Logging event.
-
-
-
- The logger name.
-
-
-
-
- Gets or sets a value indicating whether to render short logger name (the part after the trailing dot character).
-
-
-
-
-
-
-
-
-
-
-
- The date and time in a long, sortable format yyyy-MM-dd HH:mm:ss.ffff.
-
-
-
-
- Gets or sets a value indicating whether to output UTC time instead of local time.
-
-
-
-
-
- Renders the date in the long format (yyyy-MM-dd HH:mm:ss.ffff) and appends it to the specified .
-
- The to append the rendered data to.
- Logging event.
-
-
-
- The machine name that the process is running on.
-
-
-
-
-
-
-
-
-
-
- Render a Mapped Diagnostic Context item, See
-
-
-
-
- Gets or sets the name of the item.
-
-
-
-
-
- Format string for conversion from object to string.
-
-
-
-
-
-
-
-
-
-
-
- Render a Mapped Diagnostic Logical Context item (based on CallContext).
- See
-
-
-
-
- Gets or sets the name of the item.
-
-
-
-
-
- Format string for conversion from object to string.
-
-
-
-
-
-
-
-
-
-
-
- The formatted log message.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets or sets a value indicating whether to log exception along with message.
-
-
-
-
-
- Gets or sets the string that separates message from the exception.
-
-
-
-
-
- Gets or sets whether it should render the raw message without formatting parameters
-
-
-
-
-
-
-
-
-
-
-
- Render a Nested Diagnostic Context item.
- See
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets or sets the number of top stack frames to be rendered.
-
-
-
-
-
- Gets or sets the number of bottom stack frames to be rendered.
-
-
-
-
-
- Gets or sets the separator to be used for concatenating nested diagnostics context output.
-
-
-
-
-
- Renders the specified Nested Diagnostics Context item and appends it to the specified .
-
- The to append the rendered data to.
- Logging event.
-
-
-
- Render a Nested Diagnostic Logical Context item (Async scope)
- See
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets or sets the number of top stack frames to be rendered.
-
-
-
-
-
- Gets or sets the number of bottom stack frames to be rendered.
-
-
-
-
-
- Gets or sets the separator to be used for concatenating nested logical context output.
-
-
-
-
-
- Renders the specified Nested Logical Context item and appends it to the specified .
-
- The to append the rendered data to.
- Logging event.
-
-
-
- Timing Renderer (Async scope)
-
-
-
-
- Gets or sets whether to only include the duration of the last scope created
-
-
-
-
-
- Gets or sets whether to just display the scope creation time, and not the duration
-
-
-
-
-
- Gets or sets the TimeSpan format. Can be any argument accepted by TimeSpan.ToString(format).
-
-
-
-
-
- Renders the timing details of the Nested Logical Context item and appends it to the specified .
-
- The to append the rendered data to.
- Logging event.
-
-
-
- A newline literal.
-
-
-
-
- Renders the specified string literal and appends it to the specified .
-
- The to append the rendered data to.
- Logging event.
-
-
-
- The directory where NLog.dll is located.
-
-
-
-
- Initializes static members of the NLogDirLayoutRenderer class.
-
-
-
-
- Gets or sets the name of the file to be Path.Combine()'d with the directory name.
-
-
-
-
-
- Gets or sets the name of the directory to be Path.Combine()'d with the directory name.
-
-
-
-
-
- Initializes the layout renderer.
-
-
-
-
- Closes the layout renderer.
-
-
-
-
- Renders the directory where NLog is located and appends it to the specified .
-
- The to append the rendered data to.
- Logging event.
-
-
-
- The performance counter.
-
-
-
-
- Gets or sets the name of the counter category.
-
-
-
-
-
- Gets or sets the name of the performance counter.
-
-
-
-
-
- Gets or sets the name of the performance counter instance (e.g. this.Global_).
-
-
-
-
-
- Gets or sets the name of the machine to read the performance counter from.
-
-
-
-
-
- Format string for conversion from float to string.
-
-
-
-
-
- Gets or sets the culture used for rendering.
-
-
-
-
-
-
-
-
- If having multiple instances with the same process-name, then they will get different instance names
-
-
-
-
-
-
-
-
The identifier of the current process.
-
-
+
+
+ Initializes a new instance of the class.
+
-
-
+
+
+ Initializes a new instance of the class.
+
+
+
+
@@ -12472,22 +11147,28 @@
Gets or sets the property to retrieve.
-
+
Gets or sets the format-string to use if the property supports it (Ex. DateTime / TimeSpan / Enum)
-
+
+
+
+
+ Gets or sets the culture used for rendering.
+
+
-
+
-
+
-
+
@@ -12698,241 +11379,164 @@
Gets or sets a value indicating whether to write the full path to the process executable.
-
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
-
- Renders the current process name (optionally with a full path).
-
- The to append the rendered data to.
- Logging event.
+
-
+
- The process time in format HH:mm:ss.mmm.
+ Designates a property of the class as an ambient property.
+
+
+ non-ambient: ${uppercase:${level}}
+ ambient : ${level:uppercase}
+
+
+
+
+ Initializes a new instance of the class.
+
+ Ambient property name.
+
+
+
+ Marks class as layout-renderer and attaches a type-alias name for use in NLog configuration.
-
+
- Gets or sets a value indicating whether to output in culture invariant format
+ Initializes a new instance of the class.
-
+ The layout-renderer type-alias for use in NLog configuration - without '${ }'
-
-
-
-
-
-
-
+
- Write timestamp to builder with format hh:mm:ss:fff
+ The call site source file name. Full callsite
-
+
- High precision timer, based on the value returned from QueryPerformanceCounter() optionally converted to seconds.
+ Gets or sets a value indicating whether to include source file path.
+
+
+
+
+
+ Gets or sets the number of frames to skip.
+
+
+
+
+
+ Logger should capture StackTrace, if it was not provided manually
+
+
+
+
+
+
+
+
+
+
+
+ The call site (class name, method name and source information).
-
+
- Gets or sets a value indicating whether to normalize the result by subtracting
- it from the result of the first call (so that it's effectively zero-based).
+ Gets or sets a value indicating whether to render the class name.
-
+
-
+
- Gets or sets a value indicating whether to output the difference between the result
- of QueryPerformanceCounter and the previous one.
+ Gets or sets a value indicating whether to render the include the namespace with .
-
+
-
+
- Gets or sets a value indicating whether to convert the result to seconds by dividing
- by the result of QueryPerformanceFrequency().
+ Gets or sets a value indicating whether to render the method name.
-
+
-
+
- Gets or sets the number of decimal digits to be included in output.
+ Gets or sets a value indicating whether the method name will be cleaned up if it is detected as an anonymous delegate.
-
+
-
+
- Gets or sets a value indicating whether to align decimal point (emit non-significant zeros).
+ Gets or sets a value indicating whether the method and class names will be cleaned up if it is detected as an async continuation
+ (everything after an await-statement inside of an async method).
-
+
-
-
-
-
-
-
-
+
- A value from the Registry.
+ Gets or sets the number of frames to skip.
+
+
+
+
+
+ Gets or sets a value indicating whether to render the source file name and line number.
+
+
+
+
+
+ Gets or sets a value indicating whether to include source file path.
+
+
+
+
+
+ Logger should capture StackTrace, if it was not provided manually
+
+
+
+
+
+
+
+
+
+
+
+ The call site source line number. Full callsite
-
+
- Create new renderer
+ Gets or sets the number of frames to skip.
+
-
+
- Gets or sets the registry value name.
+ Logger should capture StackTrace, if it was not provided manually
-
+
-
-
- Gets or sets the value to be output when the specified registry key or value is not found.
-
-
+
+
-
-
- Require escaping backward slashes in . Need to be backwards-compatible.
-
- When true:
-
- `\` in value should be configured as `\\`
- `\\` in value should be configured as `\\\\`.
-
- Default value wasn't a Layout before and needed an escape of the slash
-
-
-
-
- Gets or sets the registry view (see: https://msdn.microsoft.com/de-de/library/microsoft.win32.registryview.aspx).
- Allowed values: Registry32, Registry64, Default
-
-
-
-
-
- Gets or sets the registry key.
-
-
- HKCU\Software\NLogTest
-
-
- Possible keys:
-
- - HKEY_LOCAL_MACHINE
- - HKLM
- - HKEY_CURRENT_USER
- - HKCU
- - HKEY_CLASSES_ROOT
- - HKEY_USERS
- - HKEY_CURRENT_CONFIG
- - HKEY_DYN_DATA
- - HKEY_PERFORMANCE_DATA
-
-
-
-
-
-
- Reads the specified registry key and value and appends it to
- the passed .
-
- The to append the rendered data to.
- Logging event. Ignored.
-
-
-
- Has ?
-
-
-
-
- Parse key to and subkey.
-
- full registry key name
- Result of parsing, never null.
-
-
-
- Aliases for the hives. See https://msdn.microsoft.com/en-us/library/ctb3kd86(v=vs.110).aspx
-
-
-
-
- The sequence ID
-
-
-
-
-
-
-
-
-
-
- The short date in a sortable format yyyy-MM-dd.
-
-
-
-
- Gets or sets a value indicating whether to output UTC time instead of local time.
-
-
-
-
-
- Renders the current short date string (yyyy-MM-dd) and appends it to the specified .
-
- The to append the rendered data to.
- Logging event.
-
-
-
- System special folder path (includes My Documents, My Music, Program Files, Desktop, and more).
-
-
-
-
- Gets or sets the system special folder to use.
-
-
- Full list of options is available at MSDN.
- The most common ones are:
-
- - ApplicationData - roaming application data for current user.
- - CommonApplicationData - application data for all users.
- - MyDocuments - My Documents
- - DesktopDirectory - Desktop directory
- - LocalApplicationData - non roaming application data
- - Personal - user profile directory
- - System - System directory
-
-
-
-
-
-
- Gets or sets the name of the file to be Path.Combine()'d with the directory name.
-
-
-
-
-
- Gets or sets the name of the directory to be Path.Combine()'d with the directory name.
-
-
-
-
-
- Renders the directory where NLog is located and appends it to the specified .
-
- The to append the rendered data to.
- Logging event.
+
+
@@ -12959,90 +11563,559 @@
Stack trace renderer.
-
-
- Initializes a new instance of the class.
-
-
Gets or sets the output format of the stack trace.
-
+
Gets or sets the number of top stack frames to be rendered.
-
+
Gets or sets the number of frames to skip.
-
+
Gets or sets the stack frame separator string.
-
+
-
+
- Gets the level of stack trace information required by the implementing class.
+ Logger should capture StackTrace, if it was not provided manually
-
+
-
+
- Renders the call site and appends it to the specified .
+ Gets or sets whether to render StackFrames in reverse order
- The to append the rendered data to.
- Logging event.
+
-
-
- A temporary directory.
-
-
-
-
- Gets or sets the name of the file to be Path.Combine()'d with the directory name.
-
-
-
-
-
- Gets or sets the name of the directory to be Path.Combine()'d with the directory name.
-
-
-
-
+
-
-
- Renders the directory where NLog is located and appends it to the specified .
-
- The to append the rendered data to.
- Logging event.
+
+
-
+
- The identifier of the current thread.
+ Log event context data.
-
-
-
-
+
- The name of the current thread.
+ Initializes a new instance of the class.
-
-
+
+
+ Gets or sets string that will be used to separate key/value pairs.
+
+
+
+
+
+ Get or set if empty values should be included.
+
+ A value is empty when null or in case of a string, null or empty string.
+
+
+
+
+
+ Gets or sets whether to include the contents of the properties-dictionary.
+
+
+
+
+
+ Gets or sets the keys to exclude from the output. If omitted, none are excluded.
+
+
+
+
+
+ Enables capture of ScopeContext-properties from active thread context
+
+
+
+
+ Gets or sets how key/value pairs will be formatted.
+
+
+
+
+
+ Gets or sets the culture used for rendering.
+
+
+
+
+
+
+
+
+ Log event context data. See .
+
+
+
+
+ Gets or sets the name of the item.
+
+
+
+
+
+ Format string for conversion from object to string.
+
+
+
+
+
+ Gets or sets the culture used for rendering.
+
+
+
+
+
+ Gets or sets the object-property-navigation-path for lookup of nested property
+
+
+
+
+
+ Gets or sets whether to perform case-sensitive property-name lookup
+
+
+
+
+
+
+
+ Render a Global Diagnostics Context item. See
+
+
+
+
+ Gets or sets the name of the item.
+
+
+
+
+
+ Format string for conversion from object to string.
+
+
+
+
+
+ Gets or sets the culture used for rendering.
+
+
+
+
+
+
+
+
+ Installation parameter (passed to InstallNLogConfig).
+
+
+
+
+ Gets or sets the name of the parameter.
+
+
+
+
+
+
+
+
+ Render a Mapped Diagnostic Context item, See
+
+
+
+
+ Gets or sets the name of the item.
+
+
+
+
+
+ Format string for conversion from object to string.
+
+
+
+
+
+
+
+
+ Render a Mapped Diagnostic Logical Context item (based on CallContext).
+ See
+
+
+
+
+ Gets or sets the name of the item.
+
+
+
+
+
+ Format string for conversion from object to string.
+
+
+
+
+
+
+
+
+ Render a Nested Diagnostic Context item.
+ See
+
+
+
+
+ Gets or sets the number of top stack frames to be rendered.
+
+
+
+
+
+ Gets or sets the number of bottom stack frames to be rendered.
+
+
+
+
+
+ Gets or sets the separator to be used for concatenating nested diagnostics context output.
+
+
+
+
+
+
+
+
+ Render a Nested Diagnostic Logical Context item (Async scope)
+ See
+
+
+
+
+ Gets or sets the number of top stack frames to be rendered.
+
+
+
+
+
+ Gets or sets the number of bottom stack frames to be rendered.
+
+
+
+
+
+ Gets or sets the separator to be used for concatenating nested logical context output.
+
+
+
+
+
+
+
+
+ Timing Renderer (Async scope)
+
+
+
+
+ Gets or sets whether to only include the duration of the last scope created
+
+
+
+
+
+ Gets or sets whether to just display the scope creation time, and not the duration
+
+
+
+
+
+ Gets or sets the TimeSpan format. Can be any argument accepted by TimeSpan.ToString(format).
+
+
+
+
+
+
+
+
+ Renders the nested states from like a callstack
+
+
+
+
+ Gets or sets the indent token.
+
+
+
+
+
+
+
+
+ Renders the nested states from like a callstack
+
+
+
+
+ Gets or sets the number of top stack frames to be rendered.
+
+
+
+
+
+ Gets or sets the number of bottom stack frames to be rendered.
+
+
+
+
+
+ Gets or sets the separator to be used for concatenating nested logical context output.
+
+
+
+
+
+ Gets or sets how to format each nested state. Ex. like JSON = @
+
+
+
+
+
+ Gets or sets the culture used for rendering.
+
+
+
+
+
+
+
+
+ Renders specified property-item from
+
+
+
+
+ Gets or sets the name of the item.
+
+
+
+
+
+ Format string for conversion from object to string.
+
+
+
+
+
+ Gets or sets the culture used for rendering.
+
+
+
+
+
+
+
+
+ Timing Renderer (Async scope)
+
+
+
+
+ Gets or sets whether to only include the duration of the last scope created
+
+
+
+
+
+ Gets or sets whether to just display the scope creation time, and not the duration
+
+
+
+
+
+ Gets or sets the TimeSpan format. Can be any argument accepted by TimeSpan.ToString(format).
+
+ When Format has not been specified, then it will render TimeSpan.TotalMilliseconds
+
+
+
+
+
+ Gets or sets the culture used for rendering.
+
+
+
+
+
+
+
+
+ A renderer that puts into log a System.Diagnostics trace correlation id.
+
+
+
+
+
+
+
+ A counter value (increases on each layout rendering).
+
+
+
+
+ Gets or sets the initial value of the counter.
+
+
+
+
+
+ Gets or sets the value to be added to the counter after each layout rendering.
+
+
+
+
+
+ Gets or sets the name of the sequence. Different named sequences can have individual values.
+
+
+
+
+
+
+
+
+ Globally-unique identifier (GUID).
+
+
+
+
+ Gets or sets the GUID format as accepted by Guid.ToString() method.
+
+
+
+
+
+ Generate the Guid from the NLog LogEvent (Will be the same for all targets)
+
+
+
+
+
+
+
+
+ The sequence ID
+
+
+
+
+
+
+
+ Current date and time.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets the culture used for rendering.
+
+
+
+
+
+ Gets or sets the date format. Can be any argument accepted by DateTime.ToString(format).
+
+
+
+
+
+ Gets or sets a value indicating whether to output UTC time instead of local time.
+
+
+
+
+
+
+
+
+ The date and time in a long, sortable format yyyy-MM-dd HH:mm:ss.ffff.
+
+
+
+
+ Gets or sets a value indicating whether to output UTC time instead of local time.
+
+
+
+
+
+
+
+
+ The process time in format HH:mm:ss.mmm.
+
+
+
+
+ Gets or sets a value indicating whether to output in culture invariant format
+
+
+
+
+
+ Gets or sets the culture used for rendering.
+
+
+
+
+
+
+
+
+ Write timestamp to builder with format hh:mm:ss:fff
+
+
+
+
+ The short date in a sortable format yyyy-MM-dd.
+
+
+
+
+ Gets or sets a value indicating whether to output UTC time instead of local time.
+
+
+
+
+
@@ -13050,10 +12123,7 @@
-
-
-
-
+
@@ -13064,96 +12134,1113 @@
Gets or sets a value indicating whether to output UTC time instead of local time.
-
+
Gets or sets a value indicating whether to output in culture invariant format
-
+
+
+
+
+ Gets or sets the culture used for rendering.
+
+
-
+
-
-
-
-
+
- A renderer that puts into log a System.Diagnostics trace correlation id.
+ DB null for a database
-
-
+
+
-
-
+
+
+ The current application domain's base directory.
+
+
+
+
+ cached
+
+
+
+
+ Use base dir of current process. Alternative one can just use ${processdir}
+
+
+
+
+
+ Fallback to the base dir of current process, when AppDomain.BaseDirectory is Temp-Path (.NET Core 3 - Single File Publish)
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets the name of the file to be Path.Combine()'d with the base directory.
+
+
+
+
+
+ Gets or sets the name of the directory to be Path.Combine()'d with the base directory.
+
+
+
+
+
+
+
+
+ The current working directory of the application.
+
+
+
+
+ Gets or sets the name of the file to be Path.Combine()'d with the current directory.
+
+
+
+
+
+ Gets or sets the name of the directory to be Path.Combine()'d with the current directory.
+
+
+
+
+
+
+
+
+ The directory where NLog.dll is located.
+
+
+
+
+ Gets or sets the name of the file to be Path.Combine()'d with the directory name.
+
+
+
+
+
+ Gets or sets the name of the directory to be Path.Combine()'d with the directory name.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The executable directory from the FileName,
+ using the current process
+
+
+
+
+ Gets or sets the name of the file to be Path.Combine()'d with the process directory.
+
+
+
+
+
+ Gets or sets the name of the directory to be Path.Combine()'d with the process directory.
+
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+
+ System special folder path from
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ System special folder path from
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ System special folder path (includes My Documents, My Music, Program Files, Desktop, and more).
+
+
+
+
+ Gets or sets the system special folder to use.
+
+
+ Full list of options is available at MSDN.
+ The most common ones are:
+
+ - CommonApplicationData - application data for all users.
+ - ApplicationData - roaming application data for current user.
+ - LocalApplicationData - non roaming application data for current user
+ - UserProfile - Profile folder for current user
+ - DesktopDirectory - Desktop-directory for current user
+ - MyDocuments - My Documents-directory for current user
+ - System - System directory
+
+
+
+
+
+
+ Gets or sets the name of the file to be Path.Combine()'d with the directory name.
+
+
+
+
+
+ Gets or sets the name of the directory to be Path.Combine()'d with the directory name.
+
+
+
+
+
+
+
+
+ System special folder path from
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ A temporary directory.
+
+
+
+
+ Gets or sets the name of the file to be Path.Combine()'d with the directory name.
+
+
+
+
+
+ Gets or sets the name of the directory to be Path.Combine()'d with the directory name.
+
+
+
+
+
+
+
+
+
+
+
+ The OS dependent directory separator
+
+
+
+
+
+
+
+ Render information of
+ for the exception passed to the logger call
+
+
+
+
+ Gets or sets the key to search the exception Data for
+
+
+
+
+
+ Gets or sets whether to render innermost Exception from
+
+
+
+
+
+ Format string for conversion from object to string.
+
+
+
+
+
+ Gets or sets the culture used for rendering.
+
+
+
+
+
+
+
+
+ Exception information provided through
+ a call to one of the Logger.*Exception() methods.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets the format of the output. Must be a comma-separated list of exception
+ properties: Message, Type, ShortType, ToString, Method, StackTrace.
+ This parameter value is case-insensitive.
+
+
+
+
+
+
+
+ Gets or sets the format of the output of inner exceptions. Must be a comma-separated list of exception
+ properties: Message, Type, ShortType, ToString, Method, StackTrace.
+ This parameter value is case-insensitive.
+
+
+
+
+
+ Gets or sets the separator used to concatenate parts specified in the Format.
+
+
+
+
+
+ Gets or sets the separator used to concatenate exception data specified in the Format.
+
+
+
+
+
+ Gets or sets the maximum number of inner exceptions to include in the output.
+ By default inner exceptions are not enabled for compatibility with NLog 1.0.
+
+
+
+
+
+ Gets or sets the separator between inner exceptions.
+
+
+
+
+
+ Gets or sets whether to render innermost Exception from
+
+
+
+
+
+ Gets or sets whether to collapse exception tree using
+
+
+
+
+
+ Gets the formats of the output of inner exceptions to be rendered in target.
+
+
+
+
+
+ Gets the formats of the output to be rendered in target.
+
+
+
+
+
+
+
+
+ Appends the Message of an Exception to the specified .
+
+ The to append the rendered data to.
+ The exception containing the Message to append.
+
+
+
+ Appends the method name from Exception's stack trace to the specified .
+
+ The to append the rendered data to.
+ The Exception whose method name should be appended.
+
+
+
+ Appends the stack trace from an Exception to the specified .
+
+ The to append the rendered data to.
+ The Exception whose stack trace should be appended.
+
+
+
+ Appends the result of calling ToString() on an Exception to the specified .
+
+ The to append the rendered data to.
+ The Exception whose call to ToString() should be appended.
+
+
+
+ Appends the type of an Exception to the specified .
+
+ The to append the rendered data to.
+ The Exception whose type should be appended.
+
+
+
+ Appends the short type of an Exception to the specified .
+
+ The to append the rendered data to.
+ The Exception whose short type should be appended.
+
+
+
+ Appends the application source of an Exception to the specified .
+
+ The to append the rendered data to.
+ The Exception whose source should be appended.
+
+
+
+ Appends the HResult of an Exception to the specified .
+
+ The to append the rendered data to.
+ The Exception whose HResult should be appended.
+
+
+
+ Appends the contents of an Exception's Data property to the specified .
+
+ The to append the rendered data to.
+ The Exception whose Data property elements should be appended.
+
+
+
+ Appends all the serialized properties of an Exception into the specified .
+
+ The to append the rendered data to.
+ The Exception whose properties should be appended.
+
+
+
+ Appends all the additional properties of an Exception like Data key-value-pairs
+
+ The to append the rendered data to.
+ The Exception whose properties should be appended.
+
+
+
+ Split the string and then compile into list of Rendering formats.
+
+
+
+
+ Renders contents of the specified file.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets the name of the file.
+
+
+
+
+
+ Gets or sets the encoding used in the file.
+
+ The encoding.
+
+
+
+
+
+
+
+ A layout renderer which could have different behavior per instance by using a .
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name without ${}.
+
+
+
+ Initializes a new instance of the class.
+
+ Name without ${}.
+ Method that renders the layout.
+
+
+
+ Name used in config without ${}. E.g. "test" could be used as "${test}".
+
+
+
+
+ Method that renders the layout.
+
+ This public property will be removed in NLog 5.
+
+
+
+
+ Format string for conversion from object to string.
+
+
+
+
+
+ Gets or sets the culture used for rendering.
+
+
+
+
+
+
+
+
+ Render the value for this log event
+
+ The logging event.
+ The value.
+
+
+
+ A layout renderer which could have different behavior per instance by using a .
+
+
+
+
+ Initializes a new instance of the class.
+
+ Name without ${}.
+ Method that renders the layout.
+
+
+
+ Thread identity information (name and authentication information).
+
+
+
+
+ Gets or sets the separator to be used when concatenating
+ parts of identity information.
+
+
+
+
+
+ Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.Name.
+
+
+
+
+
+ Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.AuthenticationType.
+
+
+
+
+
+ Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.IsAuthenticated.
+
+
+
+
+
+
+
+
+ Render environmental information related to logging events.
+
+
+
+
+ Gets the logging configuration this target is part of.
+
+
+
+
+ Value formatter
+
+
+
+
+
+
+
+ Renders the value of layout renderer in the context of the specified log event.
+
+ The log event.
+ String representation of a layout renderer.
+
+
+
+
+
+
+
+
+
+ Initializes this instance.
+
+ The configuration.
+
+
+
+ Closes this instance.
+
+
+
+
+ Renders the value of layout renderer in the context of the specified log event.
+
+ The log event.
+ The layout render output is appended to builder
+
+
+
+ Renders the value of layout renderer in the context of the specified log event into .
+
+ The to append the rendered data to.
+ Logging event.
+
+
+
+ Initializes the layout renderer.
+
+
+
+
+ Closes the layout renderer.
+
+
+
+
+ Get the for rendering the messages to a
+
+ LogEvent with culture
+ Culture in on Layout level
+
+
+
+
+ Get the for rendering the messages to a
+
+ LogEvent with culture
+ Culture in on Layout level
+
+
+ is preferred
+
+
+
+
+ Register a custom layout renderer.
+
+ Short-cut for registering to default
+ Type of the layout renderer.
+ The layout-renderer type-alias for use in NLog configuration - without '${ }'
+
+
+
+ Register a custom layout renderer.
+
+ Short-cut for registering to default
+ Type of the layout renderer.
+ The layout-renderer type-alias for use in NLog configuration - without '${ }'
+
+
+
+ Register a custom layout renderer with a callback function . The callback receives the logEvent.
+
+ The layout-renderer type-alias for use in NLog configuration - without '${ }'
+ Callback that returns the value for the layout renderer.
+
+
+
+ Register a custom layout renderer with a callback function . The callback receives the logEvent and the current configuration.
+
+ The layout-renderer type-alias for use in NLog configuration - without '${ }'
+ Callback that returns the value for the layout renderer.
+
+
+
+ Register a custom layout renderer with a callback function . The callback receives the logEvent and the current configuration.
+
+ Renderer with callback func
+
+
+
+ Resolves the interface service-type from the service-repository
+
+
+
+
+ Format of the ${level} layout renderer output.
+
+
+
+
+ Render the LogLevel standard name.
+
+
+
+
+ Render the first character of the level.
+
+
+
+
+ Render the first character of the level.
+
+
+
+
+ Render the ordinal (aka number) for the level.
+
+
+
+
+ Render the LogLevel full name, expanding Warn / Info abbreviations
+
+
+
+
+ Render the LogLevel as 3 letter abbreviations (Trc, Dbg, Inf, Wrn, Err, Ftl)
+
+
+
+
+ The log level.
+
+
+
+
+ Gets or sets a value indicating the output format of the level.
+
+
+
+
+
+ Gets or sets a value indicating whether upper case conversion should be applied.
+
+ A value of true if upper case conversion should be applied otherwise, false.
+
+
+
+
+
+
+
+ A string literal.
+
+
+ This is used to escape '${' sequence
+ as ;${literal:text=${}'
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The literal text value.
+ This is used by the layout compiler.
+
+
+
+ Gets or sets the literal text.
+
+
+
+
+
+
+
+
+ A string literal with a fixed raw value
+
+
+
+
+ Initializes a new instance of the class.
+
+ The literal text value.
+
+ Fixed raw value
+ This is used by the layout compiler.
+
+
+
+ XML event description compatible with log4j, Chainsaw and NLogViewer.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+
+
+
+ Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema.
+
+
+
+
+
+ Gets or sets a value indicating whether the XML should use spaces for indentation.
+
+
+
+
+
+ Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain.
+
+
+
+
+
+ Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network.
+
+
+
+
+
+ Gets or sets a value indicating whether to include source info (file name and line number) in the information sent over the network.
+
+
+
+
+
+ Gets or sets a value indicating whether to include contents of the dictionary.
+
+
+
+
+
+ Gets or sets a value indicating whether to include contents of the dictionary.
+
+
+
+
+
+ Gets or sets a value indicating whether to include contents of the stack.
+
+
+
+
+
+ Gets or sets whether to include log4j:NDC in output from nested context.
+
+
+
+
+
+ Gets or sets whether to include the contents of the properties-dictionary.
+
+
+
+
+
+ Gets or sets whether to include log4j:NDC in output from nested context.
+
+
+
+
+
+ Gets or sets the stack separator for log4j:NDC in output from nested context.
+
+
+
+
+
+ Gets or sets the stack separator for log4j:NDC in output from nested context.
+
+
+
+
+
+ Gets or sets the option to include all properties from the log events
+
+
+
+
+
+ Gets or sets the option to include all properties from the log events
+
+
+
+
+
+ Gets or sets the stack separator for log4j:NDC in output from nested context.
+
+
+
+
+
+ Gets or sets the log4j:event logger-xml-attribute (Default ${logger})
+
+
+
+
+
+ Gets or sets whether the log4j:throwable xml-element should be written as CDATA
+
+
+
+
+
+
+
+
+
+
+
+ The logger name.
+
+
+
+
+ Gets or sets a value indicating whether to render short logger name (the part after the trailing dot character).
+
+
+
+
+
+
+
+
+ The environment variable.
+
+
+
+
+ Gets or sets the name of the environment variable.
+
+
+
+
+
+ Gets or sets the default value to be used when the environment variable is not set.
+
+
+
+
+
+
+
+
+ The host name that the process is running on.
+
+
+
+
+
+
+
+ Gets the host name and falls back to computer name if not available
+
+
+
+
+ Tries the lookup value.
+
+ The lookup function.
+ Type of the lookup.
+
+
+
+
+
+
+
+ The IP address from the network interface card (NIC) on the local machine
+
+
+ Skips loopback-adapters and tunnel-interfaces. Skips devices without any MAC-address
+
+
+
+
+ Get or set whether to prioritize IPv6 or IPv4 (default)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ The machine name that the process is running on.
+
+
+
+
+
+
+
+
+
+
+ The formatted log message.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets a value indicating whether to log exception along with message.
+
+
+
+
+
+ Gets or sets the string that separates message from the exception.
+
+
+
+
+
+ Gets or sets whether it should render the raw message without formatting parameters
+
+
+
+
+
+
+
+
+ A newline literal.
+
+
+
+
+
+
+
+ The identifier of the current thread.
+
+
+
+
+
+
+
+ The name of the current thread.
+
+
+
+
- Render a NLog variable (xml or config)
+ Render a NLog Configuration variable assigned from API or loaded from config-file
Gets or sets the name of the NLog variable.
-
+
Gets or sets the default value to be used when the variable is not set.
Not used if Name is null
-
+
+
+
+
+ Gets the configuration variable layout matching the configured Name
+
+ Mostly relevant for the scanning of active NLog Layouts (Ex. CallSite capture)
-
- Initializes the layout renderer.
-
+
-
+
- Try get the
+ Try lookup the configuration variable layout matching the configured Name
-
-
-
- Renders the specified variable and appends it to the specified .
-
- The to append the rendered data to.
- Logging event.
-
-
-
- Thread Windows identity information (username).
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets or sets a value indicating whether domain name should be included.
-
-
-
-
-
- Gets or sets a value indicating whether username should be included.
-
-
-
-
-
- Renders the current thread windows identity information and appends it to the specified .
-
- The to append the rendered data to.
- Logging event.
+
@@ -13177,54 +13264,40 @@
Clear the cache whenever the is closed.
-
-
- Initializes a new instance of the class.
-
-
Gets or sets a value indicating whether this is enabled.
-
+
Gets or sets a value indicating when the cache is cleared.
-
+
Cachekey. If the cachekey changes, resets the value. For example, the cachekey would be the current day.s
-
+
+
+
+
+ Gets or sets a value indicating how many seconds the value should stay cached until it expires
+
+
-
- Initializes the layout renderer.
-
+
-
- Closes the layout renderer.
-
+
-
- Transforms the output of another layout.
-
- Output to be transform.
- Transformed text.
+
-
- Renders the inner layout contents.
-
- The log event.
- Contents of inner layout.
-
-
@@ -13232,22 +13305,17 @@
Filters characters not allowed in the file names by replacing them with safe character.
-
-
- Initializes a new instance of the class.
-
-
Gets or sets a value indicating whether to modify the output of this renderer so it can be used as a part of file path
(illegal characters are replaced with '_').
-
+
-
+
@@ -13255,27 +13323,31 @@
Escapes output of another layout using JSON rules.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets a value indicating whether to apply JSON encoding.
+ Gets or sets whether output should be encoded with Json-string escaping.
-
+
Gets or sets a value indicating whether to escape non-ascii characters
-
+
+
+
+
+ Should forward slashes be escaped? If true, / will be converted to \/
+
+
+ If not set explicitly then the value of the parent will be used as default.
+
+
-
+
@@ -13287,7 +13359,7 @@
Gets or sets the length in characters.
-
+
@@ -13296,6 +13368,7 @@
${message:truncate=80}
+
@@ -13308,28 +13381,32 @@
Converts the result of another layout output to lower case.
-
-
- Initializes a new instance of the class.
-
-
Gets or sets a value indicating whether lower case conversion should be applied.
A value of true if lower case conversion should be applied; otherwise, false.
-
+
+
+
+
+ Same as -property, so it can be used as ambient property.
+
+
+ ${level:tolower}
+
+
Gets or sets the culture used for rendering.
-
+
-
+
@@ -13343,7 +13420,7 @@
Gets or sets a value indicating whether to disable the IRawValue-interface
A value of true if IRawValue-interface should be ignored; otherwise, false.
-
+
@@ -13356,57 +13433,80 @@
Render a single property of a object
-
-
-
Gets or sets the object-property-navigation-path for lookup of nested property
Shortcut for
+
Gets or sets the object-property-navigation-path for lookup of nested property
-
+
Format string for conversion from object to string.
-
+
Gets or sets the culture used for rendering.
-
+
-
+
-
+
-
-
+
+
+ Lookup property-value from source object based on
+
+ Could resolve property-value?
Only outputs the inner layout when exception has been defined for log message.
+
+
+ If is not found, print this layout.
+
+
+
+
+
+
- Transforms the output of another layout.
+ Outputs alternative layout when the inner layout produces empty result.
- Output to be transform.
- Transformed text.
+
+ ${onhasproperties:, Properties\: ${all-event-properties}}
+
+
+
+
+ If is not found, print this layout.
+
+
+
+
+
+
+
+
@@ -13430,11 +13530,6 @@
Applies padding to another layout output.
-
-
- Initializes a new instance of the class.
-
-
Gets or sets the number of characters to pad the output to.
@@ -13443,20 +13538,20 @@
Positive padding values cause left padding, negative values
cause right padding to the desired width.
-
+
Gets or sets the padding character.
-
+
Gets or sets a value indicating whether to trim the
rendered text to the absolute value of the padding length.
-
+
@@ -13466,14 +13561,13 @@
or right-aligned (characters removed from the left). The
default is left alignment.
- RegistryLayoutRenderer
+
+
+
+
-
- Transforms the output of another layout.
-
- Output to be transform.
- Transformed text.
+
@@ -13488,21 +13582,21 @@
Gets or sets the text to search for.
The text search for.
-
+
Gets or sets a value indicating whether regular expressions should be used.
A value of true if regular expressions should be used otherwise, false.
-
+
Gets or sets the replacement string.
The replacement string.
-
+
@@ -13510,33 +13604,33 @@
Leave null or empty to replace without using group name.
The group name.
-
+
Gets or sets a value indicating whether to ignore case.
A value of true if case should be ignored when searching; otherwise, false.
-
+
Gets or sets a value indicating whether to search for whole words.
A value of true if whole words should be searched for; otherwise, false.
-
+
+
+
+
+ Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used.
+
+
-
- Initializes the layout renderer.
-
+
-
- Post-processes the rendered message.
-
- The text to be post-processed.
- Post-processed text.
+
@@ -13558,21 +13652,16 @@
Replaces newline characters from the result of another layout renderer with spaces.
-
-
- Initializes a new instance of the class.
-
-
Gets or sets a value indicating the string that should be used for separating lines.
-
+
-
+
@@ -13584,7 +13673,7 @@
Gets or sets the length in characters.
-
+
@@ -13606,7 +13695,7 @@
The layout to be wrapped.
This variable is for backwards compatibility
-
+
@@ -13618,7 +13707,7 @@
-
+
@@ -13636,24 +13725,19 @@
${substring:Inner=${level}:start=2:length=2}
-
-
- Initializes a new instance of the class.
-
-
Gets or sets the start index.
Index
-
+
Gets or sets the length in characters. If null, then the whole string
Index
-
+
@@ -13678,22 +13762,17 @@
Trims the whitespace from the result of another layout renderer.
-
-
- Initializes a new instance of the class.
-
-
Gets or sets a value indicating whether lower case conversion should be applied.
A value of true if lower case conversion should be applied; otherwise, false.
-
+
-
+
@@ -13706,28 +13785,32 @@
${level:uppercase} // [AmbientProperty]
-
-
- Initializes a new instance of the class.
-
-
Gets or sets a value indicating whether upper case conversion should be applied.
A value of true if upper case conversion should be applied otherwise, false.
-
+
+
+
+
+ Same as -property, so it can be used as ambient property.
+
+
+ ${level:toupper}
+
+
Gets or sets the culture used for rendering.
-
+
-
+
@@ -13745,28 +13828,27 @@
Gets or sets a value indicating whether spaces should be translated to '+' or '%20'.
A value of true if space should be translated to '+'; otherwise, false.
-
+
Gets or sets a value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs)
A value of true if Rfc3986; otherwise, false for legacy Rfc2396.
-
+
Gets or sets a value whether escaping be done according to the old NLog style (Very non-standard)
A value of true if legacy encoding; otherwise, false for standard UTF8 encoding.
-
+
-
- Transforms the output of another layout.
-
- Output to be transform.
- Transformed text.
+
+
+
+
@@ -13777,7 +13859,7 @@
Gets or sets the layout to be rendered when original layout produced empty result.
-
+
@@ -13785,7 +13867,7 @@
-
+
@@ -13797,33 +13879,25 @@
Gets or sets the condition that must be met for the layout to be printed.
-
+
If is not met, print this layout.
-
+
-
+
-
-
-
Replaces newline characters from the result of another layout renderer with spaces.
-
-
- Initializes a new instance of the class.
-
-
Gets or sets the line length for wrapping.
@@ -13831,14 +13905,10 @@
Only positive values are allowed
-
+
-
- Post-processes the rendered message.
-
- The text to be post-processed.
- Post-processed text.
+
@@ -13857,23 +13927,13 @@
[DefaultParameter] so Inner: is not required if it's the first
-
-
-
-
- Notify when has been changed
-
- Change to private protected in C# 7.3
+
-
- Renders the inner message, processes it and appends it to the specified .
-
- The to append the rendered data to.
- Logging event.
+
@@ -13916,11 +13976,7 @@
-
- Transforms the output of another layout.
-
-
- Output to be transform.
+
@@ -13936,41 +13992,28 @@
for the result
-
-
-
-
-
+
-
-
-
-
-
+
Converts the result of another layout output to be XML-compliant.
-
-
- Initializes a new instance of the class.
-
-
- Gets or sets a value indicating whether to apply XML encoding.
+ Gets or sets whether output should be encoded with Xml-string escaping.
Ensures always valid XML, but gives a performance hit
-
+
Gets or sets a value indicating whether to transform newlines (\r\n) into (
)
-
+
@@ -13982,6 +14025,10 @@
A layout containing one or more nested layouts.
+
+ See NLog Wiki
+
+ Documentation on NLog Wiki
@@ -13995,34 +14042,19 @@
-
- Initializes the layout.
-
+
-
- Formats the log event relying on inner layouts.
-
- The log event to be formatted.
- A string representation of the log event.
+
-
- Formats the log event relying on inner layouts.
-
- The logging event.
- for the result
+
-
- Closes the layout.
-
+
-
- Generate description of Compound Layout
-
- Compound Layout String Description
+
@@ -14045,13 +14077,13 @@
Gets or sets the name of the column.
-
+
Gets or sets the layout of the column.
-
+
@@ -14060,7 +14092,7 @@
and are faster than the default
-
+
@@ -14106,7 +14138,13 @@
A specialized layout that renders CSV-formatted events.
- If is set, then the header generation with columnnames will be disabled.
+
+
+ If is set, then the header generation with column names will be disabled.
+
+ See NLog Wiki
+
+ Documentation on NLog Wiki
@@ -14117,57 +14155,47 @@
Gets the array of parameters to be passed.
-
+
Gets or sets a value indicating whether CVS should include header.
A value of true if CVS should include header; otherwise, false.
-
+
Gets or sets the column delimiter.
-
+
Gets or sets the quoting mode.
-
+
Gets or sets the quote Character.
-
+
Gets or sets the custom column delimiter value (valid when ColumnDelimiter is set to 'Custom').
-
+
-
- Initializes the layout.
-
+
-
- Formats the log event for write.
-
- The log event to be formatted.
- A string representation of the log event.
+
-
- Formats the log event for write.
-
- The logging event.
- for the result
+
@@ -14186,25 +14214,17 @@
The parent.
+
+
+
-
- Renders the layout for the specified logging event by invoking layout renderers.
-
- The logging event.
- The rendered layout.
+
-
- Renders the layout for the specified logging event by invoking layout renderers.
-
- The logging event.
- for the result
+
-
- Generate description of CSV Layout
-
- CSV Layout String Description
+
@@ -14226,6 +14246,45 @@
Quote only whose values contain the quote symbol or the separator (Slow)
+
+
+ A specialized layout that renders LogEvent as JSON-Array
+
+
+ See NLog Wiki
+
+ Documentation on NLog Wiki
+
+
+
+ Gets the array of items to include in JSON-Array
+
+
+
+
+
+ Gets or sets the option to suppress the extra spaces in the output json
+
+
+
+
+
+ Gets or sets the option to render the empty object value {}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
JSON attribute.
@@ -14255,36 +14314,61 @@
Gets or sets the name of the attribute.
-
+
Gets or sets the layout that will be rendered as the attribute's value.
-
+
+
+
+
+ Gets or sets the result value type, for conversion of layout rendering output
+
+
+
+
+
+ Gets or sets the fallback value when result value is not available
+
+
- Determines whether or not this attribute will be Json encoded.
+ Gets or sets whether output should be encoded as Json-String-Property, or be treated as valid json.
-
+
Gets or sets a value indicating whether to escape non-ascii characters
-
+
+
+
+
+ Should forward slashes be escaped? If true, / will be converted to \/
+
+
+ If not set explicitly then the value of the parent will be used as default.
+
+
Gets or sets whether an attribute with empty value should be included in the output
-
+
A specialized layout that renders JSON-formatted events.
+
+ See NLog Wiki
+
+ Documentation on NLog Wiki
@@ -14295,85 +14379,103 @@
Gets the array of attributes' configurations.
-
+
Gets or sets the option to suppress the extra spaces in the output json
-
+
Gets or sets the option to render the empty object value {}
-
+
+
+
+
+ Auto indent and create new lines
+
+
+
+
+
+ Gets or sets the option to include all properties from the log event (as JSON)
+
+
Gets or sets a value indicating whether to include contents of the dictionary.
-
+
-
+
- Gets or sets a value indicating whether to include contents of the dictionary.
+ Gets or sets whether to include the contents of the dictionary.
-
-
-
-
- Gets or sets a value indicating whether to include contents of the dictionary.
-
-
+
Gets or sets the option to include all properties from the log event (as JSON)
-
+
+
+
+
+ Gets or sets a value indicating whether to include contents of the dictionary.
+
+
+
+
+
+ Gets or sets a value indicating whether to include contents of the dictionary.
+
+
+
+
+
+ Gets or sets the option to exclude null/empty properties from the log event (as JSON)
+
+
List of property names to exclude when is true
-
+
How far should the JSON serializer follow object references before backing off
-
+
+
+
+
+ Should forward slashes be escaped? If true, / will be converted to \/
+
+
+ If not set explicitly then the value of the parent will be used as default.
+
+
-
- Initializes the layout.
-
+
-
- Closes the layout.
-
+
-
- Formats the log event as a JSON document for writing.
-
- The logging event.
- for the result
+
-
- Formats the log event as a JSON document for writing.
-
- The log event to be formatted.
- A JSON string representation of the log event.
+
-
- Generate description of JSON Layout
-
- JSON Layout String Description
+
@@ -14418,7 +14520,7 @@
Implicitly converts the specified string to a .
The layout string.
- Instance of .
+ Instance of .'
@@ -14428,6 +14530,22 @@
The NLog factories to use when resolving layout renderers.
Instance of .
+
+
+ Implicitly converts the specified string to a .
+
+ The layout string.
+ Whether should be thrown on parse errors (false = replace unrecognized tokens with a space).
+ Instance of .
+
+
+
+ Create a from a lambda method.
+
+ Method that renders the layout.
+ Tell if method is safe for concurrent threading.
+ Instance of .
+
Precalculates the layout for the specified log event and stores the result
@@ -14444,34 +14562,42 @@
- Renders the event info in layout.
+ Renders formatted output using the log event as context.
- The event info.
- String representing log event.
+ Inside a , is preferred for performance reasons.
+ The logging event.
+ The formatted output as string.
+
+
+
+ Optimized version of that works best when
+ override of is available.
+
+ The logging event.
+ Appends the formatted output to target
- Optimized version of for internal Layouts. Works best
- when override of is available.
+ Optimized version of that works best when
+ override of is available.
- The event info.
+ The logging event.
Appends the string representing log event to target
Should rendering result be cached on LogEventInfo
-
+
Valid default implementation of , when having implemented the optimized
The logging event.
- StringBuilder to help minimize allocations [optional].
The rendered layout.
- Renders the layout for the specified logging event by invoking layout renderers.
+ Renders formatted output using the log event as context.
The logging event.
- for the result
+ Appends the formatted output to target
@@ -14507,10 +14633,10 @@
- Renders the layout for the specified logging event by invoking layout renderers.
+ Renders formatted output using the log event as context.
The logging event.
- The rendered layout.
+ The formatted output.
@@ -14542,16 +14668,22 @@
rawValue if return result is true
false if we could not determine the rawValue
+
+
+ Resolve from DI
+
+ Avoid calling this while handling a LogEvent, since random deadlocks can occur
+
- Marks class as a layout renderer and assigns a format string to it.
+ Marks class as Layout and attaches a type-alias name for use in NLog configuration.
Initializes a new instance of the class.
- Layout name.
+ The Layout type-alias for use in NLog configuration.
@@ -14565,6 +14697,26 @@
+
+
+ Options available for
+
+
+
+
+ Default options
+
+
+
+
+ Layout renderer method can handle concurrent threads
+
+
+
+
+ Layout renderer method is agnostic to current thread context. This means it will render the same result independent of thread-context.
+
+
A specialized layout that supports header and footer.
@@ -14589,26 +14741,22 @@
-
- Renders the layout for the specified logging event by invoking layout renderers.
-
- The logging event.
- The rendered layout.
+
-
- Renders the layout for the specified logging event by invoking layout renderers.
-
- The logging event.
- for the result.
+
A specialized layout that renders Log4j-compatible XML events.
+
This layout is not meant to be used explicitly. Instead you can use ${log4jxmlevent} layout renderer.
+
+ See NLog Wiki
+ Documentation on NLog Wiki
@@ -14625,72 +14773,104 @@
Gets the collection of parameters. Each parameter contains a mapping
between NLog layout and a named parameter.
-
+
-
+
- Gets or sets a value indicating whether to include contents of the dictionary.
+ Gets or sets the option to include all properties from the log events
-
+
+
+
+
+ Gets or sets whether to include the contents of the properties-dictionary.
+
+
+
+
+
+ Gets or sets whether to include log4j:NDC in output from nested context.
+
+
Gets or sets the option to include all properties from the log events
-
+
+
+
+
+ Gets or sets a value indicating whether to include contents of the dictionary.
+
+
- Gets or sets a value indicating whether to include contents of the stack.
+ Gets or sets whether to include log4j:NDC in output from nested context.
-
+
Gets or sets a value indicating whether to include contents of the dictionary.
-
+
Gets or sets a value indicating whether to include contents of the stack.
-
+
+
+
+
+ Gets or sets the log4j:event logger-xml-attribute (Default ${logger})
+
+
+
+
+
+ Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain.
+
+
+
+
+
+ Gets or sets whether the log4j:throwable xml-element should be written as CDATA
+
+
Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network.
-
+
Gets or sets a value indicating whether to include source info (file name and line number) in the information sent over the network.
-
+
-
- Renders the layout for the specified logging event by invoking layout renderers.
-
- The logging event.
- The rendered layout.
+
-
- Renders the layout for the specified logging event by invoking layout renderers.
-
- The logging event.
- for the result
+
Represents a string with embedded placeholders that can render contextual information.
+
This layout is not meant to be used explicitly. Instead you can just use a string containing layout
renderers everywhere the layout is required.
+
+ See NLog Wiki
+ Documentation on NLog Wiki
@@ -14710,6 +14890,14 @@
The layout string to parse.
The NLog factories to use when creating references to layout renderers.
+
+
+ Initializes a new instance of the class.
+
+ The layout string to parse.
+ The NLog factories to use when creating references to layout renderers.
+ Whether should be thrown on parse errors.
+
Original text before compile to Layout renderes
@@ -14741,6 +14929,11 @@
Gets a collection of objects that make up this layout.
+
+
+ Gets a collection of objects that make up this layout.
+
+
Gets the level of stack trace information required for rendering.
@@ -14786,27 +14979,180 @@
values provided by the appropriate layout renderers.
-
- Returns a that represents the current object.
-
-
- A that represents the current object.
-
+
-
+
-
+
-
+
-
+
-
+
+
+
+
+ Typed Layout for easy conversion from NLog Layout logic to a simple value (ex. integer or enum)
+
+
+
+
+
+ Is fixed value?
+
+
+
+
+ Fixed value
+
+
+
+
+ Initializes a new instance of the class.
+
+ Dynamic NLog Layout
+
+
+
+ Initializes a new instance of the class.
+
+ Dynamic NLog Layout
+ Format used for parsing string-value into result value type
+ Culture used for parsing string-value into result value type
+
+
+
+ Initializes a new instance of the class.
+
+ Fixed value
+
+
+
+ Render Value
+
+ Log event for rendering
+ Fallback value when no value available
+ Result value when available, else fallback to defaultValue
+
+
+
+ Renders the value and converts the value into string format
+
+
+ Only to implement abstract method from , and only used when calling
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Implements Equals using
+
+
+
+
+
+
+
+ Converts a given value to a .
+
+ Text to be converted.
+
+
+
+ Converts a given text to a .
+
+ Text to be converted.
+
+
+
+ Implements the operator == using
+
+
+
+
+ Implements the operator != using
+
+
+
+
+ Provides access to untyped value without knowing underlying generic type
+
+
+
+
+ Typed Value that is easily configured from NLog.config file
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets the layout that will render the result value
+
+
+
+
+
+ Gets or sets the result value type, for conversion of layout rendering output
+
+
+
+
+
+ Gets or sets the fallback value when result value is not available
+
+
+
+
+
+ Gets or sets the fallback value should be null (instead of default value of ) when result value is not available
+
+
+
+
+
+ Gets or sets format used for parsing parameter string-value for type-conversion
+
+
+
+
+
+ Gets or sets the culture used for parsing parameter string-value for type-conversion
+
+
+
+
+
+ Render Result Value
+
+ Log event for rendering
+ Result value when available, else fallback to defaultValue
@@ -14837,25 +15183,37 @@
Gets or sets the name of the attribute.
-
+
Gets or sets the layout that will be rendered as the attribute's value.
-
+
+
+
+
+ Gets or sets the result value type, for conversion of layout rendering output
+
+
+
+
+
+ Gets or sets the fallback value when result value is not available
+
+
- Determines whether or not this attribute will be Xml encoded.
+ Gets or sets whether output should be encoded with Xml-string escaping, or be treated as valid xml-attribute-value
-
+
Gets or sets whether an attribute with empty value should be included in the output
-
+
@@ -14863,25 +15221,34 @@
-
+
-
+
Name of the element
+
Value inside the element
+
+
+
+
+ Value inside the element
+
+
- Determines whether or not this attribute will be Xml encoded.
+ Gets or sets whether output should be encoded with Xml-string escaping, or be treated as valid xml-element-value
+
@@ -14900,69 +15267,72 @@
Name of the XML element
Upgrade to private protected when using C# 7.2
-
-
+
Value inside the XML element
Upgrade to private protected when using C# 7.2
-
-
-
-
- Xml Encode the value for the XML element
-
- Ensures always valid XML, but gives a performance hit
-
Auto indent and create new lines
-
+
Gets the array of xml 'elements' configurations.
-
+
Gets the array of 'attributes' configurations for the element
-
+
Gets or sets whether a ElementValue with empty value should be included in the output
-
+
+
+
+
+ Gets or sets the option to include all properties from the log event (as XML)
+
+
+
+
+
+ Gets or sets whether to include the contents of the dictionary.
+
+
Gets or sets a value indicating whether to include contents of the dictionary.
-
+
Gets or sets a value indicating whether to include contents of the dictionary.
-
+
Gets or sets the option to include all properties from the log event (as XML)
-
+
List of property names to exclude when is true
-
+
@@ -14973,7 +15343,7 @@
Skips closing element tag when having configured
-
+
@@ -14984,7 +15354,7 @@
Will replace newlines in attribute-value with
-
+
@@ -14998,38 +15368,28 @@
Will replace newlines in attribute-value with
-
+
XML element name to use for rendering IList-collections items
-
+
How far should the XML serializer follow object references before backing off
-
+
-
- Initializes the layout.
-
+
-
- Formats the log event as a XML document for writing.
-
- The logging event.
- for the result
+
-
- Formats the log event as a XML document for writing.
-
- The log event to be formatted.
- A XML string representation of the log event.
+
@@ -15041,15 +15401,16 @@
rendered
-
- Generate description of XML Layout
-
- XML Layout String Description
+
A specialized layout that renders XML-formatted events.
+
+ See NLog Wiki
+
+ Documentation on NLog Wiki
@@ -15057,25 +15418,169 @@
-
+
Name of the root XML element
-
+
Value inside the root XML element
-
+
Determines whether or not this attribute will be Xml encoded.
-
+
+
+
+
+ Extensions for NLog .
+
+
+
+
+ Renders the logevent into a result-value by using the provided layout
+
+ Inside a , is preferred for performance reasons.
+
+ The layout.
+ The logevent info.
+ Fallback value when no value available
+ Result value when available, else fallback to defaultValue
+
+
+
+ A fluent builder for logging events to NLog.
+
+
+
+
+ Initializes a new instance of the class.
+
+ The to send the log event.
+
+
+
+ Initializes a new instance of the class.
+
+ The to send the log event.
+ The log level. LogEvent is only created when is enabled for
+
+
+
+ The logger to write the log event to
+
+
+
+
+ Logging event that will be written
+
+
+
+
+ Sets a per-event context property on the logging event.
+
+ The name of the context property.
+ The value of the context property.
+
+
+
+ Sets multiple per-event context properties on the logging event.
+
+ The properties to set.
+
+
+
+ Sets the information of the logging event.
+
+ The exception information of the logging event.
+
+
+
+ Sets the timestamp of the logging event.
+
+ The timestamp of the logging event.
+
+
+
+ Sets the log message on the logging event.
+
+ A to be written.
+
+
+
+ Sets the log message and parameters for formatting for the logging event.
+
+ The type of the argument.
+ A containing one format item.
+ The argument to format.
+
+
+
+ Sets the log message and parameters for formatting on the logging event.
+
+ The type of the first argument.
+ The type of the second argument.
+ A containing format items.
+ The first argument to format.
+ The second argument to format.
+
+
+
+ Sets the log message and parameters for formatting on the logging event.
+
+ The type of the first argument.
+ The type of the second argument.
+ The type of the third argument.
+ A containing format items.
+ The first argument to format.
+ The second argument to format.
+ The third argument to format.
+
+
+
+ Sets the log message and parameters for formatting on the logging event.
+
+ A containing format items.
+ Arguments to format.
+
+
+
+ Sets the log message and parameters for formatting on the logging event.
+
+ An object that supplies culture-specific formatting information.
+ A containing format items.
+ Arguments to format.
+
+
+
+ Writes the log event to the underlying logger.
+
+ The class of the caller to the method. This is captured by the NLog engine when necessary
+ The method or property name of the caller to the method. This is set at by the compiler.
+ The full path of the source file that contains the caller. This is set at by the compiler.
+ The line number in the source file at which the method is called. This is set at by the compiler.
+
+
+
+ Writes the log event to the underlying logger.
+
+ The log level. Optional but when assigned to then it will discard the LogEvent.
+ The method or property name of the caller to the method. This is set at by the compiler.
+ The full path of the source file that contains the caller. This is set at by the compiler.
+ The line number in the source file at which the method is called. This is set at by the compiler.
+
+
+
+ Writes the log event to the underlying logger.
+
+ Type of custom Logger wrapper.
@@ -15107,7 +15612,7 @@
Initializes a new instance of the class.
Log level.
- Logger name.
+ Override default Logger name. Default is used when null
Log message including parameter placeholders.
@@ -15115,16 +15620,25 @@
Initializes a new instance of the class.
Log level.
- Logger name.
+ Override default Logger name. Default is used when null
Log message including parameter placeholders.
- Log message including parameter placeholders.
+ Already parsed message template parameters.
+
+
+
+ Initializes a new instance of the class.
+
+ Log level.
+ Override default Logger name. Default is used when null
+ Log message.
+ List of event-properties
Initializes a new instance of the class.
Log level.
- Logger name.
+ Override default Logger name. Default is used when null
An IFormatProvider that supplies culture-specific formatting information.
Log message including parameter placeholders.
Parameter array.
@@ -15134,7 +15648,7 @@
Initializes a new instance of the class.
Log level.
- Logger name.
+ Override default Logger name. Default is used when null
An IFormatProvider that supplies culture-specific formatting information.
Log message including parameter placeholders.
Parameter array.
@@ -15207,12 +15721,6 @@
Gets or sets the logger name.
-
-
- Gets the logger short name.
-
- This property was marked as obsolete on NLog 2.0 and it may be removed in a future release.
-
Gets or sets the log message including any parameter placeholders.
@@ -15264,12 +15772,6 @@
Gets the named parameters extracted from parsing as MessageTemplate
-
-
- Gets the dictionary of per-event context properties.
-
- This property was marked as obsolete on NLog 2.0 and it may be removed in a future release.
-
Creates the null event.
@@ -15281,7 +15783,7 @@
Creates the log event.
The log level.
- Name of the logger.
+ Override default Logger name. Default is used when null
The message.
Instance of .
@@ -15290,7 +15792,7 @@
Creates the log event.
The log level.
- Name of the logger.
+ Override default Logger name. Default is used when null
The format provider.
The message.
The parameters.
@@ -15301,28 +15803,17 @@
Creates the log event.
The log level.
- Name of the logger.
+ Override default Logger name. Default is used when null
The format provider.
The message.
Instance of .
-
-
- Creates the log event.
-
- The log level.
- Name of the logger.
- The message.
- The exception.
- Instance of .
- This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release.
-
Creates the log event.
The log level.
- Name of the logger.
+ Override default Logger name. Default is used when null
The exception.
The format provider.
The message.
@@ -15333,7 +15824,7 @@
Creates the log event.
The log level.
- Name of the logger.
+ Override default Logger name. Default is used when null
The exception.
The format provider.
The message.
@@ -15358,7 +15849,7 @@
Sets the stack trace for the event info.
The stack trace.
- Index of the first user stack frame within the stack trace.
+ Index of the first user stack frame within the stack trace (Negative means NLog should skip stackframes from System-assemblies).
@@ -15369,16 +15860,11 @@
-
-
- Set the
-
- true = Always, false = Never, null = Auto Detect
-
Specialized LogFactory that can return instances of custom logger types.
+ Use this only when a custom Logger type is defined.
The type of the logger to be returned. Must inherit from .
@@ -15390,7 +15876,7 @@
- Gets a custom logger with the name of the current class and type .
+ Gets a custom logger with the full name of the current class (so namespace and class name) and type .
An instance of .
This is a slow-running method.
@@ -15438,11 +15924,12 @@
The config.
-
+
Initializes a new instance of the class.
The config loader
+ The custom AppEnvironmnet override
@@ -15464,21 +15951,32 @@
A value of true if exception should be thrown; otherwise, false.
- This option is for backwards-compatiblity.
+ This option is for backwards-compatibility.
By default exceptions are not thrown under any circumstances.
Gets or sets a value indicating whether Variables should be kept on configuration reload.
- Default value - false.
+
+
+
+
+ Gets or sets a value indicating whether to automatically call
+ on AppDomain.Unload or AppDomain.ProcessExit
- Gets or sets the current logging configuration. After setting this property all
- existing loggers will be re-configured, so there is no need to call
- manually.
+ Gets or sets the current logging configuration.
+
+
+ Setter will re-configure all -objects, so no need to also call
+
+
+
+
+ Repository of interfaces used by NLog to allow override for dependency injection
@@ -15488,7 +15986,7 @@
- Gets the default culture info to use as .
+ Gets or sets the default culture info to use as .
Specific culture info or null to use
@@ -15500,6 +15998,16 @@
unmanaged resources.
+
+
+ Begins configuration of the LogFactory options using fluent interface
+
+
+
+
+ Begins configuration of the LogFactory options using fluent interface
+
+
Creates a logger that discards all log messages.
@@ -15508,29 +16016,33 @@
- Gets the logger with the name of the current class.
+ Gets the logger with the full name of the current class, so namespace and class name.
The logger.
- This is a slow-running method.
- Make sure you're not doing this in a loop.
+ This method introduces performance hit, because of StackTrace capture.
+ Make sure you are not calling this method in a loop.
- Gets the logger with the name of the current class.
+ Gets the logger with the full name of the current class, so namespace and class name.
+ Use to create instance of a custom .
+ If you haven't defined your own class, then use the overload without the type parameter.
The logger with type .
Type of the logger
- This is a slow-running method.
- Make sure you're not doing this in a loop.
+ This method introduces performance hit, because of StackTrace capture.
+ Make sure you are not calling this method in a loop.
- Gets a custom logger with the name of the current class. Use to pass the type of the needed Logger.
+ Gets a custom logger with the full name of the current class, so namespace and class name.
+ Use to create instance of a custom .
+ If you haven't defined your own class, then use the overload without the loggerType.
The type of the logger to create. The type must inherit from
The logger of type .
- This is a slow-running method. Make sure you are not calling this method in a
- loop.
+ This method introduces performance hit, because of StackTrace capture.
+ Make sure you are not calling this method in a loop.
@@ -15543,6 +16055,8 @@
Gets the specified named logger.
+ Use to create instance of a custom .
+ If you haven't defined your own class, then use the overload without the type parameter.
Name of the logger.
Type of the logger
@@ -15551,7 +16065,9 @@
- Gets the specified named logger. Use to pass the type of the needed Logger.
+ Gets the specified named logger.
+ Use to create instance of a custom .
+ If you haven't defined your own class, then use the overload without the loggerType.
Name of the logger.
The type of the logger to create. The type must inherit from .
@@ -15565,6 +16081,14 @@
to ensure that all loggers have been properly configured.
+
+
+ Loops through all loggers previously returned by GetLogger and recalculates their
+ target and filter list. Useful after modifying the configuration programmatically
+ to ensure that all loggers have been properly configured.
+
+ Purge garbage collected logger-items from the cache
+
Flush any pending log messages (in case of asynchronous targets) with the default timeout of 15 seconds.
@@ -15605,56 +16129,45 @@
The asynchronous continuation.
Maximum time to allow for the flush. Any messages after that time will be discarded.
-
+
- Decreases the log enable counter and if it reaches -1 the logs are disabled.
+ Flushes any pending log messages on all appenders.
-
- Logging is enabled if the number of calls is greater than
- or equal to calls.
-
- This method was marked as obsolete on NLog 4.0 and it may be removed in a future release.
-
- An object that implements IDisposable whose Dispose() method re-enables logging.
- To be used with C# using () statement.
-
-
-
- Increases the log enable counter and if it reaches 0 the logs are disabled.
-
-
- Logging is enabled if the number of calls is greater than
- or equal to calls.
-
- This method was marked as obsolete on NLog 4.0 and it may be removed in a future release.
-
+ Config containing Targets to Flush
+ Flush completed notification (success / timeout)
+ Optional timeout that guarantees that completed notification is called.
+
- Decreases the log enable counter and if it reaches -1 the logs are disabled.
+ Suspends the logging, and returns object for using-scope so scope-exit calls
- Logging is enabled if the number of calls is greater than
- or equal to calls.
+ Logging is suspended when the number of calls are greater
+ than the number of calls.
An object that implements IDisposable whose Dispose() method re-enables logging.
To be used with C# using () statement.
- Increases the log enable counter and if it reaches 0 the logs are disabled.
+ Resumes logging if having called .
- Logging is enabled if the number of calls is greater
- than or equal to calls.
+
+ Logging is suspended when the number of calls are greater
+ than the number of calls.
+
Returns if logging is currently enabled.
+
+ Logging is suspended when the number of calls are greater
+ than the number of calls.
+
A value of if logging is currently enabled,
otherwise.
- Logging is enabled if the number of calls is greater
- than or equal to calls.
@@ -15670,7 +16183,7 @@
- Currently this logfactory is disposing?
+ Currently this is disposing?
@@ -15680,17 +16193,28 @@
True to release both managed and unmanaged resources;
false to release only unmanaged resources.
+
+
+ Dispose all targets, and shutdown logging.
+
+
Get file paths (including filename) for the possible NLog config files.
- The filepaths to the possible config file
+ The file paths to the possible config file
+
+
+
+ Get file paths (including filename) for the possible NLog config files.
+
+ The file paths to the possible config file
- Overwrite the paths (including filename) for the possible NLog config files.
+ Overwrite the candidates paths (including filename) for the possible NLog config files.
- The filepaths to the possible config file
+ The file paths to the possible config file
@@ -15713,9 +16237,6 @@
Serves as a hash function for a particular type.
-
- A hash code for the current .
-
@@ -15743,6 +16264,11 @@
+
+
+ Loops through all cached loggers and removes dangling loggers that have been garbage collected.
+
+
Internal for unit tests
@@ -16456,14 +16982,6 @@
A function returning message to be written. Function is not evaluated if logging is not enabled.
-
-
- Writes the diagnostic message and exception at the Trace level.
-
- A to be written.
- An exception to be logged.
- This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release.
-
Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider.
@@ -16485,14 +17003,6 @@
A containing format items.
Arguments to format.
-
-
- Writes the diagnostic message and exception at the Trace level.
-
- A to be written.
- An exception to be logged.
- This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release.
-
Writes the diagnostic message and exception at the Trace level.
@@ -16604,14 +17114,6 @@
A function returning message to be written. Function is not evaluated if logging is not enabled.
-
-
- Writes the diagnostic message and exception at the Debug level.
-
- A to be written.
- An exception to be logged.
- This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release.
-
Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider.
@@ -16633,14 +17135,6 @@
A containing format items.
Arguments to format.
-
-
- Writes the diagnostic message and exception at the Debug level.
-
- A to be written.
- An exception to be logged.
- This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release.
-
Writes the diagnostic message and exception at the Debug level.
@@ -16752,14 +17246,6 @@
A function returning message to be written. Function is not evaluated if logging is not enabled.
-
-
- Writes the diagnostic message and exception at the Info level.
-
- A to be written.
- An exception to be logged.
- This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release.
-
Writes the diagnostic message at the Info level using the specified parameters and formatting them with the supplied format provider.
@@ -16781,14 +17267,6 @@
A containing format items.
Arguments to format.
-
-
- Writes the diagnostic message and exception at the Info level.
-
- A to be written.
- An exception to be logged.
- This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release.
-
Writes the diagnostic message and exception at the Info level.
@@ -16900,14 +17378,6 @@
A function returning message to be written. Function is not evaluated if logging is not enabled.
-
-
- Writes the diagnostic message and exception at the Warn level.
-
- A to be written.
- An exception to be logged.
- This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release.
-
Writes the diagnostic message at the Warn level using the specified parameters and formatting them with the supplied format provider.
@@ -16929,14 +17399,6 @@
A containing format items.
Arguments to format.
-
-
- Writes the diagnostic message and exception at the Warn level.
-
- A to be written.
- An exception to be logged.
- This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release.
-
Writes the diagnostic message and exception at the Warn level.
@@ -17048,14 +17510,6 @@
A function returning message to be written. Function is not evaluated if logging is not enabled.
-
-
- Writes the diagnostic message and exception at the Error level.
-
- A to be written.
- An exception to be logged.
- This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release.
-
Writes the diagnostic message at the Error level using the specified parameters and formatting them with the supplied format provider.
@@ -17077,14 +17531,6 @@
A containing format items.
Arguments to format.
-
-
- Writes the diagnostic message and exception at the Error level.
-
- A to be written.
- An exception to be logged.
- This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release.
-
Writes the diagnostic message and exception at the Error level.
@@ -17196,14 +17642,6 @@
A function returning message to be written. Function is not evaluated if logging is not enabled.
-
-
- Writes the diagnostic message and exception at the Fatal level.
-
- A to be written.
- An exception to be logged.
- This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release.
-
Writes the diagnostic message at the Fatal level using the specified parameters and formatting them with the supplied format provider.
@@ -17225,14 +17663,6 @@
A containing format items.
Arguments to format.
-
-
- Writes the diagnostic message and exception at the Fatal level.
-
- A to be written.
- An exception to be logged.
- This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release.
-
Writes the diagnostic message and exception at the Fatal level.
@@ -18925,6 +19355,24 @@
A containing one format item.
The argument to format.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Initializes a new instance of the class.
@@ -18964,28 +19412,83 @@
Creates new logger that automatically appends the specified property to all log events (without changing current logger)
+
+ With property, all properties can be enumerated.
Property Name
Property Value
New Logger object that automatically appends specified property
+
+
+ Creates new logger that automatically appends the specified properties to all log events (without changing current logger)
+
+ With property, all properties can be enumerated.
+
+ Collection of key-value pair properties
+ New Logger object that automatically appends specified properties
+
Updates the specified context property for the current logger. The logger will append it for all log events.
- It could be rendered with ${event-properties:YOURNAME}
-
- With property, all properties could be changed.
+ With property, all properties can be enumerated (or updated).
- Will affect all locations/contexts that makes use of the same named logger object.
+ It is highly recommended to ONLY use for modifying context properties.
+ This method will affect all locations/contexts that makes use of the same named logger object. And can cause
+ unexpected surprises at multiple locations and other thread contexts.
Property Name
Property Value
-
- It is recommended to use for modifying context properties
- when same named logger is used at multiple locations or shared by different thread contexts.
-
+
+
+
+ Updates the with provided property
+
+ Name of property
+ Value of property
+ A disposable object that removes the properties from logical context scope on dispose.
+ property-dictionary-keys are case-insensitive
+
+
+
+ Updates the with provided property
+
+ Name of property
+ Value of property
+ A disposable object that removes the properties from logical context scope on dispose.
+ property-dictionary-keys are case-insensitive
+
+
+
+ Updates the with provided properties
+
+ Properties being added to the scope dictionary
+ A disposable object that removes the properties from logical context scope on dispose.
+ property-dictionary-keys are case-insensitive
+
+
+
+ Updates the with provided properties
+
+ Properties being added to the scope dictionary
+ A disposable object that removes the properties from logical context scope on dispose.
+ property-dictionary-keys are case-insensitive
+
+
+
+ Pushes new state on the logical context scope stack
+
+ Value to added to the scope stack
+ A disposable object that pops the nested scope state on dispose.
+
+
+
+ Pushes new state on the logical context scope stack
+
+ Value to added to the scope stack
+ A disposable object that pops the nested scope state on dispose.
@@ -18997,7 +19500,7 @@
Writes the specified diagnostic message.
- The name of the type that wraps Logger.
+ Type of custom Logger wrapper.
Log event.
@@ -19027,15 +19530,6 @@
The log level.
A function returning message to be written. Function is not evaluated if logging is not enabled.
-
-
- Writes the diagnostic message and exception at the specified level.
-
- The log level.
- A to be written.
- An exception to be logged.
- This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release.
-
Writes the diagnostic message at the specified level using the specified parameters and formatting them with the supplied format provider.
@@ -19060,33 +19554,24 @@
A containing format items.
Arguments to format.
-
-
- Writes the diagnostic message and exception at the specified level.
-
- The log level.
- A to be written.
- An exception to be logged.
- This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release.
-
Writes the diagnostic message and exception at the specified level.
The log level.
+ An exception to be logged.
A to be written.
Arguments to format.
- An exception to be logged.
Writes the diagnostic message and exception at the specified level.
The log level.
+ An exception to be logged.
An IFormatProvider that supplies culture-specific formatting information.
A to be written.
Arguments to format.
- An exception to be logged.
@@ -19182,6 +19667,45 @@
Fallback value to return in case of exception.
Result returned by the provided function or fallback value in case of exception.
+
+
+ Logs an exception is logged at Error level if the provided task does not run to completion.
+
+ The task for which to log an error if it does not run to completion.
+ This method is useful in fire-and-forget situations, where application logic does not depend on completion of task. This method is avoids C# warning CS4014 in such situations.
+
+
+
+ Returns a task that completes when a specified task to completes. If the task does not run to completion, an exception is logged at Error level. The returned task always runs to completion.
+
+ The task for which to log an error if it does not run to completion.
+ A task that completes in the state when completes.
+
+
+
+ Runs async action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method.
+
+ Async action to execute.
+
+
+
+ Runs the provided async function and returns its result. If the task does not run to completion, an exception is logged at Error level.
+ The exception is not propagated outside of this method; a default value is returned instead.
+
+ Return type of the provided function.
+ Async function to run.
+ A task that represents the completion of the supplied task. If the supplied task ends in the state, the result of the new task will be the result of the supplied task; otherwise, the result of the new task will be the default value of type .
+
+
+
+ Runs the provided async function and returns its result. If the task does not run to completion, an exception is logged at Error level.
+ The exception is not propagated outside of this method; a fallback value is returned instead.
+
+ Return type of the provided function.
+ Async function to run.
+ Fallback value to return if the task does not end in the state.
+ A task that represents the completion of the supplied task. If the supplied task ends in the state, the result of the new task will be the result of the supplied task; otherwise, the result of the new task will be the fallback value.
+
Raises the event when the logger is reconfigured.
@@ -19193,83 +19717,80 @@
Implementation of logging engine.
-
-
- Finds first user stack frame in a stack trace
-
- The stack trace of the logging method invocation
- Type of the logger or logger wrapper. This is still Logger if it's a subclass of Logger.
- Index of the first user stack frame or 0 if all stack frames are non-user
-
-
-
- This is only done for legacy reason, as the correct method-name and line-number should be extracted from the MoveNext-StackFrame
-
- The stack trace of the logging method invocation
- Starting point for skipping async MoveNext-frames
-
-
-
- Assembly to skip?
-
- Find assembly via this frame.
- true, we should skip.
-
-
-
- Is this the type of the logger?
-
- get type of this logger in this frame.
- Type of the logger.
-
-
Gets the filter result.
The filter chain.
The log event.
- default result if there are no filters, or none of the filters decides.
+ default result if there are no filters, or none of the filters decides.
The result of the filter.
Defines available log levels.
+
+ Log levels ordered by severity:
+ - (Ordinal = 0) : Most verbose level. Used for development and seldom enabled in production.
+ - (Ordinal = 1) : Debugging the application behavior from internal events of interest.
+ - (Ordinal = 2) : Information that highlights progress or application lifetime events.
+ - (Ordinal = 3) : Warnings about validation issues or temporary failures that can be recovered.
+ - (Ordinal = 4) : Errors where functionality has failed or have been caught.
+ - (Ordinal = 5) : Most critical level. Application is about to abort.
+
- Trace log level.
+ Trace log level (Ordinal = 0)
+
+ Most verbose level. Used for development and seldom enabled in production.
+
- Debug log level.
+ Debug log level (Ordinal = 1)
+
+ Debugging the application behavior from internal events of interest.
+
- Info log level.
+ Info log level (Ordinal = 2)
+
+ Information that highlights progress or application lifetime events.
+
- Warn log level.
+ Warn log level (Ordinal = 3)
+
+ Warnings about validation issues or temporary failures that can be recovered.
+
- Error log level.
+ Error log level (Ordinal = 4)
+
+ Errors where functionality has failed or have been caught.
+
- Fatal log level.
+ Fatal log level (Ordinal = 5)
+
+ Most critical level. Application is about to abort.
+
- Off log level.
+ Off log level (Ordinal = 6)
@@ -19381,20 +19902,10 @@
Log level name.
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table.
-
+
-
- Determines whether the specified is equal to this instance.
-
- The to compare with this instance.
- Value of true if the specified is equal to
- this instance; otherwise, false.
+
@@ -19408,9 +19919,19 @@
Compares the level to the other object.
-
- The object object.
-
+ The other object.
+
+ A value less than zero when this logger's is
+ less than the other logger's ordinal, 0 when they are equal and
+ greater than zero when this ordinal is greater than the
+ other ordinal.
+
+
+
+
+ Compares the level to the other object.
+
+ The other object.
A value less than zero when this logger's is
less than the other logger's ordinal, 0 when they are equal and
@@ -19422,18 +19943,15 @@
Creates and manages instances of objects.
+
+ LogManager wraps a singleton instance of .
+
Internal for unit tests
-
-
- Delegate used to set/get the culture in use.
-
- This delegate marked as obsolete before NLog 4.3.11 and it may be removed in a future release.
-
Gets the instance used in the .
@@ -19470,13 +19988,30 @@
Gets or sets a value indicating whether Variables should be kept on configuration reload.
- Default value - false.
+
+
+
+
+ Gets or sets a value indicating whether to automatically call
+ on AppDomain.Unload or AppDomain.ProcessExit
Gets or sets the current logging configuration.
-
+
+
+ Setter will re-configure all -objects, so no need to also call
+
+
+
+
+ Begins configuration of the LogFactory options using fluent interface
+
+
+
+
+ Begins configuration of the LogFactory options using fluent interface
@@ -19491,15 +20026,9 @@
Gets or sets the global log threshold. Log events below this threshold are not logged.
-
-
- Gets or sets the default culture to use.
-
- This property was marked as obsolete before NLog 4.3.11 and it may be removed in a future release.
-
- Gets the logger with the name of the current class.
+ Gets the logger with the full name of the current class, so namespace and class name.
The logger.
This is a slow-running method.
@@ -19514,9 +20043,11 @@
- Gets a custom logger with the name of the current class. Use to pass the type of the needed Logger.
+ Gets a custom logger with the full name of the current class, so namespace and class name.
+ Use to create instance of a custom .
+ If you haven't defined your own class, then use the overload without the loggerType.
- The logger class. The class must inherit from .
+ The logger class. This class must inherit from .
The logger of type .
This is a slow-running method.
Make sure you're not doing this in a loop.
@@ -19536,10 +20067,12 @@
- Gets the specified named custom logger. Use to pass the type of the needed Logger.
+ Gets the specified named custom logger.
+ Use to create instance of a custom .
+ If you haven't defined your own class, then use the overload without the loggerType.
Name of the logger.
- The logger class. The class must inherit from .
+ The logger class. This class must inherit from .
The logger of type . Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference.
The generic way for this method is
@@ -19550,6 +20083,14 @@
to ensure that all loggers have been properly configured.
+
+
+ Loops through all loggers previously returned by GetLogger.
+ and recalculates their target and filter list. Useful after modifying the configuration programmatically
+ to ensure that all loggers have been properly configured.
+
+ Purge garbage collected logger-items from the cache
+
Flush any pending log messages (in case of asynchronous targets) with the default timeout of 15 seconds.
@@ -19589,28 +20130,54 @@
- Decreases the log enable counter and if it reaches -1 the logs are disabled.
+ Suspends the logging, and returns object for using-scope so scope-exit calls
- Logging is enabled if the number of calls is greater
- than or equal to calls.
- An object that implements IDisposable whose Dispose() method reenables logging.
- To be used with C# using () statement.
+
+ Logging is suspended when the number of calls are greater
+ than the number of calls.
+
+ An object that implements IDisposable whose Dispose() method re-enables logging.
+ To be used with C# using () statement.
- Increases the log enable counter and if it reaches 0 the logs are disabled.
+ Resumes logging if having called .
- Logging is enabled if the number of calls is greater
- than or equal to calls.
+
+ Logging is suspended when the number of calls are greater
+ than the number of calls.
+
+
+
+
+ Suspends the logging, and returns object for using-scope so scope-exit calls
+
+
+ Logging is suspended when the number of calls are greater
+ than the number of calls.
+
+ An object that implements IDisposable whose Dispose() method re-enables logging.
+ To be used with C# using () statement.
+
+
+
+ Resumes logging if having called .
+
+
+ Logging is suspended when the number of calls are greater
+ than the number of calls.
+
- Checks if logging is currently enabled.
+ Returns if logging is currently enabled.
- if logging is currently enabled,
- otherwise.
- Logging is enabled if the number of calls is greater
- than or equal to calls.
+
+ Logging is suspended when the number of calls are greater
+ than the number of calls.
+
+ A value of if logging is currently enabled,
+ otherwise.
@@ -19631,1176 +20198,6 @@
Log message.
-
-
- Base implementation of a log receiver server which forwards received logs through or a given .
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- The log factory.
-
-
-
- Processes the log messages.
-
- The events to process.
-
-
-
- Processes the log messages.
-
- The log events.
-
-
-
- Service contract for Log Receiver client.
-
- This class marked as obsolete before NLog 4.3.11 and it may be removed in a future release.
-
-
-
- Begins processing of log messages.
-
- The events.
- The callback.
- Asynchronous state.
-
- IAsyncResult value which can be passed to .
-
-
-
-
- Ends asynchronous processing of log messages.
-
- The result.
-
-
-
- Service contract for Log Receiver client.
-
-
-
-
- Begins processing of log messages.
-
- The events.
- The callback.
- Asynchronous state.
-
- IAsyncResult value which can be passed to .
-
-
-
-
- Ends asynchronous processing of log messages.
-
- The result.
-
-
-
- Service contract for Log Receiver server.
-
-
-
-
- Processes the log messages.
-
- The events.
-
-
-
- Service contract for Log Receiver server.
-
-
-
-
- Processes the log messages.
-
- The events.
-
-
-
- Service contract for Log Receiver client.
-
-
-
-
- Begins processing of log messages.
-
- The events.
- The callback.
- Asynchronous state.
-
- IAsyncResult value which can be passed to .
-
-
-
-
- Ends asynchronous processing of log messages.
-
- The result.
-
-
-
- Client of
-
-
-
-
- Occurs when the log message processing has completed.
-
-
-
-
- Occurs when Open operation has completed.
-
-
-
-
- Occurs when Close operation has completed.
-
-
-
-
- Enables the user to configure client and service credentials as well as service credential authentication settings for use on the client side of communication.
-
-
-
-
- Gets the underlying implementation.
-
-
-
-
- Gets the target endpoint for the service to which the WCF client can connect.
-
-
-
-
- Opens the client asynchronously.
-
-
-
-
- Opens the client asynchronously.
-
- User-specific state.
-
-
-
- Closes the client asynchronously.
-
-
-
-
- Closes the client asynchronously.
-
- User-specific state.
-
-
-
- Processes the log messages asynchronously.
-
- The events to send.
-
-
-
- Processes the log messages asynchronously.
-
- The events to send.
- User-specific state.
-
-
-
- Begins processing of log messages.
-
- The events to send.
- The callback.
- Asynchronous state.
-
- IAsyncResult value which can be passed to .
-
-
-
-
- Ends asynchronous processing of log messages.
-
- The result.
-
-
-
- Instructs the inner channel to display a user interface if one is required to initialize the channel prior to using it.
-
-
-
-
- Implementation of which forwards received logs through or a given .
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- The log factory.
-
-
-
- Implementation of which forwards received logs through or a given .
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- The log factory.
-
-
-
- Internal configuration of Log Receiver Service contracts.
-
-
-
-
- Wire format for NLog Event.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets or sets the client-generated identifier of the event.
-
-
-
-
- Gets or sets the ordinal of the log level.
-
-
-
-
- Gets or sets the logger ordinal (index into .
-
- The logger ordinal.
-
-
-
- Gets or sets the time delta (in ticks) between the time of the event and base time.
-
-
-
-
- Gets or sets the message string index.
-
-
-
-
- Gets or sets the collection of layout values.
-
-
-
-
- Gets the collection of indexes into array for each layout value.
-
-
-
-
- Converts the to .
-
- The object this is part of..
- The logger name prefix to prepend in front of the logger name.
- Converted .
-
-
-
- Wire format for NLog event package.
-
-
-
-
- Gets or sets the name of the client.
-
- The name of the client.
-
-
-
- Gets or sets the base time (UTC ticks) for all events in the package.
-
- The base time UTC.
-
-
-
- Gets or sets the collection of layout names which are shared among all events.
-
- The layout names.
-
-
-
- Gets or sets the collection of logger names.
-
- The logger names.
-
-
-
- Gets or sets the list of events.
-
- The events.
-
-
-
- Converts the events to sequence of objects suitable for routing through NLog.
-
- The logger name prefix to prepend in front of each logger name.
-
- Sequence of objects.
-
-
-
-
- Converts the events to sequence of objects suitable for routing through NLog.
-
-
- Sequence of objects.
-
-
-
-
- List of strings annotated for more terse serialization.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Log Receiver Client using WCF.
-
-
- This class marked as obsolete before NLog 4.3.11 and it will be removed in a future release.
-
- It provides an implementation of the legacy interface and it will be completely obsolete when the
- ILogReceiverClient is removed.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- Name of the endpoint configuration.
-
-
-
- Initializes a new instance of the class.
-
- Name of the endpoint configuration.
- The remote address.
-
-
-
- Initializes a new instance of the class.
-
- Name of the endpoint configuration.
- The remote address.
-
-
-
- Initializes a new instance of the class.
-
- The binding.
- The remote address.
-
-
-
- Begins processing of log messages.
-
- The events to send.
- The callback.
- Asynchronous state.
-
- IAsyncResult value which can be passed to .
-
-
-
-
- Ends asynchronous processing of log messages.
-
- The result.
-
-
-
- Log Receiver Client facade. It allows the use either of the one way or two way
- service contract using WCF through its unified interface.
-
-
- Delegating methods are generated with Resharper.
- 1. change ProxiedClient to private field (instead of public property)
- 2. delegate members
- 3. change ProxiedClient back to public property.
-
-
-
-
-
- The client getting proxied
-
-
-
-
- Do we use one-way or two-way messaging?
-
-
-
-
- Initializes a new instance of the class.
-
- Whether to use the one way or two way WCF client.
-
-
-
- Initializes a new instance of the class.
-
- Whether to use the one way or two way WCF client.
- Name of the endpoint configuration.
-
-
-
- Initializes a new instance of the class.
-
- Whether to use the one way or two way WCF client.
- Name of the endpoint configuration.
- The remote address.
-
-
-
- Initializes a new instance of the class.
-
- Whether to use the one way or two way WCF client.
- Name of the endpoint configuration.
- The remote address.
-
-
-
- Initializes a new instance of the class.
-
- Whether to use the one way or two way WCF client.
- The binding.
- The remote address.
-
-
-
- Causes a communication object to transition immediately from its current state into the closed state.
-
-
-
-
- Begins an asynchronous operation to close a communication object.
-
-
- The that references the asynchronous close operation.
-
- The delegate that receives notification of the completion of the asynchronous close operation.An object, specified by the application, that contains state information associated with the asynchronous close operation. was called on an object in the state.The default timeout elapsed before the was able to close gracefully.
-
-
-
- Begins an asynchronous operation to close a communication object with a specified timeout.
-
-
- The that references the asynchronous close operation.
-
- The that specifies how long the send operation has to complete before timing out.The delegate that receives notification of the completion of the asynchronous close operation.An object, specified by the application, that contains state information associated with the asynchronous close operation. was called on an object in the state.The specified timeout elapsed before the was able to close gracefully.
-
-
-
- Begins an asynchronous operation to open a communication object.
-
-
- The that references the asynchronous open operation.
-
- The delegate that receives notification of the completion of the asynchronous open operation.An object, specified by the application, that contains state information associated with the asynchronous open operation.The was unable to be opened and has entered the state.The default open timeout elapsed before the was able to enter the state and has entered the state.
-
-
-
- Begins an asynchronous operation to open a communication object within a specified interval of time.
-
-
- The that references the asynchronous open operation.
-
- The that specifies how long the send operation has to complete before timing out.The delegate that receives notification of the completion of the asynchronous open operation.An object, specified by the application, that contains state information associated with the asynchronous open operation.The was unable to be opened and has entered the state.The specified timeout elapsed before the was able to enter the state and has entered the state.
-
-
-
- Begins processing of log messages.
-
- The events to send.
- The callback.
- Asynchronous state.
-
- IAsyncResult value which can be passed to .
-
-
-
-
- Enables the user to configure client and service credentials as well as service credential authentication settings for use on the client side of communication.
-
-
-
-
- Causes a communication object to transition from its current state into the closed state.
-
- The that specifies how long the send operation has to complete before timing out. was called on an object in the state.The timeout elapsed before the was able to close gracefully.
-
-
-
- Causes a communication object to transition from its current state into the closed state.
-
- was called on an object in the state.The default close timeout elapsed before the was able to close gracefully.
-
-
-
- Closes the client asynchronously.
-
- User-specific state.
-
-
-
- Closes the client asynchronously.
-
-
-
-
- Occurs when Close operation has completed.
-
-
-
-
- Occurs when the communication object completes its transition from the closing state into the closed state.
-
-
-
-
- Occurs when the communication object first enters the closing state.
-
-
-
-
- Instructs the inner channel to display a user interface if one is required to initialize the channel prior to using it.
-
-
-
-
- Completes an asynchronous operation to close a communication object.
-
- The that is returned by a call to the method. was called on an object in the state.The timeout elapsed before the was able to close gracefully.
-
-
-
- Completes an asynchronous operation to open a communication object.
-
- The that is returned by a call to the method.The was unable to be opened and has entered the state.The timeout elapsed before the was able to enter the state and has entered the state.
-
-
-
- Gets the target endpoint for the service to which the WCF client can connect.
-
-
-
-
- Ends asynchronous processing of log messages.
-
- The result.
-
-
-
- Occurs when the communication object first enters the faulted state.
-
-
-
-
- Gets the underlying implementation.
-
-
-
-
- Causes a communication object to transition from the created state into the opened state.
-
- The was unable to be opened and has entered the state.The default open timeout elapsed before the was able to enter the state and has entered the state.
-
-
-
- Causes a communication object to transition from the created state into the opened state within a specified interval of time.
-
- The that specifies how long the send operation has to complete before timing out.The was unable to be opened and has entered the state.The specified timeout elapsed before the was able to enter the state and has entered the state.
-
-
-
- Opens the client asynchronously.
-
-
-
-
- Opens the client asynchronously.
-
- User-specific state.
-
-
-
- Occurs when Open operation has completed.
-
-
-
-
- Occurs when the communication object completes its transition from the opening state into the opened state.
-
-
-
-
- Occurs when the communication object first enters the opening state.
-
-
-
-
- Processes the log messages asynchronously.
-
- The events to send.
-
-
-
- Processes the log messages asynchronously.
-
- The events to send.
- User-specific state.
-
-
-
- Occurs when the log message processing has completed.
-
-
-
-
- Gets the current state of the communication-oriented object.
-
-
- The value of the of the object.
-
-
-
-
- Causes a communication object to transition from its current state into the closed state.
-
-
-
-
- Abstract base class for the WcfLogReceiverXXXWay classes. It can only be
- used internally (see internal constructor). It passes off any Channel usage
- to the inheriting class.
-
- Type of the WCF service.
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- Name of the endpoint configuration.
-
-
-
- Initializes a new instance of the class.
-
- Name of the endpoint configuration.
- The remote address.
-
-
-
- Initializes a new instance of the class.
-
- Name of the endpoint configuration.
- The remote address.
-
-
-
- Initializes a new instance of the class.
-
- The binding.
- The remote address.
-
-
-
- Occurs when the log message processing has completed.
-
-
-
-
- Occurs when Open operation has completed.
-
-
-
-
- Occurs when Close operation has completed.
-
-
-
-
- Opens the client asynchronously.
-
-
-
-
- Opens the client asynchronously.
-
- User-specific state.
-
-
-
- Closes the client asynchronously.
-
-
-
-
- Closes the client asynchronously.
-
- User-specific state.
-
-
-
- Processes the log messages asynchronously.
-
- The events to send.
-
-
-
- Processes the log messages asynchronously.
-
- The events to send.
- User-specific state.
-
-
-
- Begins processing of log messages.
-
- The events to send.
- The callback.
- Asynchronous state.
-
- IAsyncResult value which can be passed to .
-
-
-
-
- Ends asynchronous processing of log messages.
-
- The result.
-
-
-
- Log Receiver Client using WCF.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- Name of the endpoint configuration.
-
-
-
- Initializes a new instance of the class.
-
- Name of the endpoint configuration.
- The remote address.
-
-
-
- Initializes a new instance of the class.
-
- Name of the endpoint configuration.
- The remote address.
-
-
-
- Initializes a new instance of the class.
-
- The binding.
- The remote address.
-
-
-
- Begins processing of log messages.
-
- The events to send.
- The callback.
- Asynchronous state.
-
- IAsyncResult value which can be passed to .
-
-
-
-
- Ends asynchronous processing of log messages.
-
- The result.
-
-
-
- Log Receiver Client using WCF.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- Name of the endpoint configuration.
-
-
-
- Initializes a new instance of the class.
-
- Name of the endpoint configuration.
- The remote address.
-
-
-
- Initializes a new instance of the class.
-
- Name of the endpoint configuration.
- The remote address.
-
-
-
- Initializes a new instance of the class.
-
- The binding.
- The remote address.
-
-
-
- Begins processing of log messages.
-
- The events to send.
- The callback.
- Asynchronous state.
-
- IAsyncResult value which can be passed to .
-
-
-
-
- Ends asynchronous processing of log messages.
-
- The result.
-
-
-
- Mapped Diagnostics Context - a thread-local structure that keeps a dictionary
- of strings and provides methods to output them in layouts.
-
-
-
-
- Gets the thread-local dictionary
-
- Must be true for any subsequent dictionary modification operation
-
-
-
-
- Sets the current thread MDC item to the specified value.
-
- Item name.
- Item value.
- An that can be used to remove the item from the current thread MDC.
-
-
-
- Sets the current thread MDC item to the specified value.
-
- Item name.
- Item value.
- >An that can be used to remove the item from the current thread MDC.
-
-
-
- Sets the current thread MDC item to the specified value.
-
- Item name.
- Item value.
-
-
-
- Sets the current thread MDC item to the specified value.
-
- Item name.
- Item value.
-
-
-
- Gets the current thread MDC named item, as .
-
- Item name.
- The value of , if defined; otherwise .
- If the value isn't a already, this call locks the for reading the needed for converting to .
-
-
-
- Gets the current thread MDC named item, as .
-
- Item name.
- The to use when converting a value to a .
- The value of , if defined; otherwise .
- If is null and the value isn't a already, this call locks the for reading the needed for converting to .
-
-
-
- Gets the current thread MDC named item, as .
-
- Item name.
- The value of , if defined; otherwise null.
-
-
-
- Returns all item names
-
- A set of the names of all items in current thread-MDC.
-
-
-
- Checks whether the specified item exists in current thread MDC.
-
- Item name.
- A boolean indicating whether the specified exists in current thread MDC.
-
-
-
- Removes the specified from current thread MDC.
-
- Item name.
-
-
-
- Clears the content of current thread MDC.
-
-
-
-
- Async version of Mapped Diagnostics Context - a logical context structure that keeps a dictionary
- of strings and provides methods to output them in layouts. Allows for maintaining state across
- asynchronous tasks and call contexts.
-
-
- Ideally, these changes should be incorporated as a new version of the MappedDiagnosticsContext class in the original
- NLog library so that state can be maintained for multiple threads in asynchronous situations.
-
-
-
-
- Simulate ImmutableDictionary behavior (which is not yet part of all .NET frameworks).
- In future the real ImmutableDictionary could be used here to minimize memory usage and copying time.
-
- Must be true for any subsequent dictionary modification operation
- Prepare dictionary for additional inserts
-
-
-
-
- Gets the current logical context named item, as .
-
- Item name.
- The value of , if defined; otherwise .
- If the value isn't a already, this call locks the for reading the needed for converting to .
-
-
-
- Gets the current logical context named item, as .
-
- Item name.
- The to use when converting a value to a string.
- The value of , if defined; otherwise .
- If is null and the value isn't a already, this call locks the for reading the needed for converting to .
-
-
-
- Gets the current logical context named item, as .
-
- Item name.
- The value of , if defined; otherwise null.
-
-
-
- Sets the current logical context item to the specified value.
-
- Item name.
- Item value.
- >An that can be used to remove the item from the current logical context.
-
-
-
- Sets the current logical context item to the specified value.
-
- Item name.
- Item value.
- >An that can be used to remove the item from the current logical context.
-
-
-
- Sets the current logical context item to the specified value.
-
- Item name.
- Item value.
- >An that can be used to remove the item from the current logical context.
-
-
-
- Sets the current logical context item to the specified value.
-
- Item name.
- Item value.
-
-
-
- Sets the current logical context item to the specified value.
-
- Item name.
- Item value.
-
-
-
- Sets the current logical context item to the specified value.
-
- Item name.
- Item value.
-
-
-
- Returns all item names
-
- A collection of the names of all items in current logical context.
-
-
-
- Checks whether the specified exists in current logical context.
-
- Item name.
- A boolean indicating whether the specified exists in current logical context.
-
-
-
- Removes the specified from current logical context.
-
- Item name.
-
-
-
- Clears the content of current logical context.
-
-
-
-
- Clears the content of current logical context.
-
- Free the full slot.
-
-
-
- Mapped Diagnostics Context
-
- This class marked as obsolete before NLog 2.0 and it may be removed in a future release.
-
-
-
- Sets the current thread MDC item to the specified value.
-
- Item name.
- Item value.
-
-
-
- Gets the current thread MDC named item.
-
- Item name.
- The value of , if defined; otherwise .
- If the value isn't a already, this call locks the for reading the needed for converting to .
-
-
-
- Gets the current thread MDC named item.
-
- Item name.
- The value of , if defined; otherwise null.
-
-
-
- Checks whether the specified item exists in current thread MDC.
-
- Item name.
- A boolean indicating whether the specified item exists in current thread MDC.
-
-
-
- Removes the specified item from current thread MDC.
-
- Item name.
-
-
-
- Clears the content of current thread MDC.
-
-
-
-
- Mark a parameter of a method for message templating
-
-
-
-
- Specifies which parameter of an annotated method should be treated as message-template-string
-
-
-
-
- The name of the parameter that should be as treated as message-template-string
-
-
The type of the captured hole
@@ -20979,83 +20376,6 @@
Create MessageTemplateParameter from
-
-
-
-
-
-
-
-
- A message template
-
-
-
- The original template string.
- This is the key passed to structured targets.
-
-
- The list of literal parts, useful for string rendering.
- It indicates the number of characters from the original string to print,
- then there's a hole with how many chars to skip.
-
- "Hello {firstName} {lastName}!"
- -------------------------------------
- ║P |S ║P|S ║P|S║
- ║6 |11 ║1|10 ║1|0║
- ║Hello |{firstName}║ |{lastName}║!║
-
- "{x} * 2 = {2x}"
- --------------------
- ║P|S ║P |S ║
- ║0|3 ║7 |4 ║
- ║{x}║ * 2 = |{2x}║
-
- The tricky part is escaped braces. They are represented by a skip = 0,
- which is interpreted as "move one char forward, no hole".
-
- "Escaped }} is fun."
- ----------------------
- ║P |S║P |S║
- ║9 |0║8 |0║
- ║Escaped }|}║ is fun.|║
-
-
-
- This list of holes. It's used both to fill the string rendering
- and to send values along the template to structured targets.
-
-
- Indicates whether the template should be interpreted as positional
- (all holes are numbers) or named.
-
-
-
- Create a template, which is already parsed
-
-
-
-
-
-
-
-
- Create a template, which is already parsed
-
-
-
-
-
-
-
- This is for testing only: recreates from the parsed data.
-
-
-
- This is for testing only: rebuilds the hole
-
- Add to this string builder
- ref for performance
@@ -21097,19 +20417,6 @@
-
-
- Parse templates.
-
-
-
-
- Parse a template.
-
- Template to be parsed.
- When is null.
- Template, never null
-
Error when parsing a template.
@@ -21133,40 +20440,11 @@
Current index when the error occurred.
-
-
- Render templates
-
-
-
-
- Render a template to a string.
-
- The template.
- Culture.
- Parameters for the holes.
- Do not fallback to StringBuilder.Format for positional templates.
- The String Builder destination.
- Parameters for the holes.
-
-
-
- Render a template to a string.
-
- The template.
- The String Builder destination.
- Culture.
- Parameters for the holes.
- Rendered template, never null.
-
- Convert Render or serialize a value, with optionally backwards-compatible with
+ Convert, Render or serialize a value, with optionally backwards-compatible with
-
- Singleton
-
Serialization of an object, e.g. JSON and append to
@@ -21190,7 +20468,7 @@
- Try serialising a scalar (string, int, NULL) or simple type (IFormattable)
+ Try serializing a scalar (string, int, NULL) or simple type (IFormattable)
@@ -21201,7 +20479,7 @@
"FirstOrder"=true, "Previous login"=20-12-2017 14:55:32, "number of tries"=1
- formatstring of an item
+ format string of an item
@@ -21217,240 +20495,6 @@
Format provider for the value.
Append to this
-
-
- Nested Diagnostics Context
-
- This class marked as obsolete on NLog 2.0 and it may be removed in a future release.
-
-
-
- Gets the top NDC message but doesn't remove it.
-
- The top message. .
-
-
-
- Gets the top NDC object but doesn't remove it.
-
- The object from the top of the NDC stack, if defined; otherwise null.
-
-
-
- Pushes the specified text on current thread NDC.
-
- The text to be pushed.
- An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement.
-
-
-
- Pops the top message off the NDC stack.
-
- The top message which is no longer on the stack.
-
-
-
- Pops the top object off the NDC stack. The object is removed from the stack.
-
- The top object from the NDC stack, if defined; otherwise null.
-
-
-
- Clears current thread NDC stack.
-
-
-
-
- Gets all messages on the stack.
-
- Array of strings on the stack.
-
-
-
- Gets all objects on the NDC stack. The objects are not removed from the stack.
-
- Array of objects on the stack.
-
-
-
- Nested Diagnostics Context - a thread-local structure that keeps a stack
- of strings and provides methods to output them in layouts
-
-
-
-
- Gets the top NDC message but doesn't remove it.
-
- The top message. .
-
-
-
- Gets the top NDC object but doesn't remove it.
-
- The object at the top of the NDC stack if defined; otherwise null.
-
-
-
- Pushes the specified text on current thread NDC.
-
- The text to be pushed.
- An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement.
-
-
-
- Pushes the specified object on current thread NDC.
-
- The object to be pushed.
- An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement.
-
-
-
- Pops the top message off the NDC stack.
-
- The top message which is no longer on the stack.
-
-
-
- Pops the top message from the NDC stack.
-
- The to use when converting the value to a string.
- The top message, which is removed from the stack, as a string value.
-
-
-
- Pops the top object off the NDC stack.
-
- The object from the top of the NDC stack, if defined; otherwise null.
-
-
-
- Peeks the first object on the NDC stack
-
- The object from the top of the NDC stack, if defined; otherwise null.
-
-
-
- Clears current thread NDC stack.
-
-
-
-
- Gets all messages on the stack.
-
- Array of strings on the stack.
-
-
-
- Gets all messages from the stack, without removing them.
-
- The to use when converting a value to a string.
- Array of strings.
-
-
-
- Gets all objects on the stack.
-
- Array of objects on the stack.
-
-
-
- Resets the stack to the original count during .
-
-
-
-
- Initializes a new instance of the class.
-
- The stack.
- The previous count.
-
-
-
- Reverts the stack to original item count.
-
-
-
-
- Async version of - a logical context structure that keeps a stack
- Allows for maintaining scope across asynchronous tasks and call contexts.
-
-
-
-
- Pushes the specified value on current stack
-
- The value to be pushed.
- An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement.
-
-
-
- Pushes the specified value on current stack
-
- The value to be pushed.
- An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement.
-
-
-
- Pops the top message off the NDLC stack.
-
- The top message which is no longer on the stack.
- this methods returns a object instead of string, this because of backwardscompatibility
-
-
-
- Pops the top message from the NDLC stack.
-
- The to use when converting the value to a string.
- The top message, which is removed from the stack, as a string value.
-
-
-
- Pops the top message off the current NDLC stack
-
- The object from the top of the NDLC stack, if defined; otherwise null.
-
-
-
- Peeks the top object on the current NDLC stack
-
- The object from the top of the NDLC stack, if defined; otherwise null.
-
-
-
- Peeks the current scope, and returns its start time
-
- Scope Creation Time
-
-
-
- Peeks the first scope, and returns its start time
-
- Scope Creation Time
-
-
-
- Clears current stack.
-
-
-
-
- Gets all messages on the stack.
-
- Array of strings on the stack.
-
-
-
- Gets all messages from the stack, without removing them.
-
- The to use when converting a value to a string.
- Array of strings.
-
-
-
- Gets all objects on the stack. The objects are not removed from the stack.
-
- Array of objects on the stack.
-
Exception thrown during NLog configuration.
@@ -21469,14 +20513,14 @@
- Initializes a new instance of the class.
+ Initializes a new instance of the class.
The message.
Parameters for the message
- Initializes a new instance of the class.
+ Initializes a new instance of the class.
The inner exception.
The message.
@@ -21706,7 +20750,7 @@
The log parameters.
The event id.
The event type.
- The related activity id.
+ The related activity id.
@@ -21723,6 +20767,697 @@
The factory class to be used for the creation of this logger.
+
+
+ Extension methods to setup LogFactory options
+
+
+
+
+ Gets the logger with the full name of the current class, so namespace and class name.
+
+
+
+
+ Gets the specified named logger.
+
+
+
+
+ Configures general options for NLog LogFactory before loading NLog config
+
+
+
+
+ Configures loading of NLog extensions for Targets and LayoutRenderers
+
+
+
+
+ Configures the output of NLog for diagnostics / troubleshooting
+
+
+
+
+ Configures serialization and transformation of LogEvents
+
+
+
+
+ Loads NLog config created by the method
+
+
+
+
+ Loads NLog config provided in
+
+
+
+
+ Loads NLog config from filename if provided, else fallback to scanning for NLog.config
+
+ Fluent interface parameter.
+ Explicit configuration file to be read (Default NLog.config from candidates paths)
+ Whether to allow application to run when NLog config is not available
+
+
+
+ Loads NLog config from file-paths if provided, else fallback to scanning for NLog.config
+
+ Fluent interface parameter.
+ Candidates file paths (including filename) where to scan for NLog config files
+ Whether to allow application to run when NLog config is not available
+
+
+
+ Loads NLog config from XML in
+
+
+
+
+ Loads NLog config located in embedded resource from main application assembly.
+
+ Fluent interface parameter.
+ Assembly for the main Application project with embedded resource
+ Name of the manifest resource for NLog config XML
+
+
+
+ Reloads the current logging configuration and activates it
+
+ Logevents produced during the configuration-reload can become lost, as targets are unavailable while closing and initializing.
+
+
+
+ Extension methods to setup NLog extensions, so they are known when loading NLog LoggingConfiguration
+
+
+
+
+ Enable/disables autoloading of NLog extensions by scanning and loading available assemblies
+
+
+ Disabled by default as it can give a huge performance hit during startup. Recommended to keep it disabled especially when running in the cloud.
+
+
+
+
+ Enable/disables autoloading of NLog extensions by scanning and loading available assemblies
+
+
+ Disabled by default as it can give a huge performance hit during startup. Recommended to keep it disabled especially when running in the cloud.
+
+
+
+
+ Registers NLog extensions from the assembly.
+
+
+
+
+ Registers NLog extensions from the assembly type name
+
+
+
+
+ Register a custom NLog Configuration Type.
+
+ Type of the NLog configuration item
+ Fluent interface parameter.
+
+
+
+ Register a custom NLog Target.
+
+ Type of the Target.
+ Fluent interface parameter.
+ The target type-alias for use in NLog configuration. Will extract from class-attribute when unassigned.
+
+
+
+ Register a custom NLog Target.
+
+ Type of the Target.
+ Fluent interface parameter.
+ The factory method for creating instance of NLog Target
+ The target type-alias for use in NLog configuration. Will extract from class-attribute when unassigned.
+
+
+
+ Register a custom NLog Target.
+
+ Fluent interface parameter.
+ Type name of the Target
+ The target type-alias for use in NLog configuration
+
+
+
+ Register a custom NLog Layout.
+
+ Type of the layout renderer.
+ Fluent interface parameter.
+ The layout type-alias for use in NLog configuration. Will extract from class-attribute when unassigned.
+
+
+
+ Register a custom NLog Layout.
+
+ Type of the layout renderer.
+ Fluent interface parameter.
+ The factory method for creating instance of NLog Layout
+ The layout type-alias for use in NLog configuration. Will extract from class-attribute when unassigned.
+
+
+
+ Register a custom NLog Layout.
+
+ Fluent interface parameter.
+ Type of the layout.
+ The layout type-alias for use in NLog configuration
+
+
+
+ Register a custom NLog LayoutRenderer.
+
+ Type of the layout renderer.
+ Fluent interface parameter.
+ The layout-renderer type-alias for use in NLog configuration - without '${ }'. Will extract from class-attribute when unassigned.
+
+
+
+ Register a custom NLog LayoutRenderer.
+
+ Type of the layout renderer.
+ Fluent interface parameter.
+ The factory method for creating instance of NLog LayoutRenderer
+ The layout-renderer type-alias for use in NLog configuration - without '${ }'. Will extract from class-attribute when unassigned.
+
+
+
+ Register a custom NLog LayoutRenderer.
+
+ Fluent interface parameter.
+ Type of the layout renderer.
+ The layout-renderer type-alias for use in NLog configuration - without '${ }'
+
+
+
+ Register a custom NLog LayoutRenderer with a callback function . The callback receives the logEvent.
+
+ Fluent interface parameter.
+ The layout-renderer type-alias for use in NLog configuration - without '${ }'
+ Callback that returns the value for the layout renderer.
+
+
+
+ Register a custom NLog LayoutRenderer with a callback function . The callback receives the logEvent and the current configuration.
+
+ Fluent interface parameter.
+ The layout-renderer type-alias for use in NLog configuration - without '${ }'
+ Callback that returns the value for the layout renderer.
+
+
+
+ Register a custom NLog LayoutRenderer with a callback function . The callback receives the logEvent.
+
+ Fluent interface parameter.
+ The layout-renderer type-alias for use in NLog configuration - without '${ }'
+ Callback that returns the value for the layout renderer.
+ Options of the layout renderer.
+
+
+
+ Register a custom NLog LayoutRenderer with a callback function . The callback receives the logEvent and the current configuration.
+
+ Fluent interface parameter.
+ The layout-renderer type-alias for use in NLog configuration - without '${ }'
+ Callback that returns the value for the layout renderer.
+ Options of the layout renderer.
+
+
+
+ Register a custom NLog LayoutRenderer with a callback function
+
+ Fluent interface parameter.
+ LayoutRenderer instance with type-alias and callback-method.
+
+
+
+ Register a custom condition method, that can use in condition filters
+
+ Fluent interface parameter.
+ Name of the condition filter method
+ MethodInfo extracted by reflection - typeof(MyClass).GetMethod("MyFunc", BindingFlags.Static).
+
+
+
+ Register a custom condition method, that can use in condition filters
+
+ Fluent interface parameter.
+ Name of the condition filter method
+ Lambda method.
+
+
+
+ Register a custom condition method, that can use in condition filters
+
+ Fluent interface parameter.
+ Name of the condition filter method
+ Lambda method.
+
+
+
+ Register (or replaces) singleton-object for the specified service-type
+
+ Service interface type
+ Fluent interface parameter.
+ Implementation of interface.
+
+
+
+ Register (or replaces) singleton-object for the specified service-type
+
+ Fluent interface parameter.
+ Service interface type.
+ Implementation of interface.
+
+
+
+ Register (or replaces) external service-repository for resolving dependency injection
+
+ Fluent interface parameter.
+ External dependency injection repository
+
+
+
+ Extension methods to setup NLog options
+
+
+
+
+ Configures
+
+
+
+
+ Configures
+
+
+
+
+ Configures
+
+
+
+
+ Configures
+
+
+
+
+ Configures
+
+
+
+
+ Configures
+
+
+
+
+ Configures
+
+
+
+
+ Configure the InternalLogger properties from Environment-variables and App.config using
+
+
+ Recognizes the following environment-variables:
+
+ - NLOG_INTERNAL_LOG_LEVEL
+ - NLOG_INTERNAL_LOG_FILE
+ - NLOG_INTERNAL_LOG_TO_CONSOLE
+ - NLOG_INTERNAL_LOG_TO_CONSOLE_ERROR
+ - NLOG_INTERNAL_LOG_TO_TRACE
+ - NLOG_INTERNAL_INCLUDE_TIMESTAMP
+
+ Legacy .NetFramework platform will also recognizes the following app.config settings:
+
+ - nlog.internalLogLevel
+ - nlog.internalLogFile
+ - nlog.internalLogToConsole
+ - nlog.internalLogToConsoleError
+ - nlog.internalLogToTrace
+ - nlog.internalLogIncludeTimestamp
+
+
+
+
+ Extension methods to setup NLog
+
+
+
+
+ Configures the global time-source used for all logevents
+
+
+ Available by default: , , ,
+
+
+
+
+ Updates the dictionary ${gdc:item=} with the name-value-pair
+
+
+
+
+ Defines for redirecting output from matching to wanted targets.
+
+ Fluent interface parameter.
+ Logger name pattern to check which names matches this rule
+ Rule identifier to allow rule lookup
+
+
+
+ Defines for redirecting output from matching to wanted targets.
+
+ Fluent interface parameter.
+ Restrict minimum LogLevel for names that matches this rule
+ Logger name pattern to check which names matches this rule
+ Rule identifier to allow rule lookup
+
+
+
+ Defines for redirecting output from matching to wanted targets.
+
+ Fluent interface parameter.
+ Override the name for the target created
+
+
+
+ Apply fast filtering based on . Include LogEvents with same or worse severity as .
+
+ Fluent interface parameter.
+ Minimum level that this rule matches
+
+
+
+ Apply fast filtering based on . Include LogEvents with same or less severity as .
+
+ Fluent interface parameter.
+ Maximum level that this rule matches
+
+
+
+ Apply fast filtering based on . Include LogEvents with severity that equals .
+
+ Fluent interface parameter.
+ Single loglevel that this rule matches
+
+
+
+ Apply fast filtering based on . Include LogEvents with severity between and .
+
+ Fluent interface parameter.
+ Minimum level that this rule matches
+ Maximum level that this rule matches
+
+
+
+ Apply dynamic filtering logic for advanced control of when to redirect output to target.
+
+
+ Slower than using Logger-name or LogLevel-severity, because of allocation.
+
+ Fluent interface parameter.
+ Filter for controlling whether to write
+ Default action if none of the filters match
+
+
+
+ Apply dynamic filtering logic for advanced control of when to redirect output to target.
+
+
+ Slower than using Logger-name or LogLevel-severity, because of allocation.
+
+ Fluent interface parameter.
+ Delegate for controlling whether to write
+ Default action if none of the filters match
+
+
+
+ Dynamic filtering of LogEvent, where it will be ignored when matching filter-method-delegate
+
+
+ Slower than using Logger-name or LogLevel-severity, because of allocation.
+
+ Fluent interface parameter.
+ Delegate for controlling whether to write
+ LogEvent will on match also be ignored by following logging-rules
+
+
+
+ Dynamic filtering of LogEvent, where it will be logged when matching filter-method-delegate
+
+
+ Slower than using Logger-name or LogLevel-severity, because of allocation.
+
+ Fluent interface parameter.
+ Delegate for controlling whether to write
+ LogEvent will not be evaluated by following logging-rules
+
+
+
+ Move the to the top, to match before any of the existing
+
+
+
+
+ Redirect output from matching to the provided
+
+ Fluent interface parameter.
+ Target that should be written to.
+ Fluent interface for configuring targets for the new LoggingRule.
+
+
+
+ Redirect output from matching to the provided
+
+ Fluent interface parameter.
+ Target-collection that should be written to.
+ Fluent interface for configuring targets for the new LoggingRule.
+
+
+
+ Redirect output from matching to the provided
+
+ Fluent interface parameter.
+ Target-collection that should be written to.
+ Fluent interface for configuring targets for the new LoggingRule.
+
+
+
+ Discard output from matching , so it will not reach any following .
+
+ Fluent interface parameter.
+ Only discard output from matching Logger when below minimum LogLevel
+
+
+
+ Returns first target registered
+
+
+
+
+ Returns first target registered with the specified type
+
+ Type of target
+
+
+
+ Write to
+
+ Fluent interface parameter.
+ Method to call on logevent
+ Layouts to render object[]-args before calling
+
+
+
+ Write to
+
+ Fluent interface parameter.
+ Override the default Layout for output
+ Override the default Encoding for output (Ex. UTF8)
+ Write to stderr instead of standard output (stdout)
+ Skip overhead from writing to console, when not available (Ex. running as Windows Service)
+ Enable batch writing of logevents, instead of Console.WriteLine for each logevent (Requires )
+
+
+
+ Write to
+
+
+ Override the default Layout for output
+ Force use independent of
+
+
+
+ Write to
+
+
+ Override the default Layout for output
+
+
+
+ Write to (when DEBUG-build)
+
+
+ Override the default Layout for output
+
+
+
+ Write to
+
+ Fluent interface parameter.
+
+ Override the default Layout for output
+ Override the default Encoding for output (Default = UTF8)
+ Override the default line ending characters (Ex. without CR)
+ Keep log file open instead of opening and closing it on each logging event
+ Activate multi-process synchronization using global mutex on the operating system
+ Size in bytes where log files will be automatically archived.
+ Maximum number of archive files that should be kept.
+ Maximum days of archive files that should be kept.
+
+
+
+ Applies target wrapper for existing
+
+ Fluent interface parameter.
+ Factory method for creating target-wrapper
+
+
+
+ Applies for existing for asynchronous background writing
+
+ Fluent interface parameter.
+ Action to take when queue overflows
+ Queue size limit for pending logevents
+ Batch size when writing on the background thread
+
+
+
+ Applies for existing for throttled writing
+
+ Fluent interface parameter.
+ Buffer size limit for pending logevents
+ Timeout for when the buffer will flush automatically using background thread
+ Restart timeout when logevent is written
+ Action to take when buffer overflows
+
+
+
+ Applies for existing for flushing after conditional event
+
+ Fluent interface parameter.
+ Method delegate that controls whether logevent should force flush.
+ Only flush when triggers (Ignore config-reload and config-shutdown)
+
+
+
+ Applies for existing for retrying after failure
+
+ Fluent interface parameter.
+ Number of retries that should be attempted on the wrapped target in case of a failure.
+ Time to wait between retries
+
+
+
+ Applies for existing to fallback on failure.
+
+ Fluent interface parameter.
+ Target to use for fallback
+ Whether to return to the first target after any successful write
+
+
+
+ Extension methods to setup general option before loading NLog LoggingConfiguration
+
+
+
+
+ Configures the global time-source used for all logevents
+
+
+ Available by default: , , ,
+
+
+
+
+ Configures the global time-source used for all logevents to use
+
+
+
+
+ Configures the global time-source used for all logevents to use
+
+
+
+
+ Updates the dictionary ${gdc:item=} with the name-value-pair
+
+
+
+
+ Sets whether to automatically call on AppDomain.Unload or AppDomain.ProcessExit
+
+
+
+
+ Sets the default culture info to use as .
+
+
+
+
+ Sets the global log level threshold. Log events below this threshold are not logged.
+
+
+
+
+ Gets or sets a value indicating whether should be thrown on configuration errors
+
+
+
+
+ Mark Assembly as hidden, so Assembly methods are excluded when resolving ${callsite} from StackTrace
+
+
+
+
+ Extension methods to setup NLog extensions, so they are known when loading NLog LoggingConfiguration
+
+
+
+
+ Overrides the active with a new custom implementation
+
+
+
+
+ Overrides the active with a new custom implementation
+
+
+
+
+ Registers object Type transformation from dangerous (massive) object to safe (reduced) object
+
+
+
+
+ Registers object Type transformation from dangerous (massive) object to safe (reduced) object
+
+
Specifies the way archive numbering is performed.
@@ -21752,35 +21487,69 @@
-
- Abstract Target with async Task support
-
+
+ Abstract Target with async Task support
+
+
+ See NLog Wiki
+
+
+ [Target("MyFirst")]
+ public sealed class MyFirstTarget : AsyncTaskTarget
+ {
+ public MyFirstTarget()
+ {
+ this.Host = "localhost";
+ }
+
+ [RequiredParameter]
+ public Layout Host { get; set; }
+
+ protected override Task WriteAsyncTask(LogEventInfo logEvent, CancellationToken token)
+ {
+ string logMessage = this.RenderLogEvent(this.Layout, logEvent);
+ string hostName = this.RenderLogEvent(this.Host, logEvent);
+ return SendTheMessageToRemoteHost(hostName, logMessage);
+ }
+
+ private async Task SendTheMessageToRemoteHost(string hostName, string message)
+ {
+ // To be implemented
+ }
+ }
+
+ Documentation on NLog Wiki
How many milliseconds to delay the actual write operation to optimize for batching
+
How many seconds a Task is allowed to run before it is cancelled.
+
How many attempts to retry the same Task, before it is aborted
+
How many milliseconds to wait before next retry (will double with each retry)
+
Gets or sets whether to use the locking queue, instead of a lock-free concurrent queue
The locking queue is less concurrent when many logger threads, but reduces memory allocation
+
@@ -21813,13 +21582,11 @@
-
- Initializes the internal queue for pending logevents
-
+
- Override this to create the actual logging task
+ Override this to provide async task for writing a single logevent.
Example of how to override this method, and call custom async method
@@ -21840,7 +21607,7 @@
- Override this to create the actual logging task for handling batch of logevents
+ Override this to provide async task for writing a batch of logevents.
A batch of logevents.
The cancellation token
@@ -21856,11 +21623,18 @@
Time to sleep before retrying
Should attempt retry
-
+
- Schedules the LogEventInfo for async writing
+ Block for override. Instead override
- The log event.
+
+
+
+ Block for override. Instead override
+
+
+
+
@@ -21868,6 +21642,18 @@
+
+
+ Block for override. Instead override
+
+
+
+
+ LogEvent is written to target, but target failed to successfully initialize
+
+ Enqueue logevent for later processing when target failed to initialize because of unresolved service dependency.
+
+
Schedules notification of when all messages has been written
@@ -21921,27 +21707,20 @@
Sends log messages to the remote instance of Chainsaw application from log4j.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- This assumes just one target and a single rule. More configuration
- options are described here.
-
-
To set up the log target programmatically use code like this:
-
- NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol
- or you'll get TCP timeouts and your application will crawl.
- Either switch to UDP transport or use AsyncWrapper target
- so that your application threads will not be blocked by the timing-out connection attempts.
-
@@ -21990,7 +21769,21 @@
Writes log messages to the console with customizable coloring.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
+
+
+ To set up the target in the configuration file,
+ use the following syntax:
+
+
+
+ To set up the log target programmatically use code like this:
+
+
+
@@ -22003,7 +21796,7 @@
Full error:
Error during session close: System.IndexOutOfRangeException: Probable I/ O race condition detected while copying memory.
- The I/ O package is not thread safe by default.In multithreaded applications,
+ The I/ O package is not thread safe by default. In multi-threaded applications,
a stream must be accessed in a thread-safe way, such as a thread - safe wrapper returned by TextReader's or
TextWriter's Synchronized methods.This also applies to classes like StreamWriter and StreamReader.
@@ -22014,7 +21807,7 @@
Initializes a new instance of the class.
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
@@ -22022,7 +21815,7 @@
Initializes a new instance of the class.
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
Name of the target.
@@ -22032,6 +21825,12 @@
+
+
+ Gets or sets a value indicating whether to send the log messages to the standard error instead of the standard output.
+
+
+
Gets or sets a value indicating whether to use default row highlighting rules.
@@ -22107,6 +21906,7 @@
Normally not required as standard Console.Out will have = true, but not when pipe to file
+
@@ -22127,24 +21927,16 @@
-
- Initializes the target.
-
+
-
- Closes the target and releases any unmanaged resources.
-
+
-
+
-
- Writes the specified log event to the console highlighting entries
- and words based on a set of defined rules.
-
- Log event.
+
@@ -22245,11 +22037,6 @@
The row-highlighting condition.
-
-
- Initializes static members of the ConsoleRowHighlightingRule class.
-
-
Initializes a new instance of the class.
@@ -22272,19 +22059,19 @@
Gets or sets the condition that must be met in order to set the specified foreground and background color.
-
+
Gets or sets the foreground color.
-
+
Gets or sets the background color.
-
+
@@ -22302,18 +22089,17 @@
Writes log messages to the console.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- This assumes just one target and a single rule. More configuration
- options are described here.
-
-
To set up the log target programmatically use code like this:
@@ -22330,7 +22116,7 @@
Full error:
Error during session close: System.IndexOutOfRangeException: Probable I/ O race condition detected while copying memory.
- The I/ O package is not thread safe by default.In multithreaded applications,
+ The I/ O package is not thread safe by default. In multi-threaded applications,
a stream must be accessed in a thread-safe way, such as a thread - safe wrapper returned by TextReader's or
TextWriter's Synchronized methods.This also applies to classes like StreamWriter and StreamReader.
@@ -22342,10 +22128,16 @@
+
+
+ Gets or sets a value indicating whether to send the log messages to the standard error instead of the standard output.
+
+
+
The encoding for writing messages to the .
-
+
Has side effect
@@ -22364,13 +22156,20 @@
Normally not required as standard Console.Out will have = true, but not when pipe to file
+
+
+
+
+ Gets or sets whether to activate internal buffering to allow batch writing, instead of using
+
+
Initializes a new instance of the class.
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
@@ -22379,38 +22178,24 @@
Initializes a new instance of the class.
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
Name of the target.
-
- Initializes the target.
-
+
-
- Closes the target and releases any unmanaged resources.
-
+
-
+
-
- Writes the specified logging event to the Console.Out or
- Console.Error depending on the value of the Error flag.
-
- The logging event.
-
- Note that the Error option is not supported on .NET Compact Framework.
-
+
-
-
- Write to output
-
- text to be written.
+
+
@@ -22434,455 +22219,54 @@
Gets or sets the regular expression to be matched. You must specify either text or regex.
-
+
+
+
+
+ Gets or sets the condition that must be met before scanning the row for highlight of words
+
+
Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used.
-
+
Gets or sets the text to be matched. You must specify either text or regex.
-
+
Gets or sets a value indicating whether to match whole words only.
-
+
Gets or sets a value indicating whether to ignore case when comparing texts.
-
+
Gets or sets the foreground color.
-
+
Gets or sets the background color.
-
+
Gets the compiled regular expression that matches either Text or Regex property. Only used when is true.
- Access this property will compile the Regex.
-
-
-
- Get regex options.
-
- Default option to start with.
-
-
-
-
- Get Expression for a .
-
-
-
-
-
- Information about database command + parameters.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Gets or sets the type of the command.
-
- The type of the command.
-
-
-
-
- Gets or sets the connection string to run the command against. If not provided, connection string from the target is used.
-
-
-
-
-
- Gets or sets the command text.
-
-
-
-
-
- Gets or sets a value indicating whether to ignore failures.
-
-
-
-
-
- Gets the collection of parameters. Each parameter contains a mapping
- between NLog layout and a database named or positional parameter.
-
-
-
-
-
- Represents a parameter to a Database target.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- Name of the parameter.
- The parameter layout.
-
-
-
- Gets or sets the database parameter name.
-
-
-
-
-
- Gets or sets the layout that should be use to calculate the value for the parameter.
-
-
-
-
-
- Gets or sets the database parameter DbType.
-
-
-
-
-
- Gets or sets the database parameter size.
-
-
-
-
-
- Gets or sets the database parameter precision.
-
-
-
-
-
- Gets or sets the database parameter scale.
-
-
-
-
-
- Gets or sets the type of the parameter.
-
-
-
-
-
- Gets or sets convert format of the database parameter value .
-
-
-
-
-
- Gets or sets the culture used for parsing parameter string-value for type-conversion
-
-
-
-
-
- Writes log messages to the database using an ADO.NET provider.
-
-
- - NETSTANDARD cannot load connectionstrings from .config
-
- Documentation on NLog Wiki
-
-
- The configuration is dependent on the database type, because
- there are differnet methods of specifying connection string, SQL
- command and command parameters.
-
- MS SQL Server using System.Data.SqlClient:
-
- Oracle using System.Data.OracleClient:
-
- Oracle using System.Data.OleDBClient:
-
- To set up the log target programmatically use code like this (an equivalent of MSSQL configuration):
-
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- Name of the target.
-
-
-
- Gets or sets the name of the database provider.
-
-
-
- The parameter name should be a provider invariant name as registered in machine.config or app.config. Common values are:
-
-
- - System.Data.SqlClient - SQL Sever Client
- - System.Data.SqlServerCe.3.5 - SQL Sever Compact 3.5
- - System.Data.OracleClient - Oracle Client from Microsoft (deprecated in .NET Framework 4)
- - Oracle.DataAccess.Client - ODP.NET provider from Oracle
- - System.Data.SQLite - System.Data.SQLite driver for SQLite
- - Npgsql - Npgsql driver for PostgreSQL
- - MySql.Data.MySqlClient - MySQL Connector/Net
-
- (Note that provider invariant names are not supported on .NET Compact Framework).
-
- Alternatively the parameter value can be be a fully qualified name of the provider
- connection type (class implementing ) or one of the following tokens:
-
-
- - sqlserver, mssql, microsoft or msde - SQL Server Data Provider
- - oledb - OLEDB Data Provider
- - odbc - ODBC Data Provider
-
-
-
-
-
-
- Gets or sets the name of the connection string (as specified in <connectionStrings> configuration section.
-
-
-
-
-
- Gets or sets the connection string. When provided, it overrides the values
- specified in DBHost, DBUserName, DBPassword, DBDatabase.
-
-
-
-
-
- Gets or sets the connection string using for installation and uninstallation. If not provided, regular ConnectionString is being used.
-
-
-
-
-
- Gets the installation DDL commands.
-
-
-
-
-
- Gets the uninstallation DDL commands.
-
-
-
-
-
- Gets or sets a value indicating whether to keep the
- database connection open between the log events.
-
-
-
-
-
- Obsolete - value will be ignored! The logging code always runs outside of transaction.
-
- Gets or sets a value indicating whether to use database transactions.
- Some data providers require this.
-
-
-
- This option was removed in NLog 4.0 because the logging code always runs outside of transaction.
- This ensures that the log gets written to the database if you rollback the main transaction because of an error and want to log the error.
-
-
-
-
- Gets or sets the database host name. If the ConnectionString is not provided
- this value will be used to construct the "Server=" part of the
- connection string.
-
-
-
-
-
- Gets or sets the database user name. If the ConnectionString is not provided
- this value will be used to construct the "User ID=" part of the
- connection string.
-
-
-
-
-
- Gets or sets the database password. If the ConnectionString is not provided
- this value will be used to construct the "Password=" part of the
- connection string.
-
-
-
-
-
- Gets or sets the database name. If the ConnectionString is not provided
- this value will be used to construct the "Database=" part of the
- connection string.
-
-
-
-
-
- Gets or sets the text of the SQL command to be run on each log level.
-
-
- Typically this is a SQL INSERT statement or a stored procedure call.
- It should use the database-specific parameters (marked as @parameter
- for SQL server or :parameter for Oracle, other data providers
- have their own notation) and not the layout renderers,
- because the latter is prone to SQL injection attacks.
- The layout renderers should be specified as <parameter /> elements instead.
-
-
-
-
-
- Gets or sets the type of the SQL command to be run on each log level.
-
-
- This specifies how the command text is interpreted, as "Text" (default) or as "StoredProcedure".
- When using the value StoredProcedure, the commandText-property would
- normally be the name of the stored procedure. TableDirect method is not supported in this context.
-
-
-
-
-
- Gets the collection of parameters. Each parameter contains a mapping
- between NLog layout and a database named or positional parameter.
-
-
-
-
-
- Performs installation which requires administrative permissions.
-
- The installation context.
-
-
-
- Performs uninstallation which requires administrative permissions.
-
- The installation context.
-
-
-
- Determines whether the item is installed.
-
- The installation context.
-
- Value indicating whether the item is installed or null if it is not possible to determine.
-
-
-
-
- Initializes the target. Can be used by inheriting classes
- to initialize logging.
-
-
-
-
- Set the to use it for opening connections to the database.
-
-
-
-
- Closes the target and releases any unmanaged resources.
-
-
-
-
- Writes the specified logging event to the database. It creates
- a new database command, prepares parameters for it by calculating
- layouts and executes the command.
-
- The logging event.
-
-
-
- NOTE! Obsolete, instead override Write(IList{AsyncLogEventInfo} logEvents)
-
- Writes an array of logging events to the log target. By default it iterates on all
- events and passes them to "Write" method. Inheriting classes can use this method to
- optimize batch writes.
-
- Logging events to be written out.
-
-
-
- Writes an array of logging events to the log target. By default it iterates on all
- events and passes them to "Write" method. Inheriting classes can use this method to
- optimize batch writes.
-
- Logging events to be written out.
-
-
-
- Write logEvent to database
-
-
-
-
- Build the connectionstring from the properties.
-
-
- Using at first, and falls back to the properties ,
- , and
-
- Event to render the layout inside the properties.
-
-
-
-
- Create database parameter
-
- Current command.
- Parameter configuration info.
-
-
-
- Extract parameter value from the logevent
-
- Current logevent.
- Parameter configuration info.
-
-
-
- Create Default Value of Type
-
-
-
@@ -22920,17 +22304,17 @@
Writes log messages to the attached managed debugger.
+
+ See NLog Wiki
+
+ Documentation on NLog Wiki
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- This assumes just one target and a single rule. More configuration
- options are described here.
-
-
To set up the log target programmatically use code like this:
@@ -22941,7 +22325,7 @@
Initializes a new instance of the class.
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
@@ -22949,23 +22333,54 @@
Initializes a new instance of the class.
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
Name of the target.
-
- Initializes the target.
-
+
-
- Closes the target and releases any unmanaged resources.
-
+
+
+
+
- Writes the specified logging event to the attached debugger.
+ Outputs log messages through
+
+
+ See NLog Wiki
+
+ Documentation on NLog Wiki
+
+
+
+ Initializes a new instance of the class.
+
+
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
+
+ Name of the target.
+
+
+
+
+
+
+
+
+
+ Outputs the rendered logging event through
The logging event.
@@ -22973,18 +22388,17 @@
Mock target - useful for testing.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- This assumes just one target and a single rule. More configuration
- options are described here.
-
-
To set up the log target programmatically use code like this:
@@ -22995,7 +22409,7 @@
Initializes a new instance of the class.
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
@@ -23003,7 +22417,7 @@
Initializes a new instance of the class.
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
Name of the target.
@@ -23020,10 +22434,7 @@
-
- Increases the number of messages.
-
- The logging event.
+
@@ -23035,7 +22446,7 @@
Singleton instance of the serializer.
-
+
Private. Use
@@ -23052,7 +22463,7 @@
Returns a serialization of an object into JSON format.
The object to serialize to JSON.
- serialisation options
+ serialization options
Serialized value.
@@ -23069,7 +22480,7 @@
The object to serialize to JSON.
Write the resulting JSON to this destination.
- serialisation options
+ serialization options
Object serialized successfully (true/false).
@@ -23078,7 +22489,7 @@
The object to serialize to JSON.
Write the resulting JSON to this destination.
- serialisation options
+ serialization options
The objects in path (Avoid cyclic reference loop).
The current depth (level) of recursion.
Object serialized successfully (true/false).
@@ -23096,31 +22507,40 @@
Accept fractional types as numeric type.
-
+
Checks input string if it needs JSON escaping, and makes necessary conversion
Destination Builder
Input string
- Should non-ascii characters be encoded
+ all options
+ JSON escaped string
+
+
+
+ Checks input string if it needs JSON escaping, and makes necessary conversion
+
+ Destination Builder
+ Input string
+ Should non-ASCII characters be encoded
+
JSON escaped string
Writes log message to the Event Log.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- This assumes just one target and a single rule. More configuration
- options are described here.
-
-
To set up the log target programmatically use code like this:
@@ -23130,6 +22550,7 @@
Max size in characters (limitation of the EventLog API).
+
@@ -23142,13 +22563,7 @@
Name of the target.
-
-
- Initializes a new instance of the class.
-
- . to be used as Source.
-
-
+
Initializes a new instance of the class.
@@ -23173,7 +22588,7 @@
- Optional entrytype. When not set, or when not convertible to then determined by
+ Optional entry type. When not set, or when not convertible to then determined by
@@ -23213,7 +22628,7 @@
Gets or sets the action to take if the message is larger than the option.
-
+
@@ -23237,15 +22652,10 @@
-
- Initializes the target.
-
+
-
- Writes the specified logging event to the event log.
-
- The logging event.
+
@@ -23260,12 +22670,6 @@
null when not
Internal for unit tests
-
-
- Gets the to write to.
-
- Event if the source needs to be rendered.
-
(re-)create an event source, if it isn't there. Works only with fixed source names.
@@ -23338,42 +22742,11 @@
The implementation of , that uses Windows .
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Creates a new association with an instance of Windows .
-
-
-
-
-
-
-
-
-
-
-
-
Action that should be taken if the message is greater than
@@ -23395,7 +22768,7 @@
Discard of the message. It will not be written to the Event Log.
-
+
Check if cleanup should be performed on initialize new file
@@ -23403,16 +22776,17 @@
Base archive file pattern
Maximum number of archive files that should be kept
+ Maximum days of archive files that should be kept
True, when archive cleanup is needed
- Characters determining the start of the .
+ Characters determining the start of the .
- Characters determining the end of the .
+ Characters determining the end of the .
@@ -23423,15 +22797,15 @@
- The begging position of the
- within the . -1 is returned
+ The beginning position of the
+ within the . -1 is returned
when no pattern can be found.
- The ending position of the
- within the . -1 is returned
+ The ending position of the
+ within the . -1 is returned
when no pattern can be found.
@@ -23445,20 +22819,20 @@
Archives the log-files using a date style numbering. Archives will be stamped with the
- prior period (Year, Month, Day, Hour, Minute) datetime. When the number of archive files exceed the obsolete archives are deleted.
+ prior period (Year, Month, Day, Hour, Minute) datetime.
+
+ When the number of archive files exceed the obsolete archives are deleted.
+ When the age of archive files exceed the obsolete archives are deleted.
-
Archives the log-files using a date and sequence style numbering. Archives will be stamped
with the prior period (Year, Month, Day) datetime. The most recent archive has the highest number (in
combination with the date).
-
-
- When the number of archive files exceed the obsolete archives are deleted.
-
+
+ When the number of archive files exceed the obsolete archives are deleted.
+ When the age of archive files exceed the obsolete archives are deleted.
@@ -23481,8 +22855,10 @@
Base Filename trace.log
Next Filename trace.0.log
- The most recent archive has the highest number. When the number of archive files
- exceed the obsolete archives are deleted.
+ The most recent archive has the highest number.
+
+ When the number of archive files exceed the obsolete archives are deleted.
+ When the age of archive files exceed the obsolete archives are deleted.
@@ -23505,17 +22881,12 @@
File name to be checked.
when the pattern is found; otherwise.
-
-
- Determine if old archive files should be deleted.
-
- Maximum number of archive files that should be kept
- when old archives should be deleted; otherwise.
-
Archives the log-files using a rolling style numbering (the most recent is always #0 then
- #1, ..., #N. When the number of archive files exceed the obsolete archives
+ #1, ..., #N.
+
+ When the number of archive files exceed the obsolete archives
are deleted.
@@ -23529,9 +22900,10 @@
- Archives the log-files using a sequence style numbering. The most recent archive has the
- highest number. When the number of archive files exceed the obsolete
- archives are deleted.
+ Archives the log-files using a sequence style numbering. The most recent archive has the highest number.
+
+ When the number of archive files exceed the obsolete archives are deleted.
+ When the age of archive files exceed the obsolete archives are deleted.
@@ -23629,6 +23001,9 @@
Writes log messages to one or more files.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
@@ -23637,12 +23012,6 @@
Clean up period is defined in days.
-
-
- The maximum number of initialized files before clean up procedures are initiated,
- to keep the number of initialized files to a minimum. Chose 25 to cater for monthly rolling of log-files.
-
-
This value disables file archiving based on the size.
@@ -23650,7 +23019,7 @@
- Holds the initialised files each given time by the instance. Against each file, the last write time is stored.
+ Holds the initialized files each given time by the instance. Against each file, the last write time is stored.
Last write time is store in local time (no UTC).
@@ -23669,6 +23038,11 @@
The maximum number of archive files that should be kept.
+
+
+ The maximum days of archive files that should be kept.
+
+
The filename as target
@@ -23694,7 +23068,7 @@
Initializes a new instance of the class.
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
@@ -23702,7 +23076,7 @@
Initializes a new instance of the class.
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
Name of the target.
@@ -23721,20 +23095,20 @@
All Debug messages will go to Debug.log, all Info messages will go to Info.log and so on.
You can combine as many of the layout renderers as you want to produce an arbitrary log file name.
-
+
Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes.
If set to false, nothing gets written when the filename is wrong.
-
+
Is the an absolute or relative path?
-
+
@@ -23744,7 +23118,7 @@
Setting this to false may improve performance a bit, but you'll receive an error
when attempting to write to a directory that's not present.
-
+
@@ -23753,55 +23127,47 @@
This option works only when the "FileName" parameter denotes a single file.
-
+
Gets or sets a value indicating whether to replace file contents on each write instead of appending log message at the end.
-
+
Gets or sets a value indicating whether to keep log file open instead of opening and closing it on each logging event.
- Setting this property to True helps improve performance.
+ KeepFileOpen = true gives the best performance, and ensure the file-lock is not lost to other applications.
+ KeepFileOpen = false gives the best compability, but slow performance and lead to file-locking issues with other applications.
-
-
- Gets or sets the maximum number of log filenames that should be stored as existing.
-
-
- The bigger this number is the longer it will take to write each log record. The smaller the number is
- the higher the chance that the clean function will be run when no new files have been opened.
-
-
Gets or sets a value indicating whether to enable log file(s) to be deleted.
-
+
Gets or sets the file attributes (Windows only).
-
+
Gets or sets the line ending mode.
-
+
Gets or sets a value indicating whether to automatically flush the file buffers after each log message.
-
+
@@ -23820,36 +23186,34 @@
- Gets or sets the maximum number of seconds that files are kept open. If this number is negative the files are
- not automatically closed after a period of inactivity.
+ Gets or sets the maximum number of seconds that files are kept open. Zero or negative means disabled.
-
+
- Gets or sets the maximum number of seconds before open files are flushed. If this number is negative or zero
- the files are not flushed by timer.
+ Gets or sets the maximum number of seconds before open files are flushed. Zero or negative means disabled.
-
+
Gets or sets the log file buffer size in bytes.
-
+
Gets or sets the file encoding.
-
+
Gets or sets whether or not this target should just discard all data that its asked to write.
Mostly used for when testing NLog Stack except final write
-
+
@@ -23868,20 +23232,22 @@
This effectively prevents files from being kept open.
-
+
-
- Gets or sets a value indicating whether to write BOM (byte order mark) in created files
-
-
+
+ Gets or sets a value indicating whether to write BOM (byte order mark) in created files.
+
+ Defaults to true for UTF-16 and UTF-32
+
+
Gets or sets the number of times the write is appended on the file before NLog
discards the log message.
-
+
@@ -23901,7 +23267,7 @@
...
and so on.
-
+
@@ -23911,7 +23277,18 @@
This option works only when the "FileName" parameter denotes a single file.
After archiving the old file, the current log file will be empty.
-
+
+
+
+
+ Gets or sets a value of the file size threshold to archive old log file on startup.
+
+
+ This option won't work if is set to false
+ Default value is 0 which means that the file is archived as soon as archival on
+ startup is enabled.
+
+
@@ -23920,22 +23297,17 @@
This option works only when the "ArchiveNumbering" parameter is set either to Date or DateAndSequence.
-
+
Gets or sets the size in bytes above which log files will be automatically archived.
-
- Warning: combining this with isn't supported. We cannot create multiple archive files, if they should have the same name.
- Choose:
- Caution: Enabling this option can considerably slow down your file
- logging in multi-process scenarios. If only one process is going to
- be writing to the file, consider setting ConcurrentWrites
- to false for maximum performance.
+ Notice when combined with then it will attempt to append to any existing
+ archive file if grown above size multiple times. New archive file will be created when using
-
+
@@ -23945,20 +23317,14 @@
Files are moved to the archive as part of the write operation if the current period of time changes. For example
if the current hour changes from 10 to 11, the first write that will occur
on or after 11:00 will trigger the archiving.
-
- Caution: Enabling this option can considerably slow down your file
- logging in multi-process scenarios. If only one process is going to
- be writing to the file, consider setting ConcurrentWrites
- to false for maximum performance.
-
-
+
Is the an absolute or relative path?
-
+
@@ -23970,19 +23336,25 @@
the archiving strategy. The number of hash characters used determines
the number of numerical digits to be used for numbering files.
-
+
Gets or sets the maximum number of archive files that should be kept.
-
+
+
+
+
+ Gets or sets the maximum days of archive files that should be kept.
+
+
Gets or sets the way file archives are numbered.
-
+
@@ -23991,31 +23363,31 @@
on platforms other than .Net4.5.
Defaults to ZipArchiveFileCompressor on .Net4.5 and to null otherwise.
-
+
Gets or sets a value indicating whether to compress archive files into the zip archive format.
-
+
Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation.
-
+
Gets or sets a value indicating whether file creation calls should be synchronized by a system global mutex.
-
+
Gets or sets a value indicating whether the footer should be written only when the file is archived.
-
+
@@ -24078,21 +23450,6 @@
Closes the file(s) opened for writing.
-
-
- Can be used if has been enabled.
-
-
-
-
- Can be used if has been enabled.
-
-
-
-
- Can be used if has been enabled.
-
-
Writes the specified logging event to a file specified in the FileName
@@ -24107,16 +23464,6 @@
-
-
- NOTE! Obsolete, instead override Write(IList{AsyncLogEventInfo} logEvents)
-
- Writes an array of logging events to the log target. By default it iterates on all
- events and passes them to "Write" method. Inheriting classes can use this method to
- optimize batch writes.
-
- Logging events to be written out.
-
Writes the specified array of logging events to a file specified in the FileName
@@ -24129,13 +23476,6 @@
and can help improve performance.
-
-
- Returns estimated size for memory stream, based on events count and first event size in bytes.
-
- Count of events
- Bytes count of first event
-
Formats the log event for write.
@@ -24190,12 +23530,12 @@
Gets the correct formatting to be used based on the value of for converting values which will be inserting into file
+ cref="P:NLog.Targets.FileTarget.ArchiveEvery"/> for converting values which will be inserting into file
names during archiving.
This value will be computed only when a empty value or is passed into
- Date format to used irrespectively of value.
+ Date format to used irrespectively of value.
Formatting for dates.
@@ -24203,8 +23543,8 @@
Calculate the DateTime of the requested day of the week.
The DateTime of the previous log event.
- The next occuring day of the week to return a DateTime for.
- The DateTime of the next occuring dayOfWeek.
+ The next occurring day of the week to return a DateTime for.
+ The DateTime of the next occurring dayOfWeek.
For example: if previousLogEventTimestamp is Thursday 2017-03-02 and dayOfWeek is Sunday, this will return
Sunday 2017-03-05. If dayOfWeek is Thursday, this will return *next* Thursday 2017-03-09.
@@ -24236,7 +23576,13 @@
File has just been opened.
True when archive operation of the file was completed (by this target or a concurrent target)
-
+
+
+ Closes any active file-appenders that matches the input filenames.
+ File-appender is requested to invalidate/close its filehandle, but keeping its archive-mutex alive
+
+
+
Indicates if the automatic archiving process should be executed.
@@ -24244,29 +23590,36 @@
Log event that the instance is currently processing.
The size in bytes of the next chunk of data to be written in the file.
The DateTime of the previous log event for this file.
+ File has just been opened.
Filename to archive. If null, then nothing to archive.
Returns the correct filename to archive
-
-
+
Gets the file name for archiving, or null if archiving should not occur based on file size.
File name to be written.
The size in bytes of the next chunk of data to be written in the file.
+ File has just been opened.
Filename to archive. If null, then nothing to archive.
-
+
+
+ Check if archive operation should check previous filename, because FileAppenderCache tells us current filename no longer exists
+
+
+
Returns the file name for archiving, or null if archiving should not occur based on date/time.
File name to be written.
Log event that the instance is currently processing.
The DateTime of the previous log event for this file.
+ File has just been opened.
Filename to archive. If null, then nothing to archive.
@@ -24288,7 +23641,7 @@
- Initialise a file to be used by the instance. Based on the number of initialized
+ Initialize a file to be used by the instance. Based on the number of initialized
files and the values of various instance properties clean up and/or archiving processes can be invoked.
File name to be written.
@@ -24308,7 +23661,15 @@
The file path to write to.
-
+
+
+ Decision logic whether to archive logfile on startup.
+ and properties.
+
+ File name to be written.
+ Decision whether to archive or not.
+
+
Invokes the archiving and clean up of older archive file based on the values of
and
@@ -24335,13 +23696,27 @@
- The sequence of to be written in a file after applying any formating and any
+ The sequence of to be written in a file after applying any formatting and any
transformations required from the .
The layout used to render output message.
Sequence of to be written.
Usually it is used to render the header and hooter of the files.
+
+
+ may be configured to compress archived files in a custom way
+ by setting before logging your first event.
+
+
+
+
+ Create archiveFileName by compressing fileName.
+
+ Absolute path to the log file to compress.
+ Absolute path to the compressed archive file to create.
+ The name of the file inside the archive.
+
Controls the text and color formatting for
@@ -24355,7 +23730,7 @@
Optional StringBuilder to optimize performance
TextWriter for the console
-
+
Releases the TextWriter for the console after having built a colored text message (Restores console colors)
@@ -24363,21 +23738,24 @@
Active console stream
Original foreground color for console (If changed)
Original background color for console (If changed)
+ Flush TextWriter
-
+
Changes foreground color for the Colored TextWriter
Colored TextWriter
New foreground color for the console
+ Old previous backgroundColor color for the console
Old foreground color for the console
-
+
Changes backgroundColor color for the Colored TextWriter
Colored TextWriter
New backgroundColor color for the console
+ Old previous backgroundColor color for the console
Old backgroundColor color for the console
@@ -24416,12 +23794,13 @@
Default row highlight rules for the console printer
-
+
Check if cleanup should be performed on initialize new file
Base archive file pattern
Maximum number of archive files that should be kept
+ Maximum days of archive files that should be kept
True, when archive cleanup is needed
@@ -24447,14 +23826,14 @@
Existing files in the same archive
-
+
Return all files that should be removed from the provided archive.
Base archive file pattern
Existing files in the same archive
Maximum number of archive files that should be kept
-
+ Maximum days of archive files that should be kept
@@ -24469,23 +23848,9 @@
Absolute path to the log file to compress.
Absolute path to the compressed archive file to create.
-
-
- Interface for serialization of values, maybe even objects to JSON format.
- Useful for wrappers for existing serializers.
-
-
-
-
- Returns a serialization of an object
- into JSON format.
-
- The object to serialize to JSON.
- Serialized value (null = Serialize failed).
-
- Options for JSON serialisation
+ Options for JSON serialization
@@ -24495,7 +23860,7 @@
- Formatprovider for value
+ Format provider for value
@@ -24508,6 +23873,11 @@
Should non-ascii characters be encoded
+
+
+ Should forward slashes be escaped? If true, / will be converted to \/
+
+
Serialize enum as string value
@@ -24525,9 +23895,6 @@
How far down the rabbit hole should the Json Serializer go with object-reflection before stopping
-
- Initializes a new instance of the class.
-
Line ending mode.
@@ -24610,34 +23977,13 @@
The value of mode1.NewLineCharacters != mode2.NewLineCharacters.
-
- Returns a string representation of the log level.
-
- Log level name.
+
-
- Returns a hash code for this instance.
-
-
- A hash code for this instance, suitable for use in hashing algorithms
- and data structures like a hash table.
-
+
-
- Determines whether the specified is
- equal to this instance.
-
- The to compare with
- this instance.
-
- Value of true if the specified
- is equal to this instance; otherwise, false.
-
-
- The parameter is null.
-
+
Indicates whether the current object is equal to another object of the same type.
@@ -24650,169 +23996,26 @@
-
- Returns whether this converter can convert an object of the given type to the type of this converter, using the specified context.
-
-
- true if this converter can perform the conversion; otherwise, false.
-
- An that provides a format context. A that represents the type you want to convert from.
+
-
- Converts the given object to the type of this converter, using the specified context and culture information.
-
-
- An that represents the converted value.
-
- An that provides a format context. The to use as the current culture. The to convert. The conversion cannot be performed.
-
-
-
- Sends log messages to a NLog Receiver Service (using WCF or Web Services).
-
- Documentation on NLog Wiki
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- Name of the target.
-
-
-
- Gets or sets the endpoint address.
-
- The endpoint address.
-
-
-
-
- Gets or sets the name of the endpoint configuration in WCF configuration file.
-
- The name of the endpoint configuration.
-
-
-
-
- Gets or sets a value indicating whether to use binary message encoding.
-
-
-
-
-
- Gets or sets a value indicating whether to use a WCF service contract that is one way (fire and forget) or two way (request-reply)
-
-
-
-
-
- Gets or sets the client ID.
-
- The client ID.
-
-
-
-
- Gets the list of parameters.
-
- The parameters.
-
-
-
-
- Gets or sets a value indicating whether to include per-event properties in the payload sent to the server.
-
-
-
-
-
- Called when log events are being sent (test hook).
-
- The events.
- The async continuations.
- True if events should be sent, false to stop processing them.
-
-
-
- Writes logging event to the log target. Must be overridden in inheriting
- classes.
-
- Logging event to be written out.
-
-
-
- NOTE! Obsolete, instead override Write(IList{AsyncLogEventInfo} logEvents)
-
- Writes an array of logging events to the log target. By default it iterates on all
- events and passes them to "Write" method. Inheriting classes can use this method to
- optimize batch writes.
-
- Logging events to be written out.
-
-
-
- Writes an array of logging events to the log target. By default it iterates on all
- events and passes them to "Append" method. Inheriting classes can use this method to
- optimize batch writes.
-
- Logging events to be written out.
-
-
-
- Flush any pending log messages asynchronously (in case of asynchronous targets).
-
- The asynchronous continuation.
-
-
-
- Add value to the , returns ordinal in
-
-
- lookup so only unique items will be added to
- value to add
-
-
-
-
- Creating a new instance of WcfLogReceiverClient
-
- Inheritors can override this method and provide their own
- service configuration - binding and endpoint address
-
- This method marked as obsolete before NLog 4.3.11 and it may be removed in a future release.
-
-
-
- Creating a new instance of IWcfLogReceiverClient
-
- Inheritors can override this method and provide their own
- service configuration - binding and endpoint address
-
-
- virtual is used by endusers
+
Sends log messages by email using SMTP protocol.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- This assumes just one target and a single rule. More configuration
- options are described here.
-
-
To set up the log target programmatically use code like this:
@@ -24821,7 +24024,7 @@
which lets you send multiple log messages in single mail
- To set up the buffered mail target in the configuration file,
+ To set up the buffered mail target in the configuration file,
use the following syntax:
@@ -24836,9 +24039,18 @@
Initializes a new instance of the class.
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
+
+
+ Initializes a new instance of the class.
+
+
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
+
+ Name of the target.
+
Gets the mailSettings/smtp configuration from app.config in cases when we need those configuration.
@@ -24846,15 +24058,6 @@
Internal for mocking
-
-
- Initializes a new instance of the class.
-
-
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
-
- Name of the target.
-
Gets or sets sender's email address (e.g. joe@domain.com).
@@ -24985,35 +24188,22 @@
Warning: zero is not infinite waiting
-
+
- Renders the logging event message and adds it to the internal ArrayList of log messages.
+ Gets the array of email headers that are transmitted with this email message
- The logging event.
+
-
-
- NOTE! Obsolete, instead override Write(IList{AsyncLogEventInfo} logEvents)
-
- Writes an array of logging events to the log target. By default it iterates on all
- events and passes them to "Write" method. Inheriting classes can use this method to
- optimize batch writes.
-
- Logging events to be written out.
+
+
-
- Renders an array logging events.
-
- Array of logging events.
+
-
- Initializes the target. Can be used by inheriting classes
- to initialize logging.
-
+
-
+
Create mail and send with SMTP
@@ -25044,23 +24234,15 @@
-
- Create key for grouping. Needed for multiple events in one mailmessage
-
- event for rendering layouts
- string to group on
-
-
- Append rendered layout to the stringbuilder
+ Create key for grouping. Needed for multiple events in one mail message
- append to this
- event for rendering
- append if not null
+ event for rendering layouts
+ string to group on
- Create the mailmessage with the addresses, properties and body.
+ Create the mail message with the addresses, properties and body.
@@ -25074,20 +24256,19 @@
- Writes log messages to an ArrayList in memory for programmatic retrieval.
+ Writes log messages to in memory for programmatic retrieval.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- This assumes just one target and a single rule. More configuration
- options are described here.
-
-
To set up the log target programmatically use code like this:
@@ -25098,7 +24279,7 @@
Initializes a new instance of the class.
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
@@ -25106,7 +24287,7 @@
Initializes a new instance of the class.
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
Name of the target.
@@ -25121,9 +24302,15 @@
+
+
+
+
+
+
- Renders the logging event message and adds it to the internal ArrayList of log messages.
+ Renders the logging event message and adds to
The logging event.
@@ -25162,19 +24349,7 @@
Gets or sets the name of the parameter.
-
-
-
-
- Gets or sets the type of the parameter. Obsolete alias for
-
-
-
-
-
- Gets or sets the type of the parameter.
-
-
+
@@ -25182,22 +24357,46 @@
+
+
+ Gets or sets the type of the parameter. Obsolete alias for
+
+
+
+
+
+ Gets or sets the type of the parameter.
+
+
+
+
+
+ Gets or sets the fallback value when result value is not available
+
+
+
+
+
+ Render Result Value
+
+ Log event for rendering
+ Result value when available, else fallback to defaultValue
+
Calls the specified static method on each log message and passes contextual parameters to it.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- This assumes just one target and a single rule. More configuration
- options are described here.
-
-
To set up the log target programmatically use code like this:
@@ -25237,9 +24436,7 @@
Method to call on logevent.
-
- Initializes the target.
-
+
@@ -25269,10 +24466,7 @@
Gets the array of parameters to be passed.
-
-
-
-
+
@@ -25300,22 +24494,73 @@
Method call parameters.
+
+
+ Arguments for events.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Creates new instance of NetworkTargetLogEventDroppedEventArgs
+
+
+
+
+ The reason why log was dropped
+
+
+
+
+ The reason why log event was dropped by
+
+
+
+
+ Discarded LogEvent because message is bigger than
+
+
+
+
+ Discarded LogEvent because message queue was bigger than
+
+
+
+
+ Discarded LogEvent because attempted to open more than connections
+
+
+
+
+ Discarded LogEvent because of network communication error
+
+
Sends log messages over the network.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- This assumes just one target and a single rule. More configuration
- options are described here.
-
-
To set up the log target programmatically use code like this:
@@ -25327,14 +24572,8 @@
- NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol
- or you'll get TCP timeouts and your application will be very slow.
- Either switch to UDP transport or use AsyncWrapper target
- so that your application threads will not be blocked by the timing-out connection attempts.
-
-
- There are two specialized versions of the Network target: Chainsaw
- and NLogViewer which write to instances of Chainsaw log4j viewer
+ There are two specialized versions of the Network target: Chainsaw
+ and NLogViewer which write to instances of Chainsaw log4j viewer
or NLogViewer application respectively.
@@ -25344,7 +24583,7 @@
Initializes a new instance of the class.
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
@@ -25352,7 +24591,7 @@
Initializes a new instance of the class.
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
Name of the target.
@@ -25363,12 +24602,12 @@
The network address can be:
- - tcp://host:port - TCP (auto select IPv4/IPv6) (not supported on Windows Phone 7.0)
- - tcp4://host:port - force TCP/IPv4 (not supported on Windows Phone 7.0)
- - tcp6://host:port - force TCP/IPv6 (not supported on Windows Phone 7.0)
- - udp://host:port - UDP (auto select IPv4/IPv6, not supported on Silverlight and on Windows Phone 7.0)
- - udp4://host:port - force UDP/IPv4 (not supported on Silverlight and on Windows Phone 7.0)
- - udp6://host:port - force UDP/IPv6 (not supported on Silverlight and on Windows Phone 7.0)
+ - tcp://host:port - TCP (auto select IPv4/IPv6)
+ - tcp4://host:port - force TCP/IPv4
+ - tcp6://host:port - force TCP/IPv6
+ - udp://host:port - UDP (auto select IPv4/IPv6)
+ - udp4://host:port - force UDP/IPv4
+ - udp6://host:port - force UDP/IPv6
- http://host:port/pageName - HTTP using POST verb
- https://host:port/pageName - HTTPS using POST verb
@@ -25386,60 +24625,89 @@
Gets or sets a value indicating whether to append newline at the end of log message.
-
+
Gets or sets the end of line value if a newline is appended at the end of log message .
-
+
- Gets or sets the maximum message size in bytes.
+ Gets or sets the maximum message size in bytes. On limit breach then action is activated.
-
-
-
-
- Gets or sets the size of the connection cache (number of connections which are kept alive).
-
-
+
- Gets or sets the maximum current connections. 0 = no maximum.
+ Gets or sets the maximum simultaneous connections. Requires = false
+
+ When having reached the maximum limit, then action will apply.
+
- Gets or sets the action that should be taken if the will be more connections than .
+ Gets or sets the action that should be taken, when more connections than .
- Gets or sets the maximum queue size.
+ Gets or sets the maximum queue size for a single connection. Requires = true
+
+
+ When having reached the maximum limit, then action will apply.
+
+
+
+
+
+ Gets or sets the action that should be taken, when more pending messages than .
+
+
+ Occurs when LogEvent has been dropped.
+
+
+ - When internal queue is full and set to
+ - When connection-list is full and set to
+ - When message is too big and set to
+
+
+
+
+ Gets or sets the size of the connection cache (number of connections which are kept alive). Requires = true
+
+
+
- Gets or sets the action that should be taken if the message is larger than
- maxMessageSize.
+ Gets or sets the action that should be taken if the message is larger than
+
+ For TCP sockets then means no-limit, as TCP sockets
+ performs splitting automatically.
+
+ For UDP Network sender then means splitting the message
+ into smaller chunks. This can be useful on networks using DontFragment, which drops network packages
+ larger than MTU-size (1472 bytes).
+
Gets or sets the encoding to be used.
-
+
- Get or set the SSL/TLS protocols. Default no SSL/TLS is used. Currently only implemented for TCP.
+ Gets or sets the SSL/TLS protocols. Default no SSL/TLS is used. Currently only implemented for TCP.
@@ -25447,6 +24715,17 @@
The number of seconds a connection will remain idle before the first keep-alive probe is sent
+
+
+
+
+ Type of compression for protocol payload. Useful for UDP where datagram max-size is 8192 bytes.
+
+
+
+
+ Skip compression when protocol payload is below limit to reduce overhead in cpu-usage and additional headers
+
@@ -25455,9 +24734,7 @@
The asynchronous continuation.
-
- Closes the target.
-
+
@@ -25482,16 +24759,46 @@
Log event.
Byte array.
+
+
+ Type of compression for protocol payload
+
+
+
+
+ No compression
+
+
+
+
+ GZip optimal compression
+
+
+
+
+ GZip fastest compression
+
+
The action to be taken when there are more connections then the max.
+
+
+ Allow new connections when reaching max connection limit
+
+
Just allow it.
+
+
+ Discard new messages when reaching max connection limit
+
+
Discard the connection item.
@@ -25514,14 +24821,38 @@
- Split the message into smaller pieces.
+ Split the message into smaller pieces. Only relevant for UDP sockets, as TCP sockets does it automatically.
+
+ Udp-Network-Sender will split the message into smaller chunks that matches .
+ This can avoid network-package-drop when network uses DontFragment and message is larger than MTU-size (1472 bytes).
+
Discard the entire message.
+
+
+ The action to be taken when the queue overflows.
+
+
+
+
+ Grow the queue.
+
+
+
+
+ Discard the overflowing item.
+
+
+
+
+ Block until there's more room in the queue.
+
+
Represents a parameter to a NLogViewer target.
@@ -25536,45 +24867,38 @@
Gets or sets viewer parameter name.
-
+
Gets or sets the layout that should be use to calculate the value for the parameter.
-
+
Gets or sets whether an attribute with empty value should be included in the output
-
+
Sends log messages to the remote instance of NLog Viewer.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- This assumes just one target and a single rule. More configuration
- options are described here.
-
-
To set up the log target programmatically use code like this:
-
- NOTE: If your receiver application is ever likely to be off-line, don't use TCP protocol
- or you'll get TCP timeouts and your application will crawl.
- Either switch to UDP transport or use AsyncWrapper target
- so that your application threads will not be blocked by the timing-out connection attempts.
-
@@ -25582,7 +24906,7 @@
Initializes a new instance of the class.
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
@@ -25590,7 +24914,7 @@
Initializes a new instance of the class.
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
Name of the target.
@@ -25598,80 +24922,104 @@
Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema.
-
+
Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain.
-
+
Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network.
-
+
Gets or sets a value indicating whether to include source info (file name and line number) in the information sent over the network.
-
+
Gets or sets a value indicating whether to include dictionary contents.
-
+
- Gets or sets a value indicating whether to include stack contents.
+ Gets or sets whether to include log4j:NDC in output from nested context.
-
+
-
+
- Gets or sets a value indicating whether to include dictionary contents.
+ Gets or sets the option to include all properties from the log events
-
+
-
+
- Gets or sets a value indicating whether to include contents of the stack.
+ Gets or sets whether to include the contents of the properties-dictionary.
-
+
-
+
- Gets or sets the NDLC item separator.
+ Gets or sets whether to include log4j:NDC in output from nested context.
-
+
+
+
+
+ Gets or sets the separator for operation-states-stack.
+
+
Gets or sets the option to include all properties from the log events
-
+
+
+
+
+ Gets or sets a value indicating whether to include dictionary contents.
+
+
+
+
+
+ Gets or sets a value indicating whether to include contents of the stack.
+
+
+
+
+
+ Gets or sets the stack separator for log4j:NDC in output from nested context.
+
+
- Gets or sets the NDC item separator.
+ Gets or sets the stack separator for log4j:NDC in output from nested context.
-
+
Gets or sets the renderer for log4j:event logger-xml-attribute (Default ${logger})
-
+
Gets the collection of parameters. Each parameter contains a mapping
between NLog layout and a named parameter.
-
+
@@ -25682,24 +25030,23 @@
Gets or sets the instance of that is used to format log messages.
-
+
Discards log messages. Used mainly for debugging and benchmarking.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- This assumes just one target and a single rule. More configuration
- options are described here.
-
-
To set up the log target programmatically use code like this:
@@ -25715,18 +25062,12 @@
Initializes a new instance of the class.
-
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
-
Initializes a new instance of the class.
-
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
-
-
+ Name of the target.
@@ -25735,169 +25076,6 @@
The logging event.
-
-
- Outputs log messages through the OutputDebugString() Win32 API.
-
- Documentation on NLog Wiki
-
-
- To set up the target in the configuration file,
- use the following syntax:
-
-
-
- This assumes just one target and a single rule. More configuration
- options are described here.
-
-
- To set up the log target programmatically use code like this:
-
-
-
-
-
-
- Initializes a new instance of the class.
-
-
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
-
-
-
-
- Initializes a new instance of the class.
-
-
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
-
- Name of the target.
-
-
-
- Outputs the rendered logging event through the OutputDebugString() Win32 API.
-
- The logging event.
-
-
-
- Increments specified performance counter on each write.
-
- Documentation on NLog Wiki
-
-
- To set up the target in the configuration file,
- use the following syntax:
-
-
-
- This assumes just one target and a single rule. More configuration
- options are described here.
-
-
- To set up the log target programmatically use code like this:
-
-
-
-
- TODO:
- 1. Unable to create a category allowing multiple counter instances (.Net 2.0 API only, probably)
- 2. Is there any way of adding new counters without deleting the whole category?
- 3. There should be some mechanism of resetting the counter (e.g every day starts from 0), or auto-switching to
- another counter instance (with dynamic creation of new instance). This could be done with layouts.
-
-
-
-
- Initializes a new instance of the class.
-
-
-
-
- Initializes a new instance of the class.
-
- Name of the target.
-
-
-
- Gets or sets a value indicating whether performance counter should be automatically created.
-
-
-
-
-
- Gets or sets the name of the performance counter category.
-
-
-
-
-
- Gets or sets the name of the performance counter.
-
-
-
-
-
- Gets or sets the performance counter instance name.
-
-
-
-
-
- Gets or sets the counter help text.
-
-
-
-
-
- Gets or sets the performance counter type.
-
-
-
-
-
- The value by which to increment the counter.
-
-
-
-
-
- Performs installation which requires administrative permissions.
-
- The installation context.
-
-
-
- Performs uninstallation which requires administrative permissions.
-
- The installation context.
-
-
-
- Determines whether the item is installed.
-
- The installation context.
-
- Value indicating whether the item is installed or null if it is not possible to determine.
-
-
-
-
- Increments the configured performance counter.
-
- Log event.
-
-
-
- Closes the target and releases any unmanaged resources.
-
-
-
-
- Ensures that the performance counter has been initialized.
-
- True if the performance counter is operational, false otherwise.
-
SMTP authentication modes.
@@ -25935,7 +25113,7 @@
Gets or sets the name of the target.
-
+
@@ -25944,6 +25122,18 @@
+
+
+ NLog Layout are by default threadsafe, so multiple threads can be rendering logevents at the same time.
+ This ensure high concurrency with no lock-congestion for the application-threads, especially when using
+ or AsyncTaskTarget.
+
+ But if using custom or that are not
+ threadsafe, then this option can enabled to protect against thread-concurrency-issues. Allowing one
+ to update to NLog 5.0 without having to fix custom/external layout-dependencies.
+
+
+
Gets the object which can be used to synchronize asynchronous operations that must rely on the .
@@ -25959,11 +25149,6 @@
Gets a value indicating whether the target has been initialized.
-
-
- Can be used if has been enabled.
-
-
Initializes this instance.
@@ -25997,12 +25182,7 @@
-
- Returns a that represents this instance.
-
-
- A that represents this instance.
-
+
@@ -26022,6 +25202,11 @@
The log events.
+
+
+ LogEvent is written to target, but target failed to successfully initialize
+
+
Initializes this instance.
@@ -26041,25 +25226,24 @@
- Initializes the target. Can be used by inheriting classes
- to initialize logging.
+ Initializes the target before writing starts
- Closes the target and releases any unmanaged resources.
+ Closes the target to release any initialized resources
- Flush any pending log messages asynchronously (in case of asynchronous targets).
+ Flush any pending log messages
- The asynchronous continuation.
+ The asynchronous continuation parameter must be called on flush completed
+ The asynchronous continuation to be called on flush completed.
- Writes logging event to the log target. Must be overridden in inheriting
- classes.
+ Writes logging event to the target destination
Logging event to be written out.
@@ -26076,20 +25260,10 @@
!WARNING! Custom targets should only override this method if able to provide their
own synchronization mechanism. -objects are not guaranteed to be
- threadsafe, so using them without a SyncRoot-object can be dangerous.
+ thread-safe, so using them without a SyncRoot-object can be dangerous.
Log event to be written out.
-
-
- NOTE! Obsolete, instead override Write(IList{AsyncLogEventInfo} logEvents)
-
- Writes an array of logging events to the log target. By default it iterates on all
- events and passes them to "Write" method. Inheriting classes can use this method to
- optimize batch writes.
-
- Logging events to be written out.
-
Writes an array of logging events to the log target. By default it iterates on all
@@ -26098,18 +25272,6 @@
Logging events to be written out.
-
-
- NOTE! Obsolete, instead override WriteAsyncThreadSafe(IList{AsyncLogEventInfo} logEvents)
-
- Writes an array of logging events to the log target, in a thread safe manner.
-
- !WARNING! Custom targets should only override this method if able to provide their
- own synchronization mechanism. -objects are not guaranteed to be
- threadsafe, so using them without a SyncRoot-object can be dangerous.
-
- Logging events to be written out.
-
Writes an array of logging events to the log target, in a thread safe manner.
@@ -26117,7 +25279,7 @@
!WARNING! Custom targets should only override this method if able to provide their
own synchronization mechanism. -objects are not guaranteed to be
- threadsafe, so using them without a SyncRoot-object can be dangerous.
+ thread-safe, so using them without a SyncRoot-object can be dangerous.
Logging events to be written out.
@@ -26130,39 +25292,61 @@
- Renders the event info in layout.
+ Renders the logevent into a string-result using the provided layout
The layout.
- The event info.
+ The logevent info.
String representing log event.
+
+
+ Renders the logevent into a result-value by using the provided layout
+
+
+ The layout.
+ The logevent info.
+ Fallback value when no value available
+ Result value when available, else fallback to defaultValue
+
+
+
+ Resolve from DI
+
+ Avoid calling this while handling a LogEvent, since random deadlocks can occur.
+
+
+
+ Should the exception be rethrown?
+
+ Upgrade to private protected when using C# 7.2
+
+
Register a custom Target.
Short-cut for registering to default
- Type of the Target.
- Name of the Target.
+ Type of the Target.
+ The target type-alias for use in NLog configuration
Register a custom Target.
Short-cut for registering to default
- Type of the Target.
- Name of the Target.
+ Type of the Target.
+ The target type-alias for use in NLog configuration
- Marks class as a logging target and assigns a name to it.
+ Marks class as logging target and attaches a type-alias name for use in NLog configuration.
- This attribute is not required when registering the target in the API.
Initializes a new instance of the class.
- Name of the target.
+ The target type-alias for use in NLog configuration.
@@ -26195,37 +25379,93 @@
Gets or sets the name of the attribute.
-
+
Gets or sets the layout that will be rendered as the attribute's value.
-
-
-
-
- Gets or sets when an empty value should cause the property to be included
-
+
Gets or sets the type of the property.
+
+
+
+
+ Gets or sets the fallback value when result value is not available
+
+
+
+
+
+ Gets or sets when an empty value should cause the property to be included
+
+
+
+
+
+ Render Result Value
+
+ Log event for rendering
+ Result value when available, else fallback to defaultValue
-
- Represents target that supports context capture using MDLC, MDC, NDLC and NDC
-
+
+ Represents target that supports context capture of Properties + Nested-states
+
+
+ See NLog Wiki
+
+
+ [Target("MyFirst")]
+ public sealed class MyFirstTarget : TargetWithContext
+ {
+ public MyFirstTarget()
+ {
+ this.Host = "localhost";
+ }
+
+ [RequiredParameter]
+ public Layout Host { get; set; }
+
+ protected override void Write(LogEventInfo logEvent)
+ {
+ string logMessage = this.RenderLogEvent(this.Layout, logEvent);
+ string hostName = this.RenderLogEvent(this.Host, logEvent);
+ return SendTheMessageToRemoteHost(hostName, logMessage);
+ }
+
+ private void SendTheMessageToRemoteHost(string hostName, string message)
+ {
+ // To be implemented
+ }
+ }
+
+ Documentation on NLog Wiki
-
-
-
+
+ Gets or sets the option to include all properties from the log events
+
+
+
+
+
+ Gets or sets whether to include the contents of the properties-dictionary.
+
+
+
+
+
+ Gets or sets whether to include the contents of the nested-state-stack.
+
@@ -26268,14 +25508,17 @@
+
+
+ List of property names to exclude when is true
+
+
+
Constructor
-
-
-
Check if logevent has properties (or context properties)
@@ -26330,6 +25573,13 @@
Dictionary with MDC context if any, else null
+
+
+ Returns the captured snapshot of dictionary for the
+
+
+ Dictionary with ScopeContext properties if any, else null
+
Returns the captured snapshot of for the
@@ -26342,14 +25592,21 @@
Returns the captured snapshot of for the
- Dictionary with NDC context if any, else null
+ Collection with NDC context if any, else null
+
+
+
+ Returns the captured snapshot of nested states from for the
+
+
+ Collection of nested state objects if any, else null
Returns the captured snapshot of for the
- Dictionary with NDLC context if any, else null
+ Collection with NDLC context if any, else null
@@ -26385,6 +25642,14 @@
Optional pre-allocated dictionary for the snapshot
Dictionary with MDLC context if any, else null
+
+
+ Takes snapshot of dictionary for the
+
+
+ Optional pre-allocated dictionary for the snapshot
+ Dictionary with ScopeContext properties if any, else null
+
Take snapshot of a single object value from
@@ -26395,12 +25660,22 @@
Snapshot of MDLC value
Include object value in snapshot
+
+
+ Take snapshot of a single object value from dictionary
+
+ Log event
+ ScopeContext Dictionary key
+ ScopeContext Dictionary value
+ Snapshot of ScopeContext property-value
+ Include object value in snapshot
+
Takes snapshot of for the
- Dictionary with NDC context if any, else null
+ Collection with NDC context if any, else null
@@ -26416,7 +25691,14 @@
Takes snapshot of for the
- Dictionary with NDLC context if any, else null
+ Collection with NDLC context if any, else null
+
+
+
+ Takes snapshot of nested states from for the
+
+
+ Collection with stack items if any, else null
@@ -26427,6 +25709,15 @@
Snapshot of NDLC value
Include object value in snapshot
+
+
+ Take snapshot of a single object value from nested states
+
+ Log event
+ nested state value
+ Snapshot of stack item value
+ Include object value in snapshot
+
Take snapshot of a single object value
@@ -26437,35 +25728,36 @@
Snapshot of value
Include object value in snapshot
-
- Internal Layout that allows capture of MDC context
+
+ Internal Layout that allows capture of properties-dictionary
-
- Internal Layout that allows capture of NDC context
-
-
- Internal Layout that allows capture of MDLC context
-
-
- Internal Layout that allows capture of NDLC context
+
+ Internal Layout that allows capture of nested-states-stack
Represents target that supports string formatting using layouts.
+
+ See NLog Wiki
+
+ Documentation on NLog Wiki
Initializes a new instance of the class.
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
Gets or sets the layout used to format log messages.
+
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
+
@@ -26478,13 +25770,16 @@
Initializes a new instance of the class.
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
Gets or sets the text to be rendered.
+
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
+
@@ -26509,18 +25804,17 @@
Sends log messages through System.Diagnostics.Trace.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- This assumes just one target and a single rule. More configuration
- options are described here.
-
-
To set up the log target programmatically use code like this:
@@ -26528,16 +25822,25 @@
- Always use independent of
+ Force use independent of
-
+
+
+
+
+ Forward to (Instead of )
+
+
+ Trace.Fail can have special side-effects, and give fatal exceptions, message dialogs or Environment.FailFast
+
+
Initializes a new instance of the class.
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
@@ -26545,17 +25848,23 @@
Initializes a new instance of the class.
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
+ The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true}
Name of the target.
+
+
+
+
+
+
Writes the specified logging event to the facility.
Redirects the log message depending on and .
When is false:
- - writes to
+ - writes to
- writes to
- writes to
- writes to
@@ -26638,21 +25947,20 @@
Calls the specified web service on each log message.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
The web service must implement a method that accepts a number of string parameters.
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- This assumes just one target and a single rule. More configuration
- options are described here.
-
-
To set up the log target programmatically use code like this:
@@ -26683,6 +25991,12 @@
+
+
+ Gets or sets the value of the User-agent HTTP header.
+
+
+
Gets or sets the Web service method name. Only used with Soap.
@@ -26705,6 +26019,9 @@
Gets or sets the proxy configuration when calling web service
+
+ Changing ProxyType on Net5 (or newer) will turn off Http-connection-pooling
+
@@ -26791,31 +26108,20 @@
The logging event.
-
- Flush any pending log messages asynchronously (in case of asynchronous targets).
-
- The asynchronous continuation.
+
-
- Closes the target.
-
+
-
+
Builds the URL to use when calling the web service for a message, depending on the WebServiceProtocol.
-
-
-
+
Write from input to output. Fix the UTF-8 bom
-
-
-
-
@@ -26944,7 +26250,7 @@
Dequeues a maximum of count items from the queue
and adds returns the list containing them.
- Maximum number of items to be dequeued (-1 means everything).
+ Maximum number of items to be dequeued
The array of log events.
@@ -26972,12 +26278,12 @@
- Notifies about log event that was dropped when setted to
+ Occurs when LogEvent has been dropped, because internal queue is full and set to
- Notifies when queue size is growing over
+ Occurs when internal queue size is growing, because internal queue is full and set to
@@ -26996,10 +26302,13 @@
Provides asynchronous, buffered execution of target writes.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
- Asynchronous target wrapper allows the logger code to execute more quickly, by queueing
+ Asynchronous target wrapper allows the logger code to execute more quickly, by queuing
messages and processing them in a separate thread. You should wrap targets
that spend a non-trivial amount of time in their Write() method with asynchronous
target to speed up logging.
@@ -27018,13 +26327,12 @@
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- The above examples assume just one target and a single rule. See below for
- a programmatic configuration that's equivalent to the above config file:
+ To set up the log target programmatically use code like this:
@@ -27070,14 +26378,12 @@
- Raise event when Target cannot store LogEvent.
- Event arg contains lost LogEvents
+ Occurs when LogEvent has been dropped, because internal queue is full and set to
- Raises when event queue grow.
- Queue can grow when was setted to
+ Occurs when internal queue size is growing, because internal queue is full and set to
@@ -27085,26 +26391,30 @@
Gets or sets the action to be taken when the lazy writer thread request queue count
exceeds the set limit.
-
+
Gets or sets the limit on the number of requests in the lazy writer thread request queue.
-
+
- Gets or sets the limit of full s to write before yielding into
- Performance is better when writing many small batches, than writing a single large batch
+ Gets or sets the number of batches of to write before yielding into
+
+ Performance is better when writing many small batches, than writing a single large batch
+
Gets or sets whether to use the locking queue, instead of a lock-free concurrent queue
- The locking queue is less concurrent when many logger threads, but reduces memory allocation
+
+ The locking queue is less concurrent when many logger threads, but reduces memory allocation
+
@@ -27188,16 +26498,18 @@
Causes a flush on a wrapped target if LogEvent satisfies the .
If condition isn't set, flushes on each write.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- The above examples assume just one target and a single rule. See below for
- a programmatic configuration that's equivalent to the above config file:
+ To set up the log target programmatically use code like this:
@@ -27213,28 +26525,25 @@
Delay the flush until the LogEvent has been confirmed as written
+ If not explicitly set, then disabled by default for and AsyncTaskTarget
+
Only flush when LogEvent matches condition. Ignore explicit-flush, config-reload-flush and shutdown-flush
+
Initializes a new instance of the class.
-
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
-
Initializes a new instance of the class.
-
- The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message}
-
The wrapped target.
Name of the target
@@ -27245,9 +26554,7 @@
The wrapped target.
-
- Initializes the target.
-
+
@@ -27264,14 +26571,15 @@
The asynchronous continuation.
-
- Closes the target.
-
+
A target that buffers log events and sends them in batches to the wrapped target.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
@@ -27314,13 +26622,13 @@
The wrapped target.
Size of the buffer.
The flush timeout.
- The aciton to take when the buffer overflows.
+ The action to take when the buffer overflows.
Gets or sets the number of log events to be buffered.
-
+
@@ -27350,7 +26658,7 @@
setting to will flush the
entire buffer to the wrapped target.
-
+
@@ -27359,9 +26667,7 @@
The asynchronous continuation.
-
- Initializes the target.
-
+
@@ -27408,16 +26714,10 @@
-
- Returns the text representation of the object. Used for diagnostics.
-
- A string that describes the target.
+
-
- Writes logging event to the log target.
-
- Logging event to be written out.
+
@@ -27458,7 +26758,7 @@
Dequeues a maximum of count items from the queue
and adds returns the list containing them.
- Maximum number of items to be dequeued (-1 means everything).
+ Maximum number of items to be dequeued
The array of log events.
@@ -27477,18 +26777,20 @@
Provides fallback-on-error.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
This example causes the messages to be written to server1,
and if it fails, messages go to server2.
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- The above examples assume just one target and a single rule. See below for
- a programmatic configuration that's equivalent to the above config file:
+ To set up the log target programmatically use code like this:
@@ -27517,24 +26819,25 @@
-
+
-
+ Gets or sets whether to enable batching, but fallback will be handled individually
-
+
+
+
+
+ Forwards the log event to the sub-targets until one of them succeeds.
+
+ The log event.
+
+
+
Forwards the log event to the sub-targets until one of them succeeds.
- The log event.
-
- The method remembers the last-known-successful target
- and starts the iteration from it.
- If is set, the method
- resets the target to the first target
- stored in .
-
@@ -27569,17 +26872,19 @@
Filters log entries based on a condition.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
This example causes the messages not contains the string '1' to be ignored.
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- The above examples assume just one target and a single rule. See below for
- a programmatic configuration that's equivalent to the above config file:
+ To set up the log target programmatically use code like this:
@@ -27617,9 +26922,6 @@
-
-
-
Checks the condition against the passed log event.
@@ -27631,133 +26933,60 @@
-
+
- Impersonates another user for the duration of the write.
+ A target that buffers log events and sends them in batches to the wrapped target.
- Documentation on NLog Wiki
+
+ See NLog Wiki
+
+ Documentation on NLog Wiki
-
+
- Initializes a new instance of the class.
+ Identifier to perform group-by
-
+
- Initializes a new instance of the class.
+ Initializes a new instance of the class.
- Name of the target.
- The wrapped target.
-
+
- Initializes a new instance of the class.
+ Initializes a new instance of the class.
The wrapped target.
-
+
- Gets or sets username to change context to.
+ Initializes a new instance of the class.
-
+ The name of the target.
+ The wrapped target.
-
+
- Gets or sets the user account password.
+ Initializes a new instance of the class.
-
+ The name of the target.
+ The wrapped target.
+ Group by identifier.
-
-
- Gets or sets Windows domain name to change context to.
-
-
+
+
-
-
- Gets or sets the Logon Type.
-
-
-
-
-
- Gets or sets the type of the logon provider.
-
-
-
-
-
- Gets or sets the required impersonation level.
-
-
-
-
-
- Gets or sets a value indicating whether to revert to the credentials of the process instead of impersonating another user.
-
-
-
-
-
- Initializes the impersonation context.
-
-
-
-
- Closes the impersonation context.
-
-
-
-
- Changes the security context, forwards the call to the .Write()
- and switches the context back to original.
-
- The log event.
-
-
-
- NOTE! Obsolete, instead override Write(IList{AsyncLogEventInfo} logEvents)
-
- Writes an array of logging events to the log target. By default it iterates on all
- events and passes them to "Write" method. Inheriting classes can use this method to
- optimize batch writes.
-
- Logging events to be written out.
-
-
-
- Changes the security context, forwards the call to the .Write()
- and switches the context back to original.
-
- Log events.
-
-
-
- Flush any pending log messages (in case of asynchronous targets).
-
- The asynchronous continuation.
-
-
-
- Helper class which reverts the given
- to its original value as part of .
-
-
-
-
- Initializes a new instance of the class.
-
- The windows impersonation context.
-
-
-
- Reverts the impersonation context.
-
+
+
Limits the number of messages written per timespan to the wrapped target.
+
+ See NLog Wiki
+
+ Documentation on NLog Wiki
@@ -27803,12 +27032,6 @@
-
-
- Gets the DateTime when the current will be reset.
-
-
-
Gets the number of written in the current .
@@ -27834,7 +27057,10 @@
-
+
+ Initializes a new instance of the class.
+
+ LogEvent that have been dropped
@@ -27845,13 +27071,13 @@
Raises by when
queue is full
- and setted to
+ and set to
By default queue doubles it size.
- Contains items count and new queue size.
+ Initializes a new instance of the class.
Required queue size
Current queue size
@@ -27866,25 +27092,13 @@
Current requests count
-
-
- Logon provider.
-
-
-
-
- Use the standard logon provider for the system.
-
-
- The default security provider is negotiate, unless you pass NULL for the domain name and the user name
- is not in UPN format. In this case, the default provider is NTLM.
- NOTE: Windows 2000/NT: The default security provider is NTLM.
-
-
Filters buffered log entries based on a set of conditions that are evaluated on a group of events.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
PostFilteringWrapper must be used with some type of buffering target or wrapper, such as
@@ -27899,13 +27113,12 @@
functionality.
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- The above examples assume just one target and a single rule. See below for
- a programmatic configuration that's equivalent to the above config file:
+ To set up the log target programmatically use code like this:
@@ -27941,22 +27154,9 @@
-
-
-
-
-
- NOTE! Obsolete, instead override Write(IList{AsyncLogEventInfo} logEvents)
-
- Writes an array of logging events to the log target. By default it iterates on all
- events and passes them to "Write" method. Inheriting classes can use this method to
- optimize batch writes.
-
- Logging events to be written out.
-
Evaluates all filtering rules to find the first one that matches.
@@ -27977,19 +27177,21 @@
Sends log messages to a randomly selected target.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
This example causes the messages to be written to either file1.txt or file2.txt
chosen randomly on a per-message basis.
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- The above examples assume just one target and a single rule. See below for
- a programmatic configuration that's equivalent to the above config file:
+ To set up the log target programmatically use code like this:
@@ -28023,17 +27225,19 @@
Repeats each log event the specified number of times.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
This example causes each log message to be repeated 3 times.
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- The above examples assume just one target and a single rule. See below for
- a programmatic configuration that's equivalent to the above config file:
+ To set up the log target programmatically use code like this:
@@ -28074,18 +27278,20 @@
Retries in case of write error.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
This example causes each write attempt to be repeated 3 times,
sleeping 1 second between attempts if first one fails.
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- The above examples assume just one target and a single rule. See below for
- a programmatic configuration that's equivalent to the above config file:
+ To set up the log target programmatically use code like this:
@@ -28124,6 +27330,12 @@
+
+
+ Gets or sets whether to enable batching, and only apply single delay when a whole batch fails
+
+
+
Special SyncObject to allow closing down Target while busy retrying
@@ -28151,19 +27363,21 @@
Distributes log events to targets in a round-robin fashion.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
This example causes the messages to be written to either file1.txt or file2.txt.
Each odd message is written to file2.txt, each even message goes to file1.txt.
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- The above examples assume just one target and a single rule. See below for
- a programmatic configuration that's equivalent to the above config file:
+ To set up the log target programmatically use code like this:
@@ -28206,115 +27420,24 @@
In general request N goes to Targets[N % Targets.Count].
-
-
- Impersonation level.
-
-
-
-
- Anonymous Level.
-
-
-
-
- Identification Level.
-
-
-
-
- Impersonation Level.
-
-
-
-
- Delegation Level.
-
-
-
-
- Logon type.
-
-
-
-
- Interactive Logon.
-
-
- This logon type is intended for users who will be interactively using the computer, such as a user being logged on
- by a terminal server, remote shell, or similar process.
- This logon type has the additional expense of caching logon information for disconnected operations;
- therefore, it is inappropriate for some client/server applications,
- such as a mail server.
-
-
-
-
- Network Logon.
-
-
- This logon type is intended for high performance servers to authenticate plaintext passwords.
- The LogonUser function does not cache credentials for this logon type.
-
-
-
-
- Batch Logon.
-
-
- This logon type is intended for batch servers, where processes may be executing on behalf of a user without
- their direct intervention. This type is also for higher performance servers that process many plaintext
- authentication attempts at a time, such as mail or Web servers.
- The LogonUser function does not cache credentials for this logon type.
-
-
-
-
- Logon as a Service.
-
-
- Indicates a service-type logon. The account provided must have the service privilege enabled.
-
-
-
-
- Network Clear Text Logon.
-
-
- This logon type preserves the name and password in the authentication package, which allows the server to make
- connections to other network servers while impersonating the client. A server can accept plaintext credentials
- from a client, call LogonUser, verify that the user can access the system across the network, and still
- communicate with other servers.
- NOTE: Windows NT: This value is not supported.
-
-
-
-
- New Network Credentials.
-
-
- This logon type allows the caller to clone its current token and specify new credentials for outbound connections.
- The new logon session has the same local identifier but uses different credentials for other network connections.
- NOTE: This logon type is supported only by the LOGON32_PROVIDER_WINNT50 logon provider.
- NOTE: Windows NT: This value is not supported.
-
-
Writes log events to all targets.
+
+ See NLog Wiki
+
Documentation on NLog Wiki
This example causes the messages to be written to both file1.txt or file2.txt
- To set up the target in the configuration file,
+ To set up the target in the configuration file,
use the following syntax:
- The above examples assume just one target and a single rule. See below for
- a programmatic configuration that's equivalent to the above config file:
+ To set up the log target programmatically use code like this:
@@ -28343,16 +27466,6 @@
The log event.
-
-
- NOTE! Obsolete, instead override Write(IList{AsyncLogEventInfo} logEvents)
-
- Writes an array of logging events to the log target. By default it iterates on all
- events and passes them to "Write" method. Inheriting classes can use this method to
- optimize batch writes.
-
- Logging events to be written out.
-
Writes an array of logging events to the log target. By default it iterates on all
@@ -28373,16 +27486,10 @@
-
- Returns the text representation of the object. Used for diagnostics.
-
- A string that describes the target.
+
-
- Flush any pending log messages (in case of asynchronous targets).
-
- The asynchronous continuation.
+
@@ -28391,6 +27498,19 @@
Logging event to be written out.
+
+
+ Builtin IFileCompressor implementation utilizing the .Net4.5 specific
+ and is used as the default value for on .Net4.5.
+ So log files created via can be zipped when archived
+ w/o 3rd party zip library when run on .Net4.5 or higher.
+
+
+
+
+ Implements using the .Net4.5 specific
+
+
Current local time retrieved directly from DateTime.Now.
@@ -28542,7 +27662,852 @@
Initializes a new instance of the class.
- Name of the time source.
+ The Time type-alias for use in NLog configuration.
+
+
+
+ Indicates that the value of the marked element could be null sometimes,
+ so checking for null is required before its usage.
+
+
+ [CanBeNull] object Test() => null;
+
+ void UseTest() {
+ var p = Test();
+ var s = p.ToString(); // Warning: Possible 'System.NullReferenceException'
+ }
+
+
+
+
+ Indicates that the value of the marked element can never be null.
+
+
+ [NotNull] object Foo() {
+ return null; // Warning: Possible 'null' assignment
+ }
+
+
+
+
+ Can be applied to symbols of types derived from IEnumerable as well as to symbols of Task
+ and Lazy classes to indicate that the value of a collection item, of the Task.Result property
+ or of the Lazy.Value property can never be null.
+
+
+ public void Foo([ItemNotNull]List<string> books)
+ {
+ foreach (var book in books) {
+ if (book != null) // Warning: Expression is always true
+ Console.WriteLine(book.ToUpper());
+ }
+ }
+
+
+
+
+ Can be applied to symbols of types derived from IEnumerable as well as to symbols of Task
+ and Lazy classes to indicate that the value of a collection item, of the Task.Result property
+ or of the Lazy.Value property can be null.
+
+
+ public void Foo([ItemCanBeNull]List<string> books)
+ {
+ foreach (var book in books)
+ {
+ // Warning: Possible 'System.NullReferenceException'
+ Console.WriteLine(book.ToUpper());
+ }
+ }
+
+
+
+
+ Indicates that the marked method builds string by the format pattern and (optional) arguments.
+ The parameter, which contains the format string, should be given in the constructor. The format string
+ should be in -like form.
+
+
+ [StringFormatMethod("message")]
+ void ShowError(string message, params object[] args) { /* do something */ }
+
+ void Foo() {
+ ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
+ }
+
+
+
+
+ Specifies which parameter of an annotated method should be treated as the format string
+
+
+
+
+ Indicates that the marked parameter is a message template where placeholders are to be replaced by the following arguments
+ in the order in which they appear
+
+
+ void LogInfo([StructuredMessageTemplate]string message, params object[] args) { /* do something */ }
+
+ void Foo() {
+ LogInfo("User created: {username}"); // Warning: Non-existing argument in format string
+ }
+
+
+
+
+ Use this annotation to specify a type that contains static or const fields
+ with values for the annotated property/field/parameter.
+ The specified type will be used to improve completion suggestions.
+
+
+ namespace TestNamespace
+ {
+ public class Constants
+ {
+ public static int INT_CONST = 1;
+ public const string STRING_CONST = "1";
+ }
+
+ public class Class1
+ {
+ [ValueProvider("TestNamespace.Constants")] public int myField;
+ public void Foo([ValueProvider("TestNamespace.Constants")] string str) { }
+
+ public void Test()
+ {
+ Foo(/*try completion here*/);//
+ myField = /*try completion here*/
+ }
+ }
+ }
+
+
+
+
+ Indicates that the integral value falls into the specified interval.
+ It's allowed to specify multiple non-intersecting intervals.
+ Values of interval boundaries are inclusive.
+
+
+ void Foo([ValueRange(0, 100)] int value) {
+ if (value == -1) { // Warning: Expression is always 'false'
+ ...
+ }
+ }
+
+
+
+
+ Indicates that the integral value never falls below zero.
+
+
+ void Foo([NonNegativeValue] int value) {
+ if (value == -1) { // Warning: Expression is always 'false'
+ ...
+ }
+ }
+
+
+
+
+ Indicates that the function argument should be a string literal and match
+ one of the parameters of the caller function. This annotation is used for parameters
+ like 'string paramName' parameter of the constructor.
+
+
+ void Foo(string param) {
+ if (param == null)
+ throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol
+ }
+
+
+
+
+ Indicates that the method is contained in a type that implements
+ System.ComponentModel.INotifyPropertyChanged interface and this method
+ is used to notify that some property value changed.
+
+
+ The method should be non-static and conform to one of the supported signatures:
+
+ - NotifyChanged(string)
+ - NotifyChanged(params string[])
+ - NotifyChanged{T}(Expression{Func{T}})
+ - NotifyChanged{T,U}(Expression{Func{T,U}})
+ - SetProperty{T}(ref T, T, string)
+
+
+
+ public class Foo : INotifyPropertyChanged {
+ public event PropertyChangedEventHandler PropertyChanged;
+
+ [NotifyPropertyChangedInvocator]
+ protected virtual void NotifyChanged(string propertyName) { ... }
+
+ string _name;
+
+ public string Name {
+ get { return _name; }
+ set { _name = value; NotifyChanged("LastName"); /* Warning */ }
+ }
+ }
+
+ Examples of generated notifications:
+
+ - NotifyChanged("Property")
+ - NotifyChanged(() => Property)
+ - NotifyChanged((VM x) => x.Property)
+ - SetProperty(ref myField, value, "Property")
+
+
+
+
+
+ Describes dependency between method input and output.
+
+
+ Function Definition Table syntax:
+
+ - FDT ::= FDTRow [;FDTRow]*
+ - FDTRow ::= Input => Output | Output <= Input
+ - Input ::= ParameterName: Value [, Input]*
+ - Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value}
+ - Value ::= true | false | null | notnull | canbenull
+
+ If the method has a single input parameter, its name could be omitted.
+ Using halt (or void/nothing, which is the same) for the method output
+ means that the method doesn't return normally (throws or terminates the process).
+ Value canbenull is only applicable for output parameters.
+ You can use multiple [ContractAnnotation] for each FDT row, or use single attribute
+ with rows separated by the semicolon. There is no notion of order rows, all rows are checked
+ for applicability and applied per each program state tracked by the analysis engine.
+
+
+
+ [ContractAnnotation("=> halt")]
+ public void TerminationMethod()
+
+
+ [ContractAnnotation("null <= param:null")] // reverse condition syntax
+ public string GetName(string surname)
+
+
+ [ContractAnnotation("s:null => true")]
+ public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty()
+
+
+ // A method that returns null if the parameter is null,
+ // and not null if the parameter is not null
+ [ContractAnnotation("null => null; notnull => notnull")]
+ public object Transform(object data)
+
+
+ [ContractAnnotation("=> true, result: notnull; => false, result: null")]
+ public bool TryParse(string s, out Person result)
+
+
+
+
+
+ Indicates whether the marked element should be localized.
+
+
+ [LocalizationRequiredAttribute(true)]
+ class Foo {
+ string str = "my string"; // Warning: Localizable string
+ }
+
+
+
+
+ Indicates that the value of the marked type (or its derivatives)
+ cannot be compared using '==' or '!=' operators and Equals()
+ should be used instead. However, using '==' or '!=' for comparison
+ with null is always permitted.
+
+
+ [CannotApplyEqualityOperator]
+ class NoEquality { }
+
+ class UsesNoEquality {
+ void Test() {
+ var ca1 = new NoEquality();
+ var ca2 = new NoEquality();
+ if (ca1 != null) { // OK
+ bool condition = ca1 == ca2; // Warning
+ }
+ }
+ }
+
+
+
+
+ When applied to a target attribute, specifies a requirement for any type marked
+ with the target attribute to implement or inherit specific type or types.
+
+
+ [BaseTypeRequired(typeof(IComponent)] // Specify requirement
+ class ComponentAttribute : Attribute { }
+
+ [Component] // ComponentAttribute requires implementing IComponent interface
+ class MyComponent : IComponent { }
+
+
+
+
+ Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library),
+ so this symbol will be ignored by usage-checking inspections.
+ You can use and
+ to configure how this attribute is applied.
+
+
+ [UsedImplicitly]
+ public class TypeConverter {}
+
+ public class SummaryData
+ {
+ [UsedImplicitly(ImplicitUseKindFlags.InstantiatedWithFixedConstructorSignature)]
+ public SummaryData() {}
+ }
+
+ [UsedImplicitly(ImplicitUseTargetFlags.WithInheritors | ImplicitUseTargetFlags.Default)]
+ public interface IService {}
+
+
+
+
+ Can be applied to attributes, type parameters, and parameters of a type assignable from .
+ When applied to an attribute, the decorated attribute behaves the same as .
+ When applied to a type parameter or to a parameter of type ,
+ indicates that the corresponding type is used implicitly.
+
+
+
+
+ Specifies the details of implicitly used symbol when it is marked
+ with or .
+
+
+
+ Only entity marked with attribute considered used.
+
+
+ Indicates implicit assignment to a member.
+
+
+
+ Indicates implicit instantiation of a type with fixed constructor signature.
+ That means any unused constructor parameters won't be reported as such.
+
+
+
+ Indicates implicit instantiation of a type.
+
+
+
+ Specifies what is considered to be used implicitly when marked
+ with or .
+
+
+
+ Members of the type marked with the attribute are considered used.
+
+
+ Inherited entities are considered used.
+
+
+ Entity marked with the attribute and all its members considered used.
+
+
+
+ This attribute is intended to mark publicly available API,
+ which should not be removed and so is treated as used.
+
+
+
+
+ Tells the code analysis engine if the parameter is completely handled when the invoked method is on stack.
+ If the parameter is a delegate, indicates that delegate can only be invoked during method execution
+ (the delegate can be invoked zero or multiple times, but not stored to some field and invoked later,
+ when the containing method is no longer on the execution stack).
+ If the parameter is an enumerable, indicates that it is enumerated while the method is executed.
+ If is true, the attribute will only takes effect if the method invocation is located under the 'await' expression.
+
+
+
+
+ Require the method invocation to be used under the 'await' expression for this attribute to take effect on code analysis engine.
+ Can be used for delegate/enumerable parameters of 'async' methods.
+
+
+
+
+ Indicates that a method does not make any observable state changes.
+ The same as System.Diagnostics.Contracts.PureAttribute.
+
+
+ [Pure] int Multiply(int x, int y) => x * y;
+
+ void M() {
+ Multiply(123, 42); // Warning: Return value of pure method is not used
+ }
+
+
+
+
+ Indicates that the return value of the method invocation must be used.
+
+
+ Methods decorated with this attribute (in contrast to pure methods) might change state,
+ but make no sense without using their return value.
+ Similarly to , this attribute
+ will help to detect usages of the method when the return value is not used.
+ Optionally, you can specify a message to use when showing warnings, e.g.
+ [MustUseReturnValue("Use the return value to...")].
+
+
+
+
+ This annotation allows to enforce allocation-less usage patterns of delegates for performance-critical APIs.
+ When this annotation is applied to the parameter of delegate type, IDE checks the input argument of this parameter:
+ * When lambda expression or anonymous method is passed as an argument, IDE verifies that the passed closure
+ has no captures of the containing local variables and the compiler is able to cache the delegate instance
+ to avoid heap allocations. Otherwise the warning is produced.
+ * IDE warns when method name or local function name is passed as an argument as this always results
+ in heap allocation of the delegate instance.
+
+
+ In C# 9.0 code IDE would also suggest to annotate the anonymous function with 'static' modifier
+ to make use of the similar analysis provided by the language/compiler.
+
+
+
+
+ Indicates the type member or parameter of some type, that should be used instead of all other ways
+ to get the value of that type. This annotation is useful when you have some "context" value evaluated
+ and stored somewhere, meaning that all other ways to get this value must be consolidated with existing one.
+
+
+ class Foo {
+ [ProvidesContext] IBarService _barService = ...;
+
+ void ProcessNode(INode node) {
+ DoSomething(node, node.GetGlobalServices().Bar);
+ // ^ Warning: use value of '_barService' field
+ }
+ }
+
+
+
+
+ Indicates that a parameter is a path to a file or a folder within a web project.
+ Path can be relative or absolute, starting from web root (~).
+
+
+
+
+ An extension method marked with this attribute is processed by code completion
+ as a 'Source Template'. When the extension method is completed over some expression, its source code
+ is automatically expanded like a template at call site.
+
+
+ Template method body can contain valid source code and/or special comments starting with '$'.
+ Text inside these comments is added as source code when the template is applied. Template parameters
+ can be used either as additional method parameters or as identifiers wrapped in two '$' signs.
+ Use the attribute to specify macros for parameters.
+
+
+ In this example, the 'forEach' method is a source template available over all values
+ of enumerable types, producing ordinary C# 'foreach' statement and placing caret inside block:
+
+ [SourceTemplate]
+ public static void forEach<T>(this IEnumerable<T> xs) {
+ foreach (var x in xs) {
+ //$ $END$
+ }
+ }
+
+
+
+
+
+ Allows specifying a macro for a parameter of a source template.
+
+
+ You can apply the attribute on the whole method or on any of its additional parameters. The macro expression
+ is defined in the property. When applied on a method, the target
+ template parameter is defined in the property. To apply the macro silently
+ for the parameter, set the property value = -1.
+
+
+ Applying the attribute on a source template method:
+
+ [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")]
+ public static void forEach<T>(this IEnumerable<T> collection) {
+ foreach (var item in collection) {
+ //$ $END$
+ }
+ }
+
+ Applying the attribute on a template method parameter:
+
+ [SourceTemplate]
+ public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) {
+ /*$ var $x$Id = "$newguid$" + x.ToString();
+ x.DoSomething($x$Id); */
+ }
+
+
+
+
+
+ Allows specifying a macro that will be executed for a source template
+ parameter when the template is expanded.
+
+
+
+
+ Allows specifying which occurrence of the target parameter becomes editable when the template is deployed.
+
+
+ If the target parameter is used several times in the template, only one occurrence becomes editable;
+ other occurrences are changed synchronously. To specify the zero-based index of the editable occurrence,
+ use values >= 0. To make the parameter non-editable when the template is expanded, use -1.
+
+
+
+
+ Identifies the target parameter of a source template if the
+ is applied on a template method.
+
+
+
+
+ Indicates how method, constructor invocation, or property access
+ over collection type affects the contents of the collection.
+ When applied to a return value of a method indicates if the returned collection
+ is created exclusively for the caller (CollectionAccessType.UpdatedContent) or
+ can be read/updated from outside (CollectionAccessType.Read | CollectionAccessType.UpdatedContent)
+ Use to specify the access type.
+
+
+ Using this attribute only makes sense if all collection methods are marked with this attribute.
+
+
+ public class MyStringCollection : List<string>
+ {
+ [CollectionAccess(CollectionAccessType.Read)]
+ public string GetFirstString()
+ {
+ return this.ElementAt(0);
+ }
+ }
+ class Test
+ {
+ public void Foo()
+ {
+ // Warning: Contents of the collection is never updated
+ var col = new MyStringCollection();
+ string x = col.GetFirstString();
+ }
+ }
+
+
+
+
+ Provides a value for the to define
+ how the collection method invocation affects the contents of the collection.
+
+
+
+ Method does not use or modify content of the collection.
+
+
+ Method only reads content of the collection but does not modify it.
+
+
+ Method can change content of the collection but does not add new elements.
+
+
+ Method can add new elements to the collection.
+
+
+
+ Indicates that the marked method is assertion method, i.e. it halts the control flow if
+ one of the conditions is satisfied. To set the condition, mark one of the parameters with
+ attribute.
+
+
+
+
+ Indicates the condition parameter of the assertion method. The method itself should be
+ marked by attribute. The mandatory argument of
+ the attribute is the assertion type.
+
+
+
+
+ Specifies assertion type. If the assertion method argument satisfies the condition,
+ then the execution continues. Otherwise, execution is assumed to be halted.
+
+
+
+ Marked parameter should be evaluated to true.
+
+
+ Marked parameter should be evaluated to false.
+
+
+ Marked parameter should be evaluated to null value.
+
+
+ Marked parameter should be evaluated to not null value.
+
+
+
+ Indicates that the marked method unconditionally terminates control flow execution.
+ For example, it could unconditionally throw exception.
+
+
+
+
+ Indicates that the method is a pure LINQ method, with postponed enumeration (like Enumerable.Select,
+ .Where). This annotation allows inference of [InstantHandle] annotation for parameters
+ of delegate type by analyzing LINQ method chains.
+
+
+
+
+ Indicates that IEnumerable passed as a parameter is not enumerated.
+ Use this annotation to suppress the 'Possible multiple enumeration of IEnumerable' inspection.
+
+
+ static void ThrowIfNull<T>([NoEnumeration] T v, string n) where T : class
+ {
+ // custom check for null but no enumeration
+ }
+
+ void Foo(IEnumerable<string> values)
+ {
+ ThrowIfNull(values, nameof(values));
+ var x = values.ToList(); // No warnings about multiple enumeration
+ }
+
+
+
+
+ Indicates that the marked parameter, field, or property is a regular expression pattern.
+
+
+
+
+ Language of injected code fragment inside marked by string literal.
+
+
+
+
+ Indicates that the marked parameter, field, or property is accepting a string literal
+ containing code fragment in a language specified by the .
+
+
+ void Foo([LanguageInjection(InjectedLanguage.CSS, Prefix = "body{", Suffix = "}")] string cssProps)
+ {
+ // cssProps should only contains a list of CSS properties
+ }
+
+
+
+ Specify a language of injected code fragment.
+
+
+ Specify a string that "precedes" injected string literal.
+
+
+ Specify a string that "follows" injected string literal.
+
+
+
+ Prevents the Member Reordering feature from tossing members of the marked class.
+
+
+ The attribute must be mentioned in your member reordering patterns.
+
+
+
+
+ Initializes a new instance of the class
+ with the specified member types.
+
+ The types of members dynamically accessed.
+
+
+
+ Gets the which specifies the type
+ of members dynamically accessed.
+
+
+
+
+ Specifies the types of members that are dynamically accessed.
+
+ This enumeration has a attribute that allows a
+ bitwise combination of its member values.
+
+
+
+
+ Specifies no members.
+
+
+
+
+ Specifies the default, parameterless public constructor.
+
+
+
+
+ Specifies all public constructors.
+
+
+
+
+ Specifies all non-public constructors.
+
+
+
+
+ Specifies all public methods.
+
+
+
+
+ Specifies all non-public methods.
+
+
+
+
+ Specifies all public fields.
+
+
+
+
+ Specifies all non-public fields.
+
+
+
+
+ Specifies all public nested types.
+
+
+
+
+ Specifies all non-public nested types.
+
+
+
+
+ Specifies all public properties.
+
+
+
+
+ Specifies all non-public properties.
+
+
+
+
+ Specifies all public events.
+
+
+
+
+ Specifies all non-public events.
+
+
+
+
+ Specifies all interfaces implemented by the type.
+
+
+
+
+ Specifies all members.
+
+
+
+
+ Suppresses reporting of a specific rule violation, allowing multiple suppressions on a
+ single code artifact.
+
+
+ is different than
+ in that it doesn't have a
+ . So it is always preserved in the compiled assembly.
+
+
+
+
+ Initializes a new instance of the
+ class, specifying the category of the tool and the identifier for an analysis rule.
+
+ The category for the attribute.
+ The identifier of the analysis rule the attribute applies to.
+
+
+
+ Gets the category identifying the classification of the attribute.
+
+
+ The property describes the tool or tool analysis category
+ for which a message suppression attribute applies.
+
+
+
+
+ Gets the identifier of the analysis tool rule to be suppressed.
+
+
+ Concatenated together, the and
+ properties form a unique check identifier.
+
+
+
+
+ Gets or sets the scope of the code that is relevant for the attribute.
+
+
+ The Scope property is an optional argument that specifies the metadata scope for which
+ the attribute is relevant.
+
+
+
+
+ Gets or sets a fully qualified path that represents the target of the attribute.
+
+
+ The property is an optional argument identifying the analysis target
+ of the attribute. An example value is "System.IO.Stream.ctor():System.Void".
+ Because it is fully qualified, it can be long, particularly for targets such as parameters.
+ The analysis tool user interface should be capable of automatically formatting the parameter.
+
+
+
+
+ Gets or sets an optional argument expanding on exclusion criteria.
+
+
+ The property is an optional argument that specifies additional
+ exclusion where the literal metadata target is not sufficiently precise. For example,
+ the cannot be applied within a method,
+ and it may be desirable to suppress a violation against a statement in the method that will
+ give a rule violation, but not against all statements in the method.
+
+
+
+
+ Gets or sets the justification for suppressing the code analysis message.
+
diff --git a/packages/Common/Newtonsoft.Json.xml b/packages/Common/Newtonsoft.Json.xml
index 0cbf62cd5..2c981abf5 100644
--- a/packages/Common/Newtonsoft.Json.xml
+++ b/packages/Common/Newtonsoft.Json.xml
@@ -865,6 +865,32 @@
Converts a to and from Unix epoch time
+
+
+ Gets or sets a value indicating whether the dates before Unix epoch
+ should converted to and from JSON.
+
+
+ true to allow converting dates before Unix epoch to and from JSON;
+ false to throw an exception when a date being converted to or from JSON
+ occurred before Unix epoch. The default value is false.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+ true to allow converting dates before Unix epoch to and from JSON;
+ false to throw an exception when a date being converted to or from JSON
+ occurred before Unix epoch. The default value is false.
+
+
Writes the JSON representation of the object.
@@ -2332,6 +2358,105 @@
Represents a reader that provides fast, non-cached, forward-only access to serialized JSON data.
+
+
+ Asynchronously reads the next JSON token from the source.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns true if the next token was read successfully; false if there are no more tokens to read.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously skips the children of the current token.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously reads the next JSON token from the source as a [].
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the []. This result will be null at the end of an array.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously reads the next JSON token from the source as a .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the . This result will be null at the end of an array.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
Specifies the state of the reader.
@@ -2454,6 +2579,8 @@
Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a .
+ A null value means there is no maximum.
+ The default value is 64.
@@ -2913,7 +3040,7 @@
Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a .
A null value means there is no maximum.
- The default value is null.
+ The default value is 64.
@@ -3229,7 +3356,7 @@
Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a .
A null value means there is no maximum.
- The default value is null.
+ The default value is 64.
@@ -3296,11 +3423,107 @@
Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class
+ using values copied from the passed in .
+
+
Represents a reader that provides fast, non-cached, forward-only access to JSON text data.
+
+
+ Asynchronously reads the next JSON token from the source.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns true if the next token was read successfully; false if there are no more tokens to read.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously reads the next JSON token from the source as a [].
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the []. This result will be null at the end of an array.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously reads the next JSON token from the source as a of .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the of . This result will be null at the end of an array.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously reads the next JSON token from the source as a .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous read. The
+ property returns the . This result will be null at the end of an array.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
Initializes a new instance of the class with the specified .
@@ -3408,6 +3631,585 @@
Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data.
+
+
+ Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the JSON value delimiter.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the specified end token.
+
+ The end token to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously closes this writer.
+ If is set to true, the destination is also closed.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the end of the current JSON object or array.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes indent characters.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes an indent space.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes raw JSON without changing the writer's state.
+
+ The raw JSON to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a null value.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the property name of a name/value pair of a JSON object.
+
+ The name of the property.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the property name of a name/value pair of a JSON object.
+
+ The name of the property.
+ A flag to indicate whether the text should be escaped when it is written as a JSON property name.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the beginning of a JSON array.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the beginning of a JSON object.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the start of a constructor with the given name.
+
+ The name of the constructor.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes an undefined value.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the given white space.
+
+ The string of white space characters.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a [] value.
+
+ The [] value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes a comment /*...*/ containing the specified text.
+
+ Text to place inside the comment.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the end of an array.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the end of a constructor.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes the end of a JSON object.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
+
+
+ Asynchronously writes raw JSON where a value is expected and updates the writer's state.
+
+ The raw JSON to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ Derived classes must override this method to get asynchronous behaviour. Otherwise it will
+ execute synchronously, returning an already-completed task.
+
Gets or sets the writer's character array pool.
@@ -3901,6 +4703,642 @@
Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data.
+
+
+ Asynchronously closes this writer.
+ If is set to true, the destination is also closed.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously flushes whatever is in the buffer to the destination and also flushes the destination.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the specified end token.
+
+ The end token to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes indent characters.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the JSON value delimiter.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes an indent space.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes raw JSON without changing the writer's state.
+
+ The raw JSON to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the end of the current JSON object or array.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the end of an array.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the end of a constructor.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the end of a JSON object.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a null value.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the property name of a name/value pair of a JSON object.
+
+ The name of the property.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the property name of a name/value pair of a JSON object.
+
+ The name of the property.
+ A flag to indicate whether the text should be escaped when it is written as a JSON property name.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the beginning of a JSON array.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a comment /*...*/ containing the specified text.
+
+ Text to place inside the comment.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes raw JSON where a value is expected and updates the writer's state.
+
+ The raw JSON to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the start of a constructor with the given name.
+
+ The name of the constructor.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the beginning of a JSON object.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the current token.
+
+ The to read the token from.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the current token.
+
+ The to read the token from.
+ A flag indicating whether the current token's children should be written.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the token and its value.
+
+ The to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the token and its value.
+
+ The to write.
+
+ The value to write.
+ A value is only required for tokens that have an associated value, e.g. the property name for .
+ null can be passed to the method for tokens that don't have a value, e.g. .
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a [] value.
+
+ The [] value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a value.
+
+ The value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes a of value.
+
+ The of value to write.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes an undefined value.
+
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously writes the given white space.
+
+ The string of white space characters.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
+
+
+ Asynchronously ets the state of the .
+
+ The being written.
+ The value being written.
+ The token to monitor for cancellation requests. The default value is .
+ A that represents the asynchronous operation.
+ The default behaviour is to execute synchronously, returning an already-completed task. Derived
+ classes can override this behaviour for true asynchronicity.
+
Gets or sets a value indicating whether the destination should be closed when this writer is closed.
@@ -4592,6 +6030,34 @@
+
+
+ Writes this token to a asynchronously.
+
+ A into which this method will write.
+ The token to monitor for cancellation requests.
+ A collection of which will be used when writing the token.
+ A that represents the asynchronous write operation.
+
+
+
+ Asynchronously loads a from a .
+
+ A that will be read for the content of the .
+ If this is null, default load settings will be used.
+ The token to monitor for cancellation requests. The default value is .
+ A representing the asynchronous load. The property contains the JSON that was read from the specified .
+
+
+
+ Asynchronously loads a from a .
+
+ A that will be read for the content of the .
+ The used to load the JSON.
+ If this is null, default load settings will be used.
+ The token to monitor for cancellation requests. The default value is .
+ A representing the asynchronous load. The property contains the JSON that was read from the specified .
+
Gets the container's children tokens.
@@ -4782,6 +6248,37 @@
Represents a JSON constructor.
+
+
+ Writes this token to a asynchronously.
+
+ A into which this method will write.
+ The token to monitor for cancellation requests.
+ A collection of which will be used when writing the token.
+ A that represents the asynchronous write operation.
+
+
+
+ Asynchronously loads a from a .
+
+ A that will be read for the content of the .
+ The token to monitor for cancellation requests. The default value is .
+
+ A that represents the asynchronous load. The
+ property returns a that contains the JSON that was read from the specified .
+
+
+
+ Asynchronously loads a from a .
+
+ A that will be read for the content of the .
+ The used to load the JSON.
+ If this is null, default load settings will be used.
+ The token to monitor for cancellation requests. The default value is .
+
+ A that represents the asynchronous load. The
+ property returns a that contains the JSON that was read from the specified .
+
Gets the container's children tokens.
@@ -5070,6 +6567,37 @@
+
+
+ Writes this token to a asynchronously.
+
+ A into which this method will write.
+ The token to monitor for cancellation requests.
+ A collection of which will be used when writing the token.
+ A that represents the asynchronous write operation.
+
+
+
+ Asynchronously loads a from a .
+
+ A that will be read for the content of the .
+ The token to monitor for cancellation requests. The default value is .
+
+ A that represents the asynchronous load. The
+ property returns a that contains the JSON that was read from the specified .
+
+
+
+ Asynchronously loads a from a .
+
+ A that will be read for the content of the .
+ The used to load the JSON.
+ If this is null, default load settings will be used.
+ The token to monitor for cancellation requests. The default value is .
+
+ A that represents the asynchronous load. The
+ property returns a that contains the JSON that was read from the specified .
+
Gets the container's children tokens.
@@ -5319,6 +6847,35 @@
Represents a JSON property.
+
+
+ Writes this token to a asynchronously.
+
+ A into which this method will write.
+ The token to monitor for cancellation requests.
+ A collection of which will be used when writing the token.
+ A that represents the asynchronous write operation.
+
+
+
+ Asynchronously loads a from a .
+
+ A that will be read for the content of the .
+ The token to monitor for cancellation requests. The default value is .
+ A representing the asynchronous creation. The
+ property returns a that contains the JSON that was read from the specified .
+
+
+
+ Asynchronously loads a from a .
+
+ A that will be read for the content of the .
+ The used to load the JSON.
+ If this is null, default load settings will be used.
+ The token to monitor for cancellation requests. The default value is .
+ A representing the asynchronous creation. The
+ property returns a that contains the JSON that was read from the specified .
+
Gets the container's children tokens.
@@ -5478,6 +7035,15 @@
Represents a raw JSON string.
+
+
+ Asynchronously creates an instance of with the content of the reader's current token.
+
+ The reader.
+ The token to monitor for cancellation requests. The default value is .
+ A representing the asynchronous creation. The
+ property returns an instance of with the content of the reader's current token.
+
Initializes a new instance of the class from another object.
@@ -5497,6 +7063,25 @@
The reader.
An instance of with the content of the reader's current token.
+
+
+ Specifies the settings used when cloning JSON.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets a flag that indicates whether to copy annotations when cloning a .
+ The default value is true.
+
+
+ A flag that indicates whether to copy annotations when cloning a .
+
+
Specifies the settings used when loading JSON.
@@ -5558,11 +7143,107 @@
The comparison used to match property names while merging.
+
+
+ Specifies the settings used when selecting JSON.
+
+
+
+
+ Gets or sets a timeout that will be used when executing regular expressions.
+
+ The timeout that will be used when executing regular expressions.
+
+
+
+ Gets or sets a flag that indicates whether an error should be thrown if
+ no tokens are found when evaluating part of the expression.
+
+
+ A flag that indicates whether an error should be thrown if
+ no tokens are found when evaluating part of the expression.
+
+
Represents an abstract JSON token.
+
+
+ Writes this token to a asynchronously.
+
+ A into which this method will write.
+ The token to monitor for cancellation requests.
+ A collection of which will be used when writing the token.
+ A that represents the asynchronous write operation.
+
+
+
+ Writes this token to a asynchronously.
+
+ A into which this method will write.
+ A collection of which will be used when writing the token.
+ A that represents the asynchronous write operation.
+
+
+
+ Asynchronously creates a from a .
+
+ An positioned at the token to read into this .
+ The token to monitor for cancellation requests. The default value is .
+
+ A that represents the asynchronous creation. The
+ property returns a that contains
+ the token and its descendant tokens
+ that were read from the reader. The runtime type of the token is determined
+ by the token type of the first token encountered in the reader.
+
+
+
+
+ Asynchronously creates a from a .
+
+ An positioned at the token to read into this .
+ The used to load the JSON.
+ If this is null, default load settings will be used.
+ The token to monitor for cancellation requests. The default value is .
+
+ A that represents the asynchronous creation. The
+ property returns a that contains
+ the token and its descendant tokens
+ that were read from the reader. The runtime type of the token is determined
+ by the token type of the first token encountered in the reader.
+
+
+
+
+ Asynchronously creates a from a .
+
+ A positioned at the token to read into this .
+ The token to monitor for cancellation requests. The default value is .
+
+ A that represents the asynchronous creation. The
+ property returns a that contains the token and its descendant tokens
+ that were read from the reader. The runtime type of the token is determined
+ by the token type of the first token encountered in the reader.
+
+
+
+
+ Asynchronously creates a from a .
+
+ A positioned at the token to read into this .
+ The used to load the JSON.
+ If this is null, default load settings will be used.
+ The token to monitor for cancellation requests. The default value is .
+
+ A that represents the asynchronous creation. The
+ property returns a that contains the token and its descendant tokens
+ that were read from the reader. The runtime type of the token is determined
+ by the token type of the first token encountered in the reader.
+
+
Gets a comparer that can compare two tokens for value equality.
@@ -6378,6 +8059,16 @@
A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression.
A .
+
+
+ Selects a using a JSONPath expression. Selects the token that matches the object path.
+
+
+ A that contains a JSONPath expression.
+
+ The used to select tokens.
+ A .
+
Selects a collection of elements using a JSONPath expression.
@@ -6397,6 +8088,16 @@
A flag to indicate whether an error should be thrown if no tokens are found when evaluating part of the expression.
An of that contains the selected elements.
+
+
+ Selects a collection of elements using a JSONPath expression.
+
+
+ A that contains a JSONPath expression.
+
+ The used to select tokens.
+ An of that contains the selected elements.
+
Returns the responsible for binding operations performed on this object.
@@ -6421,6 +8122,13 @@
A new instance of the .
+
+
+ Creates a new instance of the . All child tokens are recursively cloned.
+
+ A object to configure cloning settings.
+ A new instance of the .
+
Adds an object to the annotation list of this .
@@ -6844,6 +8552,15 @@
Represents a value in JSON (string, integer, date, etc).
+
+
+ Writes this token to a asynchronously.
+
+ A into which this method will write.
+ The token to monitor for cancellation requests.
+ A collection of which will be used when writing the token.
+ A that represents the asynchronous write operation.
+
Initializes a new instance of the class from another object.
diff --git a/packages/Common/NlogConfig.xml b/packages/Common/NlogConfig.xml
index b6e01e2b6..0210ced7a 100644
--- a/packages/Common/NlogConfig.xml
+++ b/packages/Common/NlogConfig.xml
@@ -1,64 +1,87 @@
-
+
+
+
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/packages/Common/Xylem.Common.CommonCore.Configuration.dll b/packages/Common/Xylem.Common.CommonCore.Configuration.dll
index 85161dfa6..0b7328915 100644
Binary files a/packages/Common/Xylem.Common.CommonCore.Configuration.dll and b/packages/Common/Xylem.Common.CommonCore.Configuration.dll differ
diff --git a/packages/Common/Xylem.Common.CommonCore.Configuration.pdb b/packages/Common/Xylem.Common.CommonCore.Configuration.pdb
index 5b340ed9f..08282ede8 100644
Binary files a/packages/Common/Xylem.Common.CommonCore.Configuration.pdb and b/packages/Common/Xylem.Common.CommonCore.Configuration.pdb differ
diff --git a/packages/Common/Xylem.Common.CommonCore.ThreadWatcher.dll b/packages/Common/Xylem.Common.CommonCore.ThreadWatcher.dll
index cafde6486..f69cd2cea 100644
Binary files a/packages/Common/Xylem.Common.CommonCore.ThreadWatcher.dll and b/packages/Common/Xylem.Common.CommonCore.ThreadWatcher.dll differ
diff --git a/packages/Common/Xylem.Common.CommonCore.ThreadWatcher.pdb b/packages/Common/Xylem.Common.CommonCore.ThreadWatcher.pdb
index 85081b034..e03753b6b 100644
Binary files a/packages/Common/Xylem.Common.CommonCore.ThreadWatcher.pdb and b/packages/Common/Xylem.Common.CommonCore.ThreadWatcher.pdb differ
diff --git a/packages/Common/Xylem.Common.CommonCore.dll b/packages/Common/Xylem.Common.CommonCore.dll
index 870d347eb..dac35f3c5 100644
Binary files a/packages/Common/Xylem.Common.CommonCore.dll and b/packages/Common/Xylem.Common.CommonCore.dll differ
diff --git a/packages/Common/Xylem.Common.CommonCore.pdb b/packages/Common/Xylem.Common.CommonCore.pdb
index dfa1388e8..fe955161c 100644
Binary files a/packages/Common/Xylem.Common.CommonCore.pdb and b/packages/Common/Xylem.Common.CommonCore.pdb differ
diff --git a/packages/Common/Xylem.Common.Hardware.Interfaces.Ports.PortCore.dll b/packages/Common/Xylem.Common.Hardware.Interfaces.Ports.PortCore.dll
index 7895ec9ea..2aa7ee2f8 100644
Binary files a/packages/Common/Xylem.Common.Hardware.Interfaces.Ports.PortCore.dll and b/packages/Common/Xylem.Common.Hardware.Interfaces.Ports.PortCore.dll differ
diff --git a/packages/Common/Xylem.Common.Hardware.Interfaces.Ports.PortCore.pdb b/packages/Common/Xylem.Common.Hardware.Interfaces.Ports.PortCore.pdb
index cd27648ef..35c0572c3 100644
Binary files a/packages/Common/Xylem.Common.Hardware.Interfaces.Ports.PortCore.pdb and b/packages/Common/Xylem.Common.Hardware.Interfaces.Ports.PortCore.pdb differ
diff --git a/packages/Common/Xylem.Common.Hardware.Interfaces.Ports.PortCore.xml b/packages/Common/Xylem.Common.Hardware.Interfaces.Ports.PortCore.xml
index 31aa9063e..743acbe1d 100644
--- a/packages/Common/Xylem.Common.Hardware.Interfaces.Ports.PortCore.xml
+++ b/packages/Common/Xylem.Common.Hardware.Interfaces.Ports.PortCore.xml
@@ -152,14 +152,80 @@
name of the port as string
+
+
+ Collection of port settings
+
+
+
+
+ Assigns a port name and creates the serial port object
+ Port name e.g. "COM2"
+
+
+
+
+ setup of port type from name (referenced as "Type" in config file)
+
+
+
+
+ using dotNets for connection
+
+
+
+
+ using dotNets for connection
+
+
+
+
+ Container for port configuration
+
+
+
+
+ Slot number
+
+
+
+
+ Request port settings
+
+
+
+
+ Streaming port settings
+
+
+
+
+ Streaming port settings
+
+
+
+
+ Definition of type for slot
+
+
+
+
+ Cordonel used as DUT with two serial ports
+
+
+
+
+ Cordonel used as temperature meter with one serial port streaming the temperature
+
+
Store Port settings set most likely from transmit protocol
-
+
- The transmission protocol needs to inform the communication port how to setup,
+ The transmission protocol needs to inform the communication port how to set up,
this is the data container.
@@ -169,6 +235,29 @@
+
+
+
+
+ - String delimiter for ASCII to support others than LF "\n",
+ - Flexible DataBits,
+ - Flexible parity.
+
+
+
+
+ String delimiter for ASCII to support others than LF "\n"
+
+
+
+
+ Flexible DataBits to support 7 bits.
+
+
+
+
+ Flexible parity
+
diff --git a/packages/Common/Xylem.Common.Hardware.Interfaces.Ports.SerialPorts.dll b/packages/Common/Xylem.Common.Hardware.Interfaces.Ports.SerialPorts.dll
index f43323c34..1349ceb26 100644
Binary files a/packages/Common/Xylem.Common.Hardware.Interfaces.Ports.SerialPorts.dll and b/packages/Common/Xylem.Common.Hardware.Interfaces.Ports.SerialPorts.dll differ
diff --git a/packages/Common/Xylem.Common.Hardware.Interfaces.Ports.SerialPorts.pdb b/packages/Common/Xylem.Common.Hardware.Interfaces.Ports.SerialPorts.pdb
index 27ec84291..af131b449 100644
Binary files a/packages/Common/Xylem.Common.Hardware.Interfaces.Ports.SerialPorts.pdb and b/packages/Common/Xylem.Common.Hardware.Interfaces.Ports.SerialPorts.pdb differ
diff --git a/packages/Common/Xylem.Common.Hardware.Interfaces.Protocols.TransmitProtocol.dll b/packages/Common/Xylem.Common.Hardware.Interfaces.Protocols.TransmitProtocol.dll
index 1a01bc8a4..4acc353bf 100644
Binary files a/packages/Common/Xylem.Common.Hardware.Interfaces.Protocols.TransmitProtocol.dll and b/packages/Common/Xylem.Common.Hardware.Interfaces.Protocols.TransmitProtocol.dll differ
diff --git a/packages/Common/Xylem.Common.Hardware.Interfaces.Protocols.TransmitProtocol.pdb b/packages/Common/Xylem.Common.Hardware.Interfaces.Protocols.TransmitProtocol.pdb
index d34e43429..0b436f273 100644
Binary files a/packages/Common/Xylem.Common.Hardware.Interfaces.Protocols.TransmitProtocol.pdb and b/packages/Common/Xylem.Common.Hardware.Interfaces.Protocols.TransmitProtocol.pdb differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Applications.dll b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Applications.dll
index 4a8254828..19f7c844f 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Applications.dll and b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Applications.dll differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Applications.pdb b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Applications.pdb
index 7e678c35b..e7b976d3b 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Applications.pdb and b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Applications.pdb differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.dll b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.dll
index 10895e3f6..09c531497 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.dll and b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.dll differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.pdb b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.pdb
index 41dae7438..cffb60645 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.pdb and b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.pdb differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.xml b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.xml
index 76a62c827..0469aee6d 100644
--- a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.xml
+++ b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages.xml
@@ -4,29 +4,6 @@
Xylem.Common.Hardware.WaterMeter.Genesis.DataPackages
-
-
-
- abstract for set structure for BaseDataEventArgs
-
-
-
-
- 'Base' get event record form real child.
-
-
-
-
-
- get real Event record
-
-
-
-
-
- Holds the record before decoding, for logging
-
-
@@ -38,6 +15,17 @@
+
+
+
+
+
+ new record from Stream
+
+
+
+
+
@@ -84,6 +72,105 @@
+
+
+
+ Streaming record for protocol M (information about bend detection and correction)
+
+
+
+
+ The status of the U0 detection for this measurement
+
+
+
+
+ Status okay
+
+
+
+
+ Error code as defined by field name
+
+
+
+
+ Error code as defined by field name
+
+
+
+
+ Error code as defined by field name
+
+
+
+
+ Error code as defined by field name
+
+
+
+
+ An enum describing the installation type detected
+
+
+
+
+ Installation type code as defined by field name
+
+
+
+
+ Installation type code as defined by field name
+
+
+
+
+ Installation type code as defined by field name
+
+
+
+
+ Status of U0 Bend detection
+
+
+
+
+ Installation type code
+
+
+
+
+ The proportion of the installation correction to apply based on the detected
+ installation. 100% == 0x8000
+
+
+
+
+ The default proportion of the installation correction to apply based on the
+ detected installation. 100% == 0x8000
+
+
+
+
+ Scale for correction factor to apply to convert it to percentage value 100% == 0x8000
+
+
+
+
+ The volume in internal units before correction applied
+
+
+
+
+ The volume in internal units after correction applied
+
+
+
+
+ Get result as string
+
+
+
@@ -105,12 +192,12 @@
delta time of flight in seconds
-
+
total time of flight in cordonel units
-
+
delta time of flight in cordonel units
@@ -201,5 +288,97 @@
+
+
+ All parameters needed for radio setup
+
+
+
+
+ Pcb identification
+
+
+
+
+ Serial number
+
+
+
+
+ Radio address
+
+
+
+
+ Power level
+
+
+
+
+ Power level option
+
+
+
+
+ New code for impedance
+
+
+
+
+ Impedance code option
+
+
+
+
+ Encryption key
+
+
+
+
+ Frequency offset
+
+
+
+
+
+
+
+
+
+ Register address and value to DB
+
+
+
+
+
+
+ Address
+
+
+
+
+ Value
+
+
+
+
+ Temperature Time Of Flight calculation
+
+
+
+
+ Reference data
+
+
+
+
+ Reference temperature
+
+
+
+
+ Time Of Flight
+
+
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig.dll b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig.dll
index 686952a08..ece1d7de1 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig.dll and b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig.dll differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig.pdb b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig.pdb
index c3dc4c543..2720205ed 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig.pdb and b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisConfig.pdb differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.dll b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.dll
index fe2d7b07f..e55455ab0 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.dll and b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.dll differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.pdb b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.pdb
index eda7170ab..414f7d14e 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.pdb and b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.pdb differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.xml b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.xml
index 02326ccb3..706df13ac 100644
--- a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.xml
+++ b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore.xml
@@ -4,12 +4,181 @@
Xylem.Common.Hardware.WaterMeter.Genesis.GenesisCore
+
+
+ Alarm messages
+
+
+
+
+ Power correction constants
+
+
+
+
+ Threshold for power correction EMEA version
+
+
+
+
+ Threshold for power correction NA version
+
+
+
+
+ Minimum region radio current NA
+
+
+
+
+ Minimum region radio current sensus radio RF mode EMEA
+
+
+
+
+ Minimum region radio current sensus radio TFX mode EMEA
+
+
+
+
+ Fixed current in production if production values are not logged in DB
+ and dispatched as 0 or null.
+
+
+
+
+ Fixed region radio current NA
+
+
+
+
+ Fixed region radio current sensus radio RF mode EMEA
+
+
+
+
+ Fixed region radio current sensus radio RF mode EMEA
+
+
+
+
+ Fixed region radio current sensus radio TFX mode EMEA
+
+
+
+
+ Pulse report length for pulse mode 1 to 4 even distribution 0
+
+
+
+
+ Pulse report length for pulse mode 1 to 4 even distribution 1
+
+
+
+
+ Pulse report length for pulse mode 5 to 6 even distribution 0
+
+
+
+
+ Pulse report length for pulse mode 5 to 6 even distribution 1
+
+
+
+
+ TFX mode mask of sensus radio system state
+
+
+
+
+ Update capability check for all necessary settings according to meter.
+
+
+
+
+ It is allowed to upgrade the metrology, causing an upgrade capability check to pass always.
+
+
+
+
+ The name of the metrology application.
+
+
+
+
+ Common definition for Meter handling in production and on test benches
+
+
+ represents any error state a meter can have
+ if hash code is 0 everything is running
+ is Flags, so watch out to check with hasFlag!
+
+
+
+
+ everything is good
+
+
+
+
+ problems on initialization
+
+
+
+
+ problems on Measurement
+
+
+
+
+ Problem on communication with meter
+
+
+
+
+ Problem on optical output on meter
+
+
+
+
+ if pulse can not readout
+
+
+
+
+ no (or no good) reference flow available
+
+
+
+
+ Calibration went wrong
+
+
+
+
+ calibration is out of range. Check documentation from meter to find limitation
+
+
+
+
+ blue screen like error
+
+
Streaming modes that supported by genesis meter.
Set meter to this Streaming mode means that , the meter pushes mode-specific record to port without any responses
+
+
+ Test mode with raw record to log.
+ Should give one
+ 3 times and
+ one
+
+
Test mode with raw record to log. Should give one
@@ -36,6 +205,417 @@
not set or an new not supported Streaming mode
+
+
+ Interface of special GenesisMeter derived from IMeter
+
+
+
+
+ Represent
+ proposed for login
+
+
+
+
+ A new meter has to be checked for the reboot counter. On retries the reboot counter
+ may have increased on unsuccessfully after-reboot procedure. This would force failing
+ the 'ConnectCordonel'.
+
+
+
+
+ Interface information
+
+
+
+
+ This FW version is supported by the interface "configuration.json".
+
+
+
+
+ Transmit protocol access for underlie objects to change response timeout
+
+
+
+
+ List of all present meter applications installed in meter
+
+
+
+
+ Successfully logged on to meter
+
+
+
+
+ Core revision of boot code.
+
+
+
+
+ Core revision of boot code as string.
+
+
+
+
+ This is the FLEXNETVERSION version which describes the entire packet.
+
+
+
+
+ This is the FLEXNETVERSION version which describes the entire packet.
+
+
+
+
+ This is the Metrology Lookup Table CRC.
+
+
+
+
+ This is the meter size.
+
+
+
+
+ Length of the meter.
+
+
+
+
+ Pressure sensor assembled to meter.
+
+
+
+
+ Region (EMEA, NA or China).
+
+
+
+
+ Radio frequency in MHz (433 or 868 or null).
+
+
+
+
+ Metrology upgrade permission.
+
+
+
+
+ Order number under which this meter has to be produced
+
+
+
+
+ Radio address
+
+
+
+
+ Process configuration
+
+
+
+
+ Customer serial number for informal issues
+
+
+
+
+ Unlocked the property change ability for special sequences.
+
+
+
+
+ Check region and size.
+ After reading the version, all valid registers are going to be selected.
+
+
+
+
+ Unlocked the property change ability for special sequences.
+
+
+
+
+ Set the meter size if previously unlocked.
+ The data types are: - String like "DN50" or
+
+
+
+
+ Set the pressure sensor if previously unlocked
+
+
+
+
+ Reset the empty pipe alarm
+
+
+
+
+ Upload app list to database
+
+
+
+
+
+
+
+ Clear password to force new password reading
+
+
+
+
+ Executes all StoreConfiguration and StoreCalibration for each application.
+
+ true if all configurations are stored
+
+
+
+ Login with identical password as last time to avoid get password from database
+
+
+
+
+ Returns meter registers
+
+
+
+
+
+ Common routine for reboot being able to override this routine which will be called in
+ MeteResetPsu to simulate a reboot.
+
+
+
+
+
+ Write Register, optional: wait for result and validate,
+ write register will ALWAYS log the data DON'T use for password write
+
+ Data type of Register
+ Register name
+ Value to save as byte array in raw format
+ wait until result is ready
+ check the content of the register by read back
+ skip retries on this error code return
+ true on successful operation
+
+
+
+ Read Register and return byte array
+
+ Register name
+ expected length for response
+ skip retries on this error code return
+ value as byte array in raw format or null
+
+
+
+ Clear all pending alarms.
+
+
+ - Initial.
+
+
+
+
+ Collection of interface information
+
+
+
+
+ The interface version
+
+
+
+
+ List of supported FW versions by this interface
+
+
+
+
+ Read of required registers and calculation of power correction
+
+
+
+
+ Ctor
+
+
+
+ true if successful
+
+
+
+ Calculate the values for power correction
+
+ true if successful
+
+ - Initial
+
+
+
+
+ Calculate the values for power correction
+
+ true if successful
+
+ - Initial
+
+
+
+
+ Power correction parameters used for overestimated power consumption on
+ Cordonel FW update from:
+ EMEA below R1.3.x
+ NA below R2.0.07
+
+
+
+
+ Unique identification of PCB
+
+
+
+
+ Date time UTC at EOL - Production
+
+
+
+
+ Total used seconds at EOL - Production
+
+
+
+
+ Total used charge of batteries at EOL - Production
+
+
+
+
+ Radio system state at EOL - Production
+
+
+
+
+ Pulse adapter was installed during at EOL - Production VAKO
+
+
+
+
+ Pulse mode during at EOL - Production
+
+
+
+
+ Pulse sequence counter during at EOL - Production
+
+
+
+
+ Pulse distribution at EOL - Production
+
+
+
+
+ Detected FW version before maintenance
+
+
+
+
+ Date time UTC at time of maintenance
+
+
+
+
+ Total used seconds of entire runtime
+
+
+
+
+ Total used charge of batteries of entire runtime
+
+
+
+
+ Actual detected radio system state at maintenance
+
+
+
+
+ Detection of pulse adapter installation
+
+
+
+
+ Pulse mode during maintenance
+
+
+
+
+ Pulse sequence counter during maintenance
+
+
+
+
+ Pulse distribution during maintenance
+
+
+
+
+ Mark pulse adapter as installed on any detected or sequence counted
+
+
+
+
+ Remind battery quantity used for estimation of drained load
+
+
+
+
+ Remind battery initial load used for estimation of drained load
+
+
+
+
+ FW version for the update
+
+
+
+
+ Calculated pulse report length
+
+
+
+
+ Total used seconds after EOL and before maintenance
+
+
+
+
+ Overestimated total used charge before maintenance
+
+
+
+
+ Based on fixed estimation total used charge before maintenance
+
+
+
+
+ Lowest threshold for total used charge calculated during maintenance
+
+
+
+
+ Corrected total used charge during maintenance
+
+
@@ -50,17 +630,12 @@
R.Drabesch, 2018-Feb-16.
-
-
- Transmit protocol access for underlie objects to change response timeout
-
-
-
+
Slot number for test-bench
- for request Port
- for streaming Port
+ for request Port
+ for streaming Port
don´t send CRC error or telegrams with error flag to caller
If you have a password for highest access level you need, if you don't want to access the meter
@@ -77,12 +652,75 @@
Logout with level 0
+
+
+ Minimal length for PcbId
+
+
+
+
+ The quiescent current threshold is the absolut minimal threshold for current consumption´in micro-Ampere.
+ This will be used to decide that the current isn't below for operational calculations of power consumption.
+
+
+
+
+ Logger for NLog
+
+
+
+
+ Optional request to use the offline passwords
+
+
+
+
+ source of slot config
+
+
+
+
+ source of password
+
+
+
+
+ Request communication port configuration.
+ Used for request/response communication with the meter.
+
+
+
+
+ Streaming communication port configuration.
+ Used for continuous data streaming communication.
+
+
+
+
+ if application have a access to online Genesis services
+
+
+
+
+ Remind the offline password for comparison if this is actively used
+
+
+
+
+ Process configuration
+
+
+
+
+ Transmit protocol access for underlie objects to change response timeout
+
+
+
+
- Property is redundant because is also stored in
- but never less is
- is the identification of the meter it has a separate Property
+ Customer serial number for informal issues
@@ -92,17 +730,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
- Represent
- proposed for login
+ Radio frequency in MHz (433 or 868 or null).
+
+
+
+
+ Metrology upgrade permission.
-
+
+
+
+
+
+
+
- Add on ctor a password and it will be used for login in if no other password is set
+ Add on ctor a password, it will be used for login in if no other password is set
+
+
+
+
+ reminder for last communication acknowledge code to detect communication errors
@@ -116,19 +811,24 @@
Enable raw record logging, if set every incoming package will be logged
+
+
+ Detected pulse adapter communication on request port
+
+
Enable use of registers that are not valid (last version not match the current app)
-
+
- All parameter store in this Genesis is up in here
+ All parameters stored in the SOFTWARE of GenesisMeter: NOT IN THE METER
if you want to read them from meter use
if you want to set them to meter use
-
+
All applications defined by configuration.json
@@ -138,7 +838,7 @@
request port assignment/info
-
+
request protocol assignment/info
@@ -148,14 +848,14 @@
streaming port assignment/info
-
+
streaming protocol assignment/info
-
+
- to reduce the IrdA communication in test bench, preparation will be done once (when SkipPrepearationForTestBench is true)
+ to reduce the IrdA communication in test bench, preparation will be done once (when SkipPreparationForTestBench is true)
@@ -163,18 +863,6 @@
Response received after request for record
-
-
-
-
-
- Returns meter registers
-
-
-
-
-
-
do not use it to set ProcessStatus
@@ -187,7 +875,7 @@
if state is change
will be invoked.
- on some states other events will be invoke as well
+ on some states other events will be invoked as well
@@ -197,7 +885,6 @@
-
fires up
@@ -206,15 +893,55 @@
Logged in to device
-
+
- Hold the current process name e.g. FlowTest, Preadjustemtn for logging
+ Logged in to device
-
+
+
+ Hold the current process name e.g. FlowTest, Preadjustment for logging
+
+
+
+
+ Unlocked the property change ability for special sequences.
+
+
+
-
+
+
+ Unlocked the property change ability for special sequences.
+
+ true if unlock required
+ true if possible
+
+
+
+ Set the meter size if previously unlocked
+
+
+ true if possible
+
+
+
+ Set the pressure sensor if previously unlocked
+
+ true if setting is allow
+ true if possible
+
+
+
+ Returns meter registers
+
+
+
+
+
+
+
Setup water meter from configuration file:
-slot,
@@ -224,30 +951,39 @@
-
-
-
+
+
+ Setup water meter from parameters (no config file):
+ - slot
+ - request port
+ - streaming port
+
+
+
+
+
+
just internal setup. called on ctor or from vb6 setup function
Slot Number for test-bench
- for RFID/UART/IrDA Port
- for LED Port
+ for RFID/UART/IrDA Port
+ for LED Port
don´t send CRC error or telegrams with error flag to caller
If you have a password for highest access level you need, if you don't want to access the meter
(just read led record) than you can leave it nullS
-
+
- Start Event listening, has to be called after
+ Start Event listening, has to be called after
-
+
Add a port to working queue
@@ -282,9 +1018,9 @@
-
+
- call this if session is expired and you need an re-authorization
+ call this if session is expired and you need a re-authorization
@@ -295,7 +1031,12 @@
Sender (can be null)
Event arguments (can be null)
-
+
+
+
+
+
+
Track all incoming led record packages (Calibration and Flow)
@@ -305,7 +1046,7 @@
otherwise this method does nothing
-
+
tracking request record processing
@@ -345,13 +1086,39 @@
-
+
- Login with identical password as last time
+ Clear password to force new password reading
-
-
- - Initial
+
+ - Initial.
+
+
+
+
+ Acquires the password from WEB-API.
+
+ password
+
+ - Initial.
+
+
+ - PcbId handling improved.
+
+
+ - PcbId unknown returns immediately.
+
+
+ - Password had been reset to empty string if read from file, corrected!
+
+
+ - Used
+
+
+ - Optional the offline passwords will be used.
+
+
+ - BUGFIX: Avoid request of password from DB if offline password usage fored.
@@ -360,23 +1127,24 @@
Get password from server
-
+
-
- Starting a timer to keep session active,
- starting the .
-
- password string to login
-
+
+ - Initial
+
+
+ - Immediately returns if already logged in.
+
-
+
Starting a timer to keep session active,
starting the .
- password string to login
+ password string to log in
true = process command; false = add command to list. call
to process login command
+
pass runImmediately for auto login
@@ -384,39 +1152,122 @@
- Avoid retries during login, a retry will lock the Genesis for 2s, 4s, 8s, 16s and so on.
+
+ - Quick login removed.
+
+
+ - Pulse module deactivated at login.
+
+
+ - REMOVED: Pulse module deactivated at login.
+ - Skip FW readout to quickly connect being able to immediately switch off the pulse mode before App detection.
+
-
+
- Building the FW Version string out of 2 bytes of data.
- REASON: FLEXNETVERSION is one application which does not follow the same rule of
- decimal numbers. Instead it uses hexadecimal digits. After the conversion of this
- number to a pure Uint32, needed for comparison of file versions in configuration.json,
- the hexadecimal outline will be lost and the comparison with the rowproduct.txt fails.
- FW-update needs this information to validate a tested package!
+ Building the FW Version:
+ - string like "R1.1.07" or "B1.1.07" or optional reduced form for configuration capability check "1107",
+ - hexadecimal version like 0x1107 or 0x9107 for the 'B' version.
+
+ Input:
+ - optional string like "1107", "11.07", "R1.1.07", "B1.1.07", "1.3.0B" or "9.0.2D".
+ - optional 2 bytes representing the msb and lsb like 0x11 and 0x07.
+
+ REASON: FLEXNETVERSION is one application which does not follow the same rule of decimal numbers.
+ Instead, it uses hexadecimal digits.
- most significant byte
- last significant byte
- converted "msb.lsb" as string e.g. "12.34" or "2.0C"
+ version as hexadecimal result of version e.g. 0x1107 or 0x130B
+ any string to evaluate like "11.07" or "R1.1.07" or "1.3.0B"
+ most significant byte representing the major and minor version
+ last significant byte representing the built version
+ will force to reduce the string output of FW version to e.g. "1107"
+ FLEXNET version string e.g. "R1.2.47" or "B1.2.0C"
+
+ - Initial.
+
+
+ - Removed the optional leading "B" or "R" on strVersion input to create the fwVersion.
+
+
+ - .
+
-
+
- List of all present meter applications
+ Building the FW Version string out of 2 bytes of data and a decimal version.
+ Example:
+ Inputs msb = 2, msb = 34,
+ Outputs fwVersion = 234, string "2.34"
+ firmware version as decimal e.g. 234
+ most significant byte hex
+ last significant byte hex
+ converted as string e.g. "2.34" or "2.0C"
+
+ - Initial.
+
-
+
- Core revision of boot code.
+ Building the FW Version string out of UInt32 as hexadecimal input like 0x1107 (meaning 1.1.07).
+ Example:
+ Input fwVersion = 1107,
+ Outputs string "1.1.07"
+ firmware version as hex
+ converted to "2.34" or "2.0C"
+
+ - Initial.
+
-
+
- Region (EMEA or NA) and Radio frequency (433 or 868 or null).
+ Building the FW Version string out of Int32 as decimal input.
+ Example:
+ Input fwVersion = 238,
+ Outputs string "2.38"
+ firmware version as hex
+ converted to "2.34" or "2.01"
+
+ - Initial.
+
-
+
- Metrology upgrade permission.
+ Check region and size.
+ After reading the version, all valid registers are going to be selected.
+
+ - Initial, extracted from
+
+
+ - Frequency indicator == 0 means it is a NA-Region Octopus with EMEA FW installed.
+
+
+ - Pressure sensor detection.
+
+
+
+
+ Build a list of all registers based on the interface (configuration.json) and the installed
+ meter applications with a specific version.
+
+
+ - Initial, extracted from
+
+
+ - Excluded register versions explicit specified in the 'configuration.json' as version.exclude list.
+
+
+ - Excluded all registers from apps which are NOT installed (isInstalled == false).
+
+
+
+
+ ...MF
+
+
@@ -428,9 +1279,74 @@
- Removed "Cordonel " from CoreRevision to have the e.g. "1.64" remaining
-
+
- Read radio frequency
+
+ - Read lockup table CRC,
+ - Read meter size.
+
+
+ - Read lockup table CRC bugfix with try, catch for legacy versions, where this register does not exists.
+
+
+ - CoreRevision from String to Int32?,
+ - MeterSize from String to MeterSize,
+ - Region separated from RadioRegion as String,
+ - RadioFrequencyMhz introduced as Int32? (null if "NA" region or not installed),
+ - LutCrc from String to Int32?.
+
+
+ - Checked meter size string for "DN", then it cannot be an EMEA version.
+
+
+ - Removed retry as this will be handled by the .
+
+
+ - Remind installed FW version of FLEXNETVERSION for StoreAllConfigurations.
+
+
+ - Avoid multiple assignment of identical register in dictionary as the configuration.json may overlap
+ on some versions. If one register has been added, this passed the test and is valid for this FW.
+ It has to be avoided to have the register multiple times as it may cause unpredictable assignments
+ of values to one and reading and compare from another which doesn't have a value!
+
+
+ - Build dictionary for debug to observe if configuration.json contains overlapping versions.
+
+
+ - On missing answer mark as communication error being able to compare against not-installed. This issue
+ was responsible to start a FW update process in the CUST as it assumes the installation was incomplete,
+ but it couldn't detect those applications due to communication issues.
+
+
+ - BuildFlexnetFwVersion,
+ - Calculate core revision.
+
+
+ - Extract interface version (configuration.json) from "OPTICALINTERFACE".
+ - AppId from Byte to UInt16 including typecast for Byte on WriteRegister. To external, it will be used as Byte
+ as before this change. But being able to parse the configuration.json with OPTICALINTERFACE using the
+ AppId 256, which exceeds the byte range as this isn't a real application, but will be used to identify
+ the interface (configuration.json) version.
+
+
+ - Handle the interface compatibility FW version with short string like "1421" and discrete FW versions.
+
+
+
+
+ ...MF
+ helper
+
+
+
+
+
+ ...MF
+
+
+
@@ -453,7 +1369,7 @@
-
+
@@ -462,7 +1378,7 @@
-
+
Check if alarmToCheck is set on register
@@ -471,21 +1387,31 @@
- Read out all AlarmStatus register and combine them to one
+ Read out all AlarmStatus register and combine them to one
-
+
+
+
+
Reset the empty pipe alarm
-
+
Reads the PCB Identification, can be accessed at all login levels,
Read Privilege is always needed to BUGFIX read access to PCB ID
PCB ID
+
+ - PcbId handling improved.
+
+
+ - PcbId handling improved,
+ - Removed retries as these are handled by the protocol.
+
@@ -504,7 +1430,7 @@
- Event to Sync Register on MeterSide and
+ Event to Sync Register on MeterSide and
Fired on Write or read register
@@ -522,21 +1448,47 @@
check the content of the register by read back
skip retries on this error code return
true on successful operation
+
+ - Changed sensitive information from "*****" to SHA256.
+
+
+ - PreRegisterWrite enabled to check register accessibility and range.
+
Read Register and return byte array
-
+
expected length for response
skip retries on this error code return
+
+ - Changed sensitive information from "*****" to SHA256.
+
+
+ - Date size directly from register object.
+
+
+ Execute request protocol and acts on response code.
+
- Removed throw because the throw always kicks in to
the FW-Update process causing an unpredictable stop!
+
+ - Remind last communication acknowledge code.
+
+
+
+
+ Send UI1236 command
+
+
+ - Initial
+
@@ -549,18 +1501,107 @@
+
+
+ Soft reset of meter runtime state.
+ Keeps ports, protocols, configuration, PCB and password intact.
+
+
+
+
+ Set the process state to display and to the production database
+
+
+
+
+
+ Check for min and max of register values to avoid out of range access
+
+
+
+
+ - Initial
+
+
+ - Reactivated to validate the register range.
+
+
+
+
+ Common routine for reboot being able to override this routine which will be called in
+ MeteResetPsu to simulate a reboot.
+
+
+
+ - Initial.
+
+
+
+
+ Executes all StoreConfiguration and StoreCalibration for each application.
+
+ true if all configurations are stored
+
+ - Initial
+
+
+ - Corrected logic to enter write and read loop,
+ - Removed SENSUSRADIO from read check as it returns NULL on read of StoreConfiguration.
+
+
+ - After write store configuration extended sleep.
+
+
+ - Removed comparison of allConfigRegisters less than 8 because the NA version has fewer registers and new
+ apps will have a new register.
+
+
+ - Removed temporary NA2ALARMS read back as this has no handler in the FW.
+
+
+ - Store first all configurations for every app in a bulk then read the status back.
+
+
+ - Installed FW version taken to enable read back for radio and na2walarms.
+
+
+ - Changed threshold check from decimal 1200 to hexadecimal 0x1200.
+ Cl
+
+
+
+ Upload app list to database
+
+
+
+
+ - Initial
+
+
+ - Using MetrologyUpgradePermission to flag if metrology is updateable as for "NA" versions this is the case.
+
+
+ - returns status.
+
+
+
+
+ Backup current register dictionary to database
+
+
+
Logging of register write processes to meter
@@ -568,6 +1609,9 @@
+
+ - Hide all file access commands and passwords.
+
@@ -577,6 +1621,45 @@
+
+
+ Dummy
+
+
+ - Initial.
+
+
+
+
+ Dummy
+
+
+ - Initial.
+
+
+
+
+ Copies safe runtime/configuration state from this GenesisMeter
+ to another GenesisMeter instance.
+
+ Intended usage:
+
+ GenesisMeter existingMeter
+ ↓
+ ZeroFlowGenesisMeter newMeter
+ ↓
+ existingMeter.CopySafeStateTo(newMeter)
+
+ Notes:
+ - does not copy ports
+ - does not copy protocols
+ - does not copy threads/timers
+ - does not copy events
+ - does not copy logger instances
+ - does not copy register containers
+ - target keeps its own construction/runtime infrastructure
+
+
Calibration factors for all channels
@@ -602,7 +1685,7 @@
-
+
@@ -618,6 +1701,12 @@
All channels required to process
+
+
+ Quality watch mode can be used to decode intermediate records and check
+ for actual quality of the measurements.
+
+
@@ -637,13 +1726,13 @@
-
+
- the first measurement is ALWAYS a FlowTestRecord due to the underlying routine logic.
+ the first measurement is ALWAYS a FlowTestRecord due to the underlying routine logic.
-
+
The first measurement is ALWAYS a FlowTestRecord.
@@ -714,11 +1803,94 @@
+
+
+ Check the positioning of the streaming LED to validate the quality of the communication line
+
+
+
+
+ Backup of last quality
+
+
+
+
+ Quality check is active
+
+
+
+
+ Kick off the streaming quality check.
+
+
+
+
+
+
+ Stop the streaming check.
+
+
+
+
+
+
+
+
+
+
+
+
+ Number of records received (read line for LED message)
+
+
+
+
+ Total records decoded
+
+
+
+
+ Total errors
+
+
+
+
+ Validated without errors
+
+
+
+
+ Expected lines
+
+
+
+
+ Time
+
+
+
+
+ Error counter
+
+
+
+
+ The real result of quality check
+
+
+
+
+
+
+
+ The quality result as dummy zero
+
+
Port scanner:
using the Windows Device Manager listed ports,
- tries to open the port with an exception if it cannot be accessed (very time consuming),
+ tries to open the port with an exception if it cannot be accessed (very time-consuming),
tries to use the request protocol to detect a Genesis device.
@@ -729,7 +1901,7 @@
- Auto detected port name
+ Auto-detected port name
@@ -814,29 +1986,122 @@
JSON filer reader for generation of register lists
-
+
Registers defined in configuration.json file
-
+
Applications defined in configuration.json file
+
+
+ Information collected during 'configuration.json' read
+
+
+
+
+ Ctor
+
+
Ctor
the file path for configuration.json as interface description to the meter
-
+
Convert file content to register list
-
+
+
+ - Initial.
+
+
+ - AppId from Byte to UInt16 including typecast for Byte[] return. To external, it will be used as Byte
+ as before this change. But being able to parse the configuration.json with OPTICALINTERFACE using the
+ AppId 256, which exceeds the byte range as this isn't a real application, but will be used to identify
+ the interface (configuration.json) version.
+
+
+ - Extract the max supported versions for EMEA and NA to check the supported FW.
+
+
+ - Supported application list introduced.
+
+
+ - Data size introduced including the new 'ByteArray' type and size to get rid of new defined 'uintxx_t'
+ data types.
+
+
+
+
+ Settings
+
+
+
+
+ Convert data types from interface 'configuration.json' to CLR type or array
+
+
+ type
+
+
+ - Initial.
+
+
+ - Parsed all 'uintxx_t' which are not based on CLR types to byte-array
+
+
+
+
+ Build the data size
+
+
+ size
+
+ - Initial: - parsed all 'uintxx_t' which are not based on CLR types to byte-array
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -854,9 +2119,34 @@
resource lookups using this strongly typed resource class.
-
+
- Looks up a localized string similar to Compare register.
+ Looks up a localized string similar to ERROR: Missing or invalid register definition (configuration.json)! Search in:.
+
+
+
+
+ Looks up a localized string similar to Cannot Open Comport. Check TaskManager for other Genesis relevant programs and close them! Also check if the comport is valid!.
+
+
+
+
+ Looks up a localized string similar to ERROR: Could not find a CSD parameter in register list!.
+
+
+
+
+ Looks up a localized string similar to ERROR: Could not find register in register list! Check configuration.json for latest version!.
+
+
+
+
+ Looks up a localized string similar to ERROR: Could not write register!.
+
+
+
+
+ Looks up a localized string similar to Read back.
@@ -891,12 +2181,47 @@
- Looks up a localized string similar to Reading registers after update.
+ Looks up a localized string similar to Reading registers after maintenance.
- Looks up a localized string similar to Reading registers before update.
+ Looks up a localized string similar to Reading registers before maintenance.
+
+
+
+
+ Looks up a localized string similar to Compare register.
+
+
+
+
+ Looks up a localized string similar to ERROR: Comparison failed!.
+
+
+
+
+ Looks up a localized string similar to Successfully compared..
+
+
+
+
+ Looks up a localized string similar to Execute configuration sequence.....
+
+
+
+
+ Looks up a localized string similar to Finalize configuration sequence.....
+
+
+
+
+ Looks up a localized string similar to Prepare configuration sequence.....
+
+
+
+
+ Looks up a localized string similar to ERROR: Register value is out of range!.
@@ -909,6 +2234,11 @@
Looks up a localized string similar to Scan port.
+
+
+ Looks up a localized string similar to WARNING: Register value set to default.
+
+
Looks up a localized string similar to Write register.
@@ -918,30 +2248,50 @@
Read, compare and restore if unequal al registers marked with
equals
- ".
+ ".
The reader will use the byte values as they are unmodified and
will not be rounded and therefor possibly fail the comparison.
For logging the register value will be converted its unit.
-
+
- PCB ID for pre update for comparison
+ PCB ID for pre update read for comparison
-
+
+
+ PCB ID for pre update write for comparison
+
+
+
PCB ID for post update for comparison
-
+
- Register content before update
+ Collection of recovery registers - programming parameters
-
+
- Register content after update
+ Marker for restore after reboot parameters
+
+
+
+
+ Register content on initial connect to keep those during update
+
+
+
+
+ Register content after all operation had been performed
+
+
+
+
+ Register which shall be restored after change of FW or after register recovery
@@ -949,14 +2299,88 @@
Register access event for message dispatcher to caller
-
+
- Actual Port Counter
+ List for un-reversed parameters which can be written, all others need to be swapped byte-wise
-
+
- Stop register access
+ Registers manually explicit excluded from comparison as those may change even if those have the
+ "StaticType": "static" in the configuration.json but will change for some reason.
+
+
+
+
+ Registers manually explicit marked to be restored after reboot if compare failed. Those registers will
+ temporary setup values which do not survive a reboot. This is done to overcome a FW-bug which overwrites
+ those values after the reboot procedure!
+
+
+ - Initial to restore values which do not survive the reboot as workaround for R1.4.22 and below.
+
+
+
+
+ Registers manually explicit excluded for in-field updatable parameters for the CUST to prevent inadvertent
+ modifications resulting in potential MID violations.
+
+
+ Defined by M.C., J.L. and A.F. with the file: 'FwUpdateController.cs-GetRecoveryFile()-2507160616.xlsx'.
+
+
+ CUST 2.8.14:
+ - Added: - ’SENSUSRADIO_WakeupInterval’ to keep radio active after CUST run
+ - Removed: - 'GENESISFLOW_SealDisplay' being able to modify display resolution
+
+
+
+
+ Registers manually explicit excluded from reading as those do not contain useful information.
+ Applies for RW commands not RPC data type.
+
+
+
+
+ Pre-programming parameters for all devices defined here, will be filled with radio parameters
+ if meter has radio
+
+
+
+
+ Registers which failed the comparison
+
+
+
+
+ Name of registers which should be restored after reboot if the compare failed.
+
+
+
+
+ Post programming parameters for all devices
+
+
+
+
+ Post programming parameters for EMEA region as NA region doesn't have radio and seal display shouldn't
+ be executed.
+
+
+ - Removed 'SENSUSRADIO_SystemState' as this will synchronize all parameters between this app and the
+ 'PERIODICLOG' app. Meaning, the 'SENSUSRADIO' app will overwrite the previously adjusted parameters of
+ the 'PERIODICLOG'. After writing the last 'PERIODICLOG' parameter a delay timer between finish exec-
+ parametrization and store all configs needs at least 20 s to update contents.
+
+
+
+
+ Post programming parameters for EOL (end of line, prepare for shipping workplace)
+
+
+
+
+ Actual register counter
@@ -964,23 +2388,24 @@
Genesis meter object
-
+
- Extraction of registers names needed to restore after FW-Update
+ Struct to observe replacements
-
-
- Extraction of registers names needed to log
-
-
-
+
Ctor
-
+
+
+ Renew meter for Unit tests based on different meter
+
+
+
+
Assign new genesis after reboot and keep the RegisterRestorer object.
@@ -989,50 +2414,361 @@
- Initial
-
+
- Avoid doubling of register restore on subsequent FW-Update trials.
+ Enable comparison from external set registers for read back with written value
- true if registers already backed up
-
+
+ - Initial
+
+
+
+
+ Export list of programming parameters to file being able to use it for test purposes.
+
+
+
+
+
+
- Initial.
-
+
- Avoid doubling of register backup on subsequent FW-Update trials.
+ Import list of programming parameters from file being able to use it for test purposes.
+ The input request the absolut path to the XX_YY_RawParameterExample.json and the filters for:
+ - Region,
+ - MeterSize,
+ - "RawParams" and
+ - ".json"
+
- true if registers already backed up
-
+ path where all raw parameter examples are stored
+ Region for configuration
+ Meter size for programming parameters
+
+
+
- Initial.
-
- - Extended checks for Genesis is assigned and PCB ID is identical.
+
+
+
+ Process the raw programming parameters got from the database or meanwhile in raw-format stored to file
+ being able to fill the register restorer from external with values and test the byte-wise reverting
+ of the parameter (optional un-reverted if defined in the list ).
+ The priority of the parameters forced by its source is:
+ - CSD (highest),
+ - VAKO,
+ - Order based or standard config (lowest).
+
+ unprocessed data, not filtered by the priority and un-reversed
+ output as recovery registers reduced to the real needed ones and
+ processed as reverted or non-reverted values which directly can be written to the meter using the
+ meter specific "IGenesisMeter.WriteRegister"
+ error message for caller
+ field update forces to use the 'fieldUpdateBlacklist' to remove parameters
+
+
+ - Initial imported from .
+
+
+ - Return error message,
+ - Requirement to fulfill the at least one parameter has to be a CSD parameter as initially all programming
+ parameters are going to be preset with the default values (coming from the Web-API). After this they are
+ going to be overwritten with the VAKO (variant configuration) and finally again with the CSD of the
+ customer if required.
+
+
+ - Debug for overwriting VAKO with CSD including real values.
+
+
+ - Remove '_fieldUpdateBlacklist' parameters for the CUST to prevent inadvertent modifications resulting in potential
+ MID violations,
+ - Debug log of blacklist caused removals.
+
+
+ - Debug lists generation sequence changed.
-
+
- Restore all registers which can be restored and finalize with "safe configuration process".
+ Collect programming parameters from DB.
+
+ registers key value pair from database
+ error message from parameter analysis
+ field update forces to use the 'fieldUpdateBlacklist' to remove parameters
+ recovery registers
+
+ - Initial.
+
+
+ - Sort the registers from DB but keep the PrepareProgramming and FinalizeProgramming in the required sequence.
+
+
+ - Removed preparation and finalization of register recovery to remove sequencing as this will be done in the
+ RegisterRestorer by the FwUpdateSw worker giving the ability to log this in the report.
+
+
+ - Data base access imported to have a common interface for programming parameters for EOL (shipping) and CUST.
+
+
+ - Removed prohibited parameters.
+
+
+ - Added un-reversed parameters based on data type (string, uint128).
+
+
+ - Check and validate register values with installed or intended to be installed FW and given
+ configuration.json.
+
+
+ - Exported register range check to .
+
+
+ - Debug lists for CSD and VAKO parameters.
+
+
+ - Sorting, filtering for VAKO, CSD and order, reverting or un-reverting parameter value order exported
+ for the ability to load the raw programming parameters from any source and check the correct processing.
+ This will be especially used for unit-tests
+
+
+ - Error message.
+
+
+ - Remove '_fieldUpdateBlacklist' parameters for the CUST to prevent inadvertent modifications resulting in potential
+ MID violations.
+
+
+
+
+ EOL (end of line) programming contains a reset of the accumulators. Else it is identical with recover
+ registers.
+
+ list of registers to update from database without special sequence
+
+
+ true if setup succeeded
+
+ - Initial.
+
+
+ - CancellationToken.
+
+
+
+
+ Validate the range of the register.
+
+ register key value pair
+ register definition by configuration.json
+ error message if range check failed
+ check default value and supply warning
+ status
+
+ - Initial, imported from
+
+
+ - Leave the message generation to the
+
+
+
+
+ Recover all registers set from caller. Additional preparation and finalization will be added.
+ settings.
+
+ list of registers to update from database without special sequence
+
+
+ field update, if not set EOL (end of line) programming with accu reset
true if restoring succeeded
-
+
- Initial.
+
+ - Return true if already recovered,
+ - replace _restoreRegisters with new value.
+
+
+ - Added preparation and finalization of register recovery giving the ability to log this in the report.
+
+
+ - Moved register dictionary value set to inner try catch loop to avoid early exit if one register is
+ unknown.
+
+
+ - Logging of some exception messages.
+
+
+ - EOL sequence for accumulators reset,
+ - Remind pcbId as already recovered before the true return,
+ - Exclude lock of repeated execution for EOL.
+
+
+ - Avoid writing of parameters if not writable. The DB delivers parameters which exclusively have to be
+ compared to the specified value.
+
+
+ - Register list changed from RegisterDefinition to RecoveryRegisterItem list,
+ - Preset RecoveryRegisters if not set as those have to be compared later on.
+
+
+ - Add only registers to recovery list which are found in the generated register list based on installed
+ applications.
+
+
+ - Avoid writing of NOT writable registers.
+
+
+ - Check register limits, if those are out of range avoid writing and log warning message.
+
+
+ - Exported register range check to .
+
+
+ - Removed skip recovery if already done in previous run to enable a retry.
+
+
+ - Seal display and Sensus radio to EMEA finalization.
+
+
+ - Exported write routines to .
+
+
+ - CancellationToken.
+
+
+ - Remove '_fieldUpdateBlacklist' parameters for the CUST to prevent inadvertent modifications resulting in potential
+ MID violations.
+
+
+ - Login/Logout moved to .
+
-
+
- Compare all registers which can be restored.
+ Write a parameter set:
+ -
- true if equal
-
- - Initial.
+
+
+
+
+
+
+
+ - Initial imported from .
+
+
+ - CancellationToken.
+
+
+ - Temporary excluded un-comparable registers from write as this make no sense to write them blind being
+ unable to read the correct value back.
+
+
+ - Remove '_fieldUpdateBlacklist' parameters for the CUST to prevent inadvertent modifications resulting in potential
+ MID violations.
+
+
+ - Excluded un-comparable registers from write turned back on ('blind' writing enabled again).
+
+
+ - Login/Logout moved here.
+
+
+ - Redundant OOR message removed.
-
+
+
+ Restore and compare all registers which did not survive a reboot and are listed in the
+
+ - This is a workaround for a FW-bug in R1.4.22 and below.
+
+
+
+
+ - Initial.
+
+
+ - Leave the initial 'RecoveryRegisters' intact.
+
+
+ - Leave the initial 'FailedComparisonRegisters' intact.
+
+
+
+
+ Compare all registers which can be restored without new access to meter.
+
+
+
+ true if equal
+
+ - Initial.
+
+
+ - Compare registers reactivated based on new interface (configuration.json) with new
+ "StaticType": “approximate”.
+
+
+ - Removed as those will change on e.g. FW update.
+
+
+ - Avoid message event if message is empty.
+
+
+ - Remind registers which failed the comparison including values.
+
+
+ - Register list changed from RegisterDefinition to RecoveryRegisterItem list.
+
+
+ - Removed all registers from comparison which are neither static nor approximate.
+
+
+ - Exception logging extended,
+ - Data size base on write data size as this may be shorter than the read data size which is always filled up
+ to a 4 byte chunk size.
+
+
+ - Add only registers to recovery list which are found in the generated register list based on installed applications.
+
+
+ - Used RecoveryRegisters WriteValue and ReadBackValue for comparison.
+
+
+ - Hash password and encryption key with SHA256.
+
+
+ - CancellationToken.
+
+
+ - Take 'null' in readBack into account due to communication error.
+
+
+ - _restoreAfterRebootIfCompareFailed.
+
+
+ - Made method static.
+
+
+ - Avoid clearing of failed registers
+
+
+ - Leave the initial 'RecoveryRegisters' intact.
+
+
+
Read the registers after the update for comparision. Build the post update registers here,
because an update may have changed the registers (new or removed registers).
+
true if registers could be read
- Initial.
@@ -1042,19 +2778,43 @@
- Clear pre update registers if post indicates a different PCB ID to avoid wrong overwriting of
- registers to non matching new meter.
+ registers to non-matching new meter.
+
+
+ - Return true if already executed in previous run.
+
+
+ - Return false if PcbId between initial- and final-read does NOT match return false.
+
+
+ - Allow final read out as often as called even if done before.
+
+
+ - Register list changed from RegisterDefinition to RecoveryRegisterItem list.
+
+
+ - Backup _finalRegisters to RecoveryRegisters.
+
+
+ - Check readBack value for null.
+
+
+ - CancellationToken.
+
+
+ - Cleared all failed compare registers and the restore after reboot registers as a new reading
+ will give it a new chance to compare it.
-
+
- Get DEFINED registers from GenesisMeter class and read all
- registers which are flagged with read write (RW) or read only (RO).
- Build a list of all registers being able to restore referenced by name,
- flagged with
- equals ".
- The defined registers are based on the "configuration.json" and
- the installed application with a specific version.
+ Get DEFINED registers from GenesisMeter class and read all registers which are flagged with
+ read write (RW) or read only (RO). Build a list of all registers being able to restore flagged
+ with equals ".
+ The defined registers are based on the "configuration.json" and the installed application with
+ a specific version.
+
true if registers could be read
- Initial.
@@ -1066,23 +2826,99 @@
- Extended register check.
- - Removed after update registers and moved them to PostUpdateReadRegisters. They may have changed
+ - Removed after update registers and moved them to FinalReadRegisters. They may have changed
during the update.
- Deny register pre update if _pcbIdPreUpdate indicates, that this has been already processed.
+
+ - Removed login/logout,
+ - if _initialReadRegisters and _restoreRegisters are filled, return true.
+
+
+ - Register list changed from RegisterDefinition to RecoveryRegisterItem list.
+
+
+ - CancellationToken.
+
+
+ - CancellationToken.
+
+
+ - Repaired building of initial register list.
+
-
+
+
+ Get DEFINED registers from GenesisMeter class and build a list all registers which are flagged
+ with read write (RW) or read only (RO).
+ The defined registers are based on the "configuration.json" and the installed application with
+ a specific version.
+
+ all readable registers dictionary creation
+ true if register dictionary is not empty
+ true if registers could be read
+
+ - Initial from .
+
+
+ - Register list changed from RegisterDefinition to RecoveryRegisterItem list.
+
+
+ - Excluded registers which do not contain useful information.
+
+
+ - Sequence resorted.
+
+
+
+
+ Get DEFINED registers from GenesisMeter class and read all registers which are flagged with read write
+ (RW) or read only (RO).
+ The defined registers are based on the "configuration.json" and the installed application with a specific
+ version.
+
+
+ true if registers could be read
+
+ - Initial.
+
+
+ - Register list changed from RegisterDefinition to RecoveryRegisterItem list.
+
+
+ - CancellationToken.
+
+
+
+
+ Read predefined registers from RecoveryRegisters.
+
+
+
+ true if registers could be read
+
+ - Initial.
+
+
+ - CancellationToken.
+
+
+ - Leave the initial 'RecoveryRegisters' intact.
+
+
+
Register read loop.
- All registers needed to be read with from the Genesis meter as they are only
- prepared as template and NOT filled with the register data!
+ All registers needed to be read from the Genesis meter as they are only prepared as template and NOT filled
+ with the register data!
The uses the overall process text and value for user information process
bar and text and the actual process text for logging to the report file!
+ Executes login, read cycle and logout.
registers to read
- list of registers to read
+
true if registers could be read
- Initial.
@@ -1096,6 +2932,28 @@
- Removed PCB ID from logging.
+
+ - Simplified input of set of registers to read.
+
+
+ - Set raw values in register dictionaries.
+
+
+ - Extended try catch to avoid break on one register failed.
+
+
+ - Filtered restore registers to access only if assigned,
+ - Logging of some exception messages.
+
+
+ - Register list changed from RegisterDefinition to RecoveryRegisterItem list.
+
+
+ - CancellationToken.
+
+
+ - Date size directly from register object.
+
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile.dll b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile.dll
index f15f3ed83..54a7face9 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile.dll and b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile.dll differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile.pdb b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile.pdb
index fe1535ad6..1423ef7ab 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile.pdb and b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisFile.pdb differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisPwd.dll b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisPwd.dll
index 8bf4ebdac..532c633f4 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisPwd.dll and b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisPwd.dll differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisPwd.pdb b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisPwd.pdb
index a6bac99bc..16dc16ec6 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisPwd.pdb and b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.GenesisPwd.pdb differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.dll b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.dll
index 47adf7ffb..15027e1ee 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.dll and b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.dll differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.pdb b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.pdb
index f4c857f94..3330639ad 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.pdb and b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.pdb differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.xml b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.xml
index 1782ca8d2..8c4245568 100644
--- a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.xml
+++ b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.RequestProtocol.xml
@@ -198,6 +198,16 @@
Acknowledge feedback from meter after communication
+
+
+ Acknowledge code for unassigned command
+
+
+
+
+ Will be used initially as the record is not sent
+
+
Response missing
@@ -224,6 +234,11 @@
The response record couldn't be decoded
+
+
+ The meter sent a wakeup message instead of the required data
+
+
Valid meter response record
@@ -282,11 +297,6 @@
Holds request commands with detail parameters to see processing state
-
-
- Indicates the base command
-
-
Indicates the base command
@@ -485,6 +495,15 @@
- Avoid enqueue of _recordInProcess if retry counter is 0.
+
+ - Additional DEBUG information included about FIFO and loops.
+
+
+ - Command not assigned response for recordInProcess == null.
+
+
+ - Initial request acknowledge state changed from NotDecoded to NoResponse.
+
@@ -518,6 +537,23 @@
- Initial skip retry error code set to 0x0004 (e.g FW not installed 0x0004).
+
+ - Hide data in log forwarded to DecodeDateForPhysicalLayer to hide passwords in log files.
+
+
+
+
+ Record dispatcher to send FIFO of UI1236 command
+
+
+ - Initial
+
+ string for logging of slot
+ Data package with all details like CRC, etc
+ which is intend
+ hiding data in log file to avoid spying of passwords
+ error mask to skip retries
+ the assembled record for the send FIFO
@@ -549,6 +585,30 @@
- Avoid activation of wakeup retry if record is meanwhile acknowledged.
+
+ - Wakeup message handling changed,
+ - Multiple replies on wakeup message allowed.
+
+
+ - On wakeup message 5 retires are allowed to avoid an infinite loop.
+
+
+ - On wakeup message exit this routine.
+
+
+ - Early exit on _recordInProcess == null,
+ - Wakeup message retries from 5 to 2,
+ - Removed error base from error code decision as error base is only the AppId
+
+
+ - HideDataInLog.
+
+
+ - Ignore wakeup if message already acknowledged (avoid to set
+ "_recordInProcess.Acknowledge = RequestAcknowledgeState.NotDecoded"),
+ - Avoid to overwrite "_recordInProcess.Acknowledge = RequestAcknowledgeState.Acknowledge" with
+ "RequestAcknowledgeState.WakeupMessage".
+
@@ -595,6 +655,25 @@
- Default set.
+
+ - MultipleReadData based on data size.
+
+
+ - Exit multiple read date if retries exceeded.
+
+
+ - Exit multiple read date if retries exceeded increased to .
+
+
+ - Rewound to version from 06.09.2023 14:44:33 before Commit 8c9d7704.
+
+
+ - Removed useless too short comments as every string is going to be delimited by a 0 and usually won't match
+ to a 4 byte chunk.
+
+
+ - Removed redundant 'return cRecord'.
+
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol.dll b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol.dll
index e3af64124..5e277f02f 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol.dll and b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol.dll differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol.pdb b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol.pdb
index 93dc2cc42..e00b711d6 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol.pdb and b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol.pdb differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol.xml b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol.xml
index aed76d31b..497478d25 100644
--- a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol.xml
+++ b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Protocols.StreamingProtocol.xml
@@ -27,17 +27,22 @@
- Data fields and definitions for GENESIS streaming protocol
+ Data fields and definitions for GENESIS streaming protocol
+
+
+
+
+ Default data for bend detection tests of Genesis
- Default data for
+ Default data for flow tests of Genesis
-
+
- Calibration data
+ Default data for calibration of Genesis
@@ -45,50 +50,90 @@
Constructor initializes all decoded members with default values
+
+
+ Calibration data
+
+
Flow test data
+
+
+ Bend detection test data
+
+
Decoding the raw message
message received as one line delimited with LF
true if decoding was successful and data has been validated
+
+ - Modified using common CRC check before branching to the protocol specific decoder.
+
+
+ - Introduced protocol 'm' for bending detection.
+
-
+
+
+ Extracting message from string fields for protocol 'm'
+
+ reference to bend detection test record
+ Separated fields containing the measurement as string
+
+
+ - Modified using common CRC check in advance.
+
+
+
Extracting message from string fields for protocol 'f'
- Separated fields containing the measurement as string
+ reference to flow test record
+ Separated fields containing the measurement as string
+
+ - Modified using common CRC check in advance.
+
Extracting message from string fields to individual raw channel for protocol 'g'
Reference to result structure for raw data for one channel
- Separated fields containing the measurement as string
+ Separated fields containing the measurement as string
true if protocol is valid
- Usage of VolumeFactorRawToQm and calculation of AccuDutOverflowVolumeCm
+
+ - Modified using common CRC check in advance.
+
Extracting message from string fields to individual raw channel for protocol 'g'
Reference to result structure for raw data for one channel
- Separated fields containing the measurement as string
+ Separated fields containing the measurement as string
true if protocol is valid
- Usage of VolumeFactorRawToQm and calculation of AccuDutOverflowVolumeCm
+
+ - Modified using common CRC check in advance.
+
field position in protocol 'f'
+
+ field position in protocol 'm'
+
field position in protocol 'g'
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Registers.dll b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Registers.dll
index 849e4ec28..dcfbc84b6 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Registers.dll and b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Registers.dll differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Registers.pdb b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Registers.pdb
index 41c9c789e..b8eb86b99 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Registers.pdb and b/packages/Common/Xylem.Common.Hardware.WaterMeter.Genesis.Registers.pdb differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.WaterMeterCore.dll b/packages/Common/Xylem.Common.Hardware.WaterMeter.WaterMeterCore.dll
index e699d1458..74f9c4baa 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.WaterMeterCore.dll and b/packages/Common/Xylem.Common.Hardware.WaterMeter.WaterMeterCore.dll differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.WaterMeterCore.pdb b/packages/Common/Xylem.Common.Hardware.WaterMeter.WaterMeterCore.pdb
index 0a81e25cb..c526152f7 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.WaterMeterCore.pdb and b/packages/Common/Xylem.Common.Hardware.WaterMeter.WaterMeterCore.pdb differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.WaterMeterCore.xml b/packages/Common/Xylem.Common.Hardware.WaterMeter.WaterMeterCore.xml
index 4fad021dd..e486e0649 100644
--- a/packages/Common/Xylem.Common.Hardware.WaterMeter.WaterMeterCore.xml
+++ b/packages/Common/Xylem.Common.Hardware.WaterMeter.WaterMeterCore.xml
@@ -9,11 +9,11 @@
Applies an action to a list of meters in a separate thread
-
+
Starts a new task for a list of meters
-
+
@@ -69,70 +69,119 @@
+
+
+
+
+
+
-
+
- Common definition for Meter handling in production and on test benches
-
-
- represents any error state a meter can have
- if hash code is 0 everything is running
- is Flags, so watch out to check with hasFlag!
+ Display codes to keep the user informed about the production and processing step.
+ This is useful as the user doesn't need to connect the device to a PC, he can
+ immediately inspect the status of the device.
-
+
- everything is good
+ Status not set
-
+
- problems on initialization
+ Error state
-
+
- problems on Measurement
+ Picking in progress
-
+
- Problem on communication with meter
+ Picking succeeded, next step can be initiated
-
+
- Problem on optical output on meter
+ Picking failed
-
+
- if pulse can not readout
+ Pressure testing succeeded, next step can be initiated
-
+
- no (or no good) reference flow available
+ Pressure test failed
-
+
- Calibration went wrong
+ Pressure test failed
-
+
- calibration is out of range. Check documentation from meter to find limitation
+ Connection between PCBID, Serial Number and Order number done
-
+
- blue screen like error
+ Zero flow test succeeded, next step can be initiated
+
+
+
+
+ Zero flow test failed
+
+
+
+
+ Flow calibration succeeded, next step can be initiated
+
+
+
+
+ Flow calibration failed
+
+
+
+
+ Flow test succeeded, next step can be initiated
+
+
+
+
+ Flow test failed
+
+
+
+
+ Final test failed, else the display will be switched to operational mode,
+ showing the actual accumulated volume
+
+
+
+
+ FW update is ongoing
+
+
+
+
+ FW update failed
+
+
+
+
+ FW update succeeded
@@ -345,11 +394,6 @@
read-only to see current Process state
-
-
- read-only to see current Error state
-
-
the current slot in test-bench
@@ -361,17 +405,35 @@
has to be calculated depending on flow-rate and nominal diameter (DN)
+
+
+ Skip the test bench preparation process
+
+
+
+
+ Set the current action test
+
+
+
+
+ Read the PcbId from IMeter, if device has no readable PcbId simulate one
+
+
+
Open Com ports, try some communication, login
-
+
Setup up meter from config file. just a workaround for vb6 calls. please do not use if your working with .net
Slot Number for Test bench
don´t send CRC error or telegrams with error flag to caller
+
+
@@ -383,11 +445,14 @@
Start Login with password service
-
+
- Start Login with out password service and a fixed password
+ Start Login without password service and a fixed password
password for login
+ execute immediately
+ skip app readout and register generation to speed up
+ the initial connection process
@@ -408,7 +473,7 @@
Stop receive record from meter and decode record
-
+
- simplify the measurement results handling
- getting the main measurement of the entire device (combination of all paths)
@@ -420,7 +485,7 @@
Calculated results
-
+
The first measurement is ALWAYS a FlowTestRecord.
@@ -432,6 +497,13 @@
leave empty for an aggregate state for all measurements or pass the channel number to check
+
+
+ Request for intermediate measurement state.
+
+
+
+
set up calibration parameter (calibration factor to default) and set meter into calibration mode
@@ -448,9 +520,7 @@
- Meter must have a active for calibration
- Stop receive record from meter, decode and store record
- record will not calculate or store
+ Meter must have an active Stop Record for calibration
@@ -518,6 +588,11 @@
Clear all object set up on runtime
+
+
+ Dispose the entire test bench
+
+
Interface for Events
@@ -559,5 +634,35 @@
occurs when the calibration is completed
+
+
+ Flowrate for setting up the Pumps on bench
+
+
+
+
+ how long the flow should last
+
+
+
+
+ Corrected measurement of flowrate from Refrence meter
+
+
+
+
+ how long the mesurement was running
+
+
+
+
+ Measurement of flowrate from DUT
+
+
+
+
+ how long the mesurement was running for DUT
+
+
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.WaterMeterRegisters.dll b/packages/Common/Xylem.Common.Hardware.WaterMeter.WaterMeterRegisters.dll
index 7310d19f1..4394f2122 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.WaterMeterRegisters.dll and b/packages/Common/Xylem.Common.Hardware.WaterMeter.WaterMeterRegisters.dll differ
diff --git a/packages/Common/Xylem.Common.Hardware.WaterMeter.WaterMeterRegisters.pdb b/packages/Common/Xylem.Common.Hardware.WaterMeter.WaterMeterRegisters.pdb
index ef76ae6ee..452123969 100644
Binary files a/packages/Common/Xylem.Common.Hardware.WaterMeter.WaterMeterRegisters.pdb and b/packages/Common/Xylem.Common.Hardware.WaterMeter.WaterMeterRegisters.pdb differ
diff --git a/packages/Common/Xylem.Common.Logic.ProductionOrderCore.dll b/packages/Common/Xylem.Common.Logic.ProductionOrderCore.dll
index e2009433d..4a8aaf8bb 100644
Binary files a/packages/Common/Xylem.Common.Logic.ProductionOrderCore.dll and b/packages/Common/Xylem.Common.Logic.ProductionOrderCore.dll differ
diff --git a/packages/Common/Xylem.Common.Logic.ProductionOrderCore.pdb b/packages/Common/Xylem.Common.Logic.ProductionOrderCore.pdb
index 355f1d955..87488305f 100644
Binary files a/packages/Common/Xylem.Common.Logic.ProductionOrderCore.pdb and b/packages/Common/Xylem.Common.Logic.ProductionOrderCore.pdb differ
diff --git a/packages/Common/Xylem.Common.Logic.RelatePcb.dll b/packages/Common/Xylem.Common.Logic.RelatePcb.dll
index f64f03918..4cf64157f 100644
Binary files a/packages/Common/Xylem.Common.Logic.RelatePcb.dll and b/packages/Common/Xylem.Common.Logic.RelatePcb.dll differ
diff --git a/packages/Common/Xylem.Common.Logic.RelatePcb.pdb b/packages/Common/Xylem.Common.Logic.RelatePcb.pdb
index 530a9f45a..dddfc9a58 100644
Binary files a/packages/Common/Xylem.Common.Logic.RelatePcb.pdb and b/packages/Common/Xylem.Common.Logic.RelatePcb.pdb differ
diff --git a/packages/Common/Xylem.Common.Logic.ServiceCore.dll b/packages/Common/Xylem.Common.Logic.ServiceCore.dll
index 04a73e2fc..941f790b3 100644
Binary files a/packages/Common/Xylem.Common.Logic.ServiceCore.dll and b/packages/Common/Xylem.Common.Logic.ServiceCore.dll differ
diff --git a/packages/Common/Xylem.Common.Logic.ServiceCore.pdb b/packages/Common/Xylem.Common.Logic.ServiceCore.pdb
index 98ccd3e28..c9b5da10c 100644
Binary files a/packages/Common/Xylem.Common.Logic.ServiceCore.pdb and b/packages/Common/Xylem.Common.Logic.ServiceCore.pdb differ
diff --git a/packages/Common/Xylem.Common.Logic.SoftwareAccessHelper.dll b/packages/Common/Xylem.Common.Logic.SoftwareAccessHelper.dll
index e428a1b14..16e5d8101 100644
Binary files a/packages/Common/Xylem.Common.Logic.SoftwareAccessHelper.dll and b/packages/Common/Xylem.Common.Logic.SoftwareAccessHelper.dll differ
diff --git a/packages/Common/Xylem.Common.Logic.SoftwareAccessHelper.pdb b/packages/Common/Xylem.Common.Logic.SoftwareAccessHelper.pdb
index 115a58a33..729628962 100644
Binary files a/packages/Common/Xylem.Common.Logic.SoftwareAccessHelper.pdb and b/packages/Common/Xylem.Common.Logic.SoftwareAccessHelper.pdb differ
diff --git a/packages/Common/Xylem.Common.Metrology.Measurements.xml b/packages/Common/Xylem.Common.Metrology.Measurements.xml
index 083f9298f..263935d64 100644
--- a/packages/Common/Xylem.Common.Metrology.Measurements.xml
+++ b/packages/Common/Xylem.Common.Metrology.Measurements.xml
@@ -81,7 +81,25 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -167,7 +185,7 @@
The Result is NOT being stored to the meter.
CAN BE USED FOR STATIC START/STOP AND FLYING START/STOP PROCEDURE
- reference volume in m³
+ reference volume in m³
reference time in seconds
the deviation to set the calibration in %
calibration factor as relative value or null if calibration factor cannot be calculated
@@ -317,6 +335,118 @@
Calibration is stored on meter
+
+
+ SI Units
+
+
+
+
+ Unit definitions based on SI or derived SI or NON SI
+
+
+
+
+ Value without any attachable unit []
+
+
+
+
+ Normalized to +/- 1.000 [norm]
+
+
+
+
+ Percent [%]
+
+
+
+
+ Voltage in Volts [V]
+
+
+
+
+ Current in Amperes [A]
+
+
+
+
+ Electrical Power in Watts [W]
+
+
+
+
+ Electrical Load in Ampere hours [Ah]
+
+
+
+
+ Distance in Meters [m]
+
+
+
+
+ Flow rate in cubic-meters per hour [m³/h]
+
+
+
+
+ Temperature in degree Celsius [°C]
+
+
+
+
+ Time in seconds [s]
+
+
+
+
+ Pressure in Pascal [Pa]
+
+
+
+
+ Frequency in Hertz [Hz]
+
+
+
+
+ Combine SI unit names with string value
+
+
+
+
+ Hard coded return string from FM2014
+
+
+
+
+ SI unit string
+
+
+
+
+ Ctor
+
+
+
+
+
+
+ Table of SI and NON-SI units
+
+
+
+
+ Get the information string
+
+
+ Unit string
+
+ - Initial.
+
+
@@ -345,6 +475,11 @@
Actual state of the measurement
+
+
+ Actual state of the measurement
+
+
Clear start, intermediate and end record and set action state to idle
@@ -382,7 +517,7 @@
The timing will be set by the IntermediateUpdateTimeS.
-
+
@@ -390,7 +525,7 @@
Returning the intermediate results of the ongoing measurement from the start of measurement until now!
-
+
@@ -398,7 +533,7 @@
Returning the results of the measurements from start until stop.
Measurement duration is needed explicit for flying start/stop procedure
- reference volume is ALWAYS needed for scale and deviation
+ reference volume is ALWAYS needed for scale and deviation
@@ -463,6 +598,21 @@
actual volume in cubic meters
+
+
+ Forward volume in cubic meters
+
+
+
+
+ Reverse volume in cubic meters as negative value
+
+
+
+
+ Flow rate in cubic meters per hour
+
+
Overflow volume
@@ -525,7 +675,9 @@
-
+
+ Calculate the measurements based on time, start- and stop-volume and overflow.
+
@@ -614,7 +766,7 @@
this will use the
-
+
Calculation of measurement results, overflow will be taken into account:
- DutVolumeCm in cubic meters:
diff --git a/packages/Common/Xylem.Common.Ui.CordonelPreadjustmentUi.pdb b/packages/Common/Xylem.Common.Ui.CordonelPreadjustmentUi.pdb
index 184f0bc20..fad771f73 100644
Binary files a/packages/Common/Xylem.Common.Ui.CordonelPreadjustmentUi.pdb and b/packages/Common/Xylem.Common.Ui.CordonelPreadjustmentUi.pdb differ
diff --git a/packages/Common/Xylem.Common.Ui.GenesisToolBox.exe b/packages/Common/Xylem.Common.Ui.GenesisToolBox.exe
index d575a5bcf..0c0165752 100644
Binary files a/packages/Common/Xylem.Common.Ui.GenesisToolBox.exe and b/packages/Common/Xylem.Common.Ui.GenesisToolBox.exe differ
diff --git a/packages/Common/Xylem.Common.Ui.GenesisToolBox.exe.config b/packages/Common/Xylem.Common.Ui.GenesisToolBox.exe.config
index 0e4e85051..95a21f9d3 100644
--- a/packages/Common/Xylem.Common.Ui.GenesisToolBox.exe.config
+++ b/packages/Common/Xylem.Common.Ui.GenesisToolBox.exe.config
@@ -2,44 +2,48 @@
-
+
-
+
-
+
-
+
-
-
-
+
+
+
-
-
+
+
+
+
+
+
-
+
-
+
diff --git a/packages/Common/Xylem.Common.Ui.GenesisToolBox.pdb b/packages/Common/Xylem.Common.Ui.GenesisToolBox.pdb
index 44247dd50..d08494a06 100644
Binary files a/packages/Common/Xylem.Common.Ui.GenesisToolBox.pdb and b/packages/Common/Xylem.Common.Ui.GenesisToolBox.pdb differ
diff --git a/packages/Common/Xylem.Common.Utils.ByteArrayStyle.dll b/packages/Common/Xylem.Common.Utils.ByteArrayStyle.dll
index 1bbc296b2..f7bd4d43b 100644
Binary files a/packages/Common/Xylem.Common.Utils.ByteArrayStyle.dll and b/packages/Common/Xylem.Common.Utils.ByteArrayStyle.dll differ
diff --git a/packages/Common/Xylem.Common.Utils.ByteArrayStyle.pdb b/packages/Common/Xylem.Common.Utils.ByteArrayStyle.pdb
index 50106e925..16c09f4f0 100644
Binary files a/packages/Common/Xylem.Common.Utils.ByteArrayStyle.pdb and b/packages/Common/Xylem.Common.Utils.ByteArrayStyle.pdb differ
diff --git a/packages/Common/Xylem.Common.Utils.Logging.dll b/packages/Common/Xylem.Common.Utils.Logging.dll
index 59815adab..8133744c3 100644
Binary files a/packages/Common/Xylem.Common.Utils.Logging.dll and b/packages/Common/Xylem.Common.Utils.Logging.dll differ
diff --git a/packages/Common/Xylem.Common.Utils.Logging.pdb b/packages/Common/Xylem.Common.Utils.Logging.pdb
index 1520bd936..e52bdcac0 100644
Binary files a/packages/Common/Xylem.Common.Utils.Logging.pdb and b/packages/Common/Xylem.Common.Utils.Logging.pdb differ
diff --git a/packages/Common/Xylem.Common.Utils.ProcessExec.dll b/packages/Common/Xylem.Common.Utils.ProcessExec.dll
index 6e67bfbe4..31424765f 100644
Binary files a/packages/Common/Xylem.Common.Utils.ProcessExec.dll and b/packages/Common/Xylem.Common.Utils.ProcessExec.dll differ
diff --git a/packages/Common/Xylem.Common.Utils.ProcessExec.pdb b/packages/Common/Xylem.Common.Utils.ProcessExec.pdb
index 75da1c836..6d5a0703b 100644
Binary files a/packages/Common/Xylem.Common.Utils.ProcessExec.pdb and b/packages/Common/Xylem.Common.Utils.ProcessExec.pdb differ
diff --git a/packages/Common/XylemCommonUiLegacyGenCtl.dll b/packages/Common/XylemCommonUiLegacyGenCtl.dll
index 90c6a770b..528886ee0 100644
Binary files a/packages/Common/XylemCommonUiLegacyGenCtl.dll and b/packages/Common/XylemCommonUiLegacyGenCtl.dll differ
diff --git a/packages/Common/XylemCommonUiLegacyGenCtl.pdb b/packages/Common/XylemCommonUiLegacyGenCtl.pdb
index 4b8c5c355..0373d5c9e 100644
Binary files a/packages/Common/XylemCommonUiLegacyGenCtl.pdb and b/packages/Common/XylemCommonUiLegacyGenCtl.pdb differ