From fd090d66994992132c0ebd7fdc7946dfb53df439 Mon Sep 17 00:00:00 2001 From: Jose Torres Date: Mon, 22 Jul 2019 17:27:35 +0200 Subject: [PATCH] Removing compilation tmp files --- CheckRtfNet/bin/Debug/NLog.config | 10 - CheckRtfNet/bin/Debug/NLog.dll | Bin 701440 -> 0 bytes CheckRtfNet/bin/Debug/NLog.xml | 26890 ---------------- ...heckRtfNet.Properties.Signatures.resources | Bin 6432 -> 0 bytes .../obj/Debug/CheckRtfNet.csproj.CopyComplete | 0 ...CheckRtfNet.csproj.CoreCompileInputs.cache | 1 - .../CheckRtfNet.csproj.FileListAbsolute.txt | 43 - .../CheckRtfNet.csproj.GenerateResource.cache | Bin 1226 -> 0 bytes ...tfNet.csprojResolveAssemblyReference.cache | Bin 16835 -> 0 bytes .../obj/Debug/CheckRtfNet.frmInit.resources | Bin 111865 -> 0 bytes .../DesignTimeResolveAssemblyReferences.cache | Bin 2735 -> 0 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 8191 -> 0 bytes .../Properties.Signatures.Designer.cs.dll | Bin 18944 -> 0 bytes ...le_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs | 0 ...le_5937a670-0e60-4077-877b-f7221da3dda1.cs | 0 ...le_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs | 0 16 files changed, 26944 deletions(-) delete mode 100755 CheckRtfNet/bin/Debug/NLog.config delete mode 100755 CheckRtfNet/bin/Debug/NLog.dll delete mode 100755 CheckRtfNet/bin/Debug/NLog.xml delete mode 100755 CheckRtfNet/obj/Debug/CheckRtfNet.Properties.Signatures.resources delete mode 100755 CheckRtfNet/obj/Debug/CheckRtfNet.csproj.CopyComplete delete mode 100755 CheckRtfNet/obj/Debug/CheckRtfNet.csproj.CoreCompileInputs.cache delete mode 100755 CheckRtfNet/obj/Debug/CheckRtfNet.csproj.FileListAbsolute.txt delete mode 100755 CheckRtfNet/obj/Debug/CheckRtfNet.csproj.GenerateResource.cache delete mode 100755 CheckRtfNet/obj/Debug/CheckRtfNet.csprojResolveAssemblyReference.cache delete mode 100755 CheckRtfNet/obj/Debug/CheckRtfNet.frmInit.resources delete mode 100755 CheckRtfNet/obj/Debug/DesignTimeResolveAssemblyReferences.cache delete mode 100755 CheckRtfNet/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache delete mode 100755 CheckRtfNet/obj/Debug/TempPE/Properties.Signatures.Designer.cs.dll delete mode 100755 CheckRtfNet/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs delete mode 100755 CheckRtfNet/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs delete mode 100755 CheckRtfNet/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs diff --git a/CheckRtfNet/bin/Debug/NLog.config b/CheckRtfNet/bin/Debug/NLog.config deleted file mode 100755 index 3f2bafe..0000000 --- a/CheckRtfNet/bin/Debug/NLog.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/CheckRtfNet/bin/Debug/NLog.dll b/CheckRtfNet/bin/Debug/NLog.dll deleted file mode 100755 index 868591be11e3941470eedda17cbb997067405c82..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 701440 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 z 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̵+@A&jPoh5vPFgL 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 Bm&O19 diff --git a/CheckRtfNet/bin/Debug/NLog.xml b/CheckRtfNet/bin/Debug/NLog.xml deleted file mode 100755 index e8add05..0000000 --- a/CheckRtfNet/bin/Debug/NLog.xml +++ /dev/null @@ -1,26890 +0,0 @@ - - - - NLog - - - - - Indicates that the value of the marked element could be null sometimes, - so the check for null is necessary before its usage - - - [CanBeNull] public object Test() { return null; } - public 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] public object Foo() { - return null; // Warning: Possible 'null' assignment - } - - - - - 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")] - public void ShowError(string message, params object[] args) { /* do something */ } - public 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 - - - - - 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 - - - public 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 - 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) - - - - internal class Foo : INotifyPropertyChanged { - public event PropertyChangedEventHandler PropertyChanged; - [NotifyPropertyChangedInvocator] - protected virtual void NotifyChanged(string propertyName) { ... } - - private 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 methos doesn't return normally.
- canbenull annotation is only applicable for output parameters.
- You can use multiple [ContractAnnotation] for each FDT row, - or use single attribute with rows separated by semicolon.
-
- - - [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("s:null=>false; =>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)] - internal class Foo { - private 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 { - public 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 - internal class ComponentAttribute : Attribute { } - [Component] // ComponentAttribute requires implementing IComponent interface - internal 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] private int Multiply(int x, int y) { return x * y; } - public void Foo() { - const int a = 2, b = 2; - Multiply(a, b); // Waring: Return value of pure method is not used - } - - - - - 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 (~) - - - - - 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 all 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. 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. 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) - - - - - 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. - - The for the log event. - 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 Relese 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 number of items in the array. - - - - - 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. - - - - - - - Promoto 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 - - - - - Perform mesage 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. - - - - - Format of the excpetion 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) - - - - - 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. - - - - - 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. - - - - 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 alle 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 alle 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 alle 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. - - - - 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. - - - - 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. - - - - Represents a logging rule. An equivalent of <logger /> configuration element. - - - - - Create an empty . - - - - - Create a new with a and which writes to . - - Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. - 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. It may include the '*' wildcard at the beginning, at the end or at both ends. - 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. It may include the '*' wildcard at the beginning, at the end or at both ends. - Target to be written to when the rule matches. - - - - 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. It may include the '*' wildcard at the beginning, at the end or at both ends but not anywhere else. - - - - - Gets the collection of log levels enabled by this rule. - - - - - 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 logger name pattern. - - String to be matched. - A value of when the name matches, otherwise. - - - - 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. - - - - Gets the required attribute. - - Name of the attribute. - Attribute value. - Throws if the attribute is not specified. - - - - Gets the optional boolean attribute value. - - Name of the attribute. - Default value to return if the attribute is not found. - Boolean attribute value or default. - - - - Gets the optional boolean attribute value. If whitespace, then returning null. - - Name of the attribute. - Default value to return if the attribute is not found. - Boolean attribute value or default. - - - - Gets the optional attribute value. - - Name of the attribute. - The default value. - Value of the attribute or default value. - - - - 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. - - - - - 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. - - - - 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). - - - - 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). - 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). - 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). - Ignore any errors during configuration. - The to which to apply any applicable configuration values. - - - - Initializes a new instance of the class. - - The XML element. - Name of the XML file. - - - - Initializes a new instance of the class. - - The XML element. - Name of the XML file. - If set to true errors will be ignored during file processing. - - - - 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. - - - - - Remove all spaces, also in between text. - - text - text without spaces - Tabs and other whitespace is not removed! - - - - Remove the namespace (before :) - - - x:a, will be a - - - - - - - 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). - 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. - - - - Parse {Rules} xml element - - - Rules are added to this parameter. - - - - Parse {Logger} xml element - - - Rules are added to this parameter. - - - - Split list on comma, trim items - - - no empty items - - - - 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 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. - - - - - Constructor - - - - - 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. - - - - Global Diagnostics Context - used for log4net compatibility. - - 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 - - - - - Serialization of an object into JSON format. - - The object to serialize to JSON. - Output destination. - Serialize succeeded (true/false) - - - - Auto-generated Logger members for binary compatibility with NLog 1.0. - - - Provides logging interface and utility functions. - - - - - Writes the diagnostic message at the Trace level. - - A to be written. - - - - Writes the diagnostic message at the Trace level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format.s - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level. - - A to be written. - - - - Writes the diagnostic message at the Debug level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level. - - A to be written. - - - - Writes the diagnostic message at the Info level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Info level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Info level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level. - - A to be written. - - - - Writes the diagnostic message at the Warn level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Warn level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Warn level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level. - - A to be written. - - - - Writes the diagnostic message at the Error level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Error level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Error level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level. - - A to be written. - - - - Writes the diagnostic message at the Fatal level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Fatal level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Gets a value indicating whether logging is enabled for the Trace level. - - A value of if logging is enabled for the Trace level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Debug level. - - A value of if logging is enabled for the Debug level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Info level. - - A value of if logging is enabled for the Info level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Warn level. - - A value of if logging is enabled for the Warn level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Error level. - - A value of if logging is enabled for the Error level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Fatal level. - - A value of if logging is enabled for the Fatal level, otherwise it returns . - - - - Writes the diagnostic message at the Trace level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Trace level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Trace level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Trace 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 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. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message and exception at the Trace level. - - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Trace level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Trace level. - - Log message. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - - 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 at the Trace level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - 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 Trace level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - 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. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Debug level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Debug 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 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. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message and exception at the Debug level. - - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Debug level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Debug level. - - Log message. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - - 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 at the Debug level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - 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. - - The type of the first argument. - The type of the second argument. - 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 arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - 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 parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - 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 Info level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Info level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Info level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Info 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 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. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message and exception at the Info level. - - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Info level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Info level using the specified parameters and formatting them with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Info level. - - Log message. - - - - Writes the diagnostic message at the Info level using the specified parameters. - - 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 at the Info level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Info level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - 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 Info level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - 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 Warn level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Warn level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Warn level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Warn 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 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. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message and exception at the Warn level. - - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Warn level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Warn level using the specified parameters and formatting them with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Warn level. - - Log message. - - - - Writes the diagnostic message at the Warn level using the specified parameters. - - 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 at the Warn level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Warn level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - 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 Warn level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - 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 Error level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Error level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Error level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Error 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 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. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message and exception at the Error level. - - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Error level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Error level using the specified parameters and formatting them with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Error level. - - Log message. - - - - Writes the diagnostic message at the Error level using the specified parameters. - - 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 at the Error level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Error level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - 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 Error level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - 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 Fatal level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Fatal level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Fatal level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Fatal 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 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. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message and exception at the Fatal level. - - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Fatal level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Fatal level using the specified parameters and formatting them with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Fatal level. - - Log message. - - - - Writes the diagnostic message at the Fatal level using the specified parameters. - - 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 at the Fatal level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - 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 Fatal level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Auto-generated Logger members for binary compatibility with NLog 1.0. - - - Logger with only generic methods (passing 'LogLevel' to methods) and core properties. - - - - - Writes the diagnostic message at the specified level. - - The log level. - A to be written. - - - - Writes the diagnostic message at the specified level. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The log level. - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The log level. - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Occurs when logger configuration changes. - - - - - Gets the name of the logger. - - - - - Gets the factory that created this logger. - - - - - Gets a value indicating whether logging is enabled for the specified level. - - Log level to be checked. - A value of if logging is enabled for the specified level, otherwise it returns . - - - - Writes the specified diagnostic message. - - Log event. - - - - Writes the specified diagnostic message. - - The name of the type that wraps Logger. - Log event. - - - - Writes the diagnostic message at the specified level using the specified format provider and format parameters. - - - Writes the diagnostic message at the specified level. - - Type of the value. - The log level. - The value to be written. - - - - Writes the diagnostic message at the specified level. - - Type of the value. - The log level. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the specified level. - - 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 and exception at the specified level. - - The log level. - 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 IFormatProvider that supplies culture-specific formatting information. - A to be written. - Arguments to format. - An exception to be logged. - - - - Writes the diagnostic message at the specified level using the specified parameters and formatting them with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the specified level. - - The log level. - Log message. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The log level. - 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 at the specified level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified parameter. - - The type of the argument. - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The log level. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - The log level. - An IFormatProvider that supplies culture-specific formatting information. - 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 specified level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - The log level. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Extensions for NLog . - - - - - Writes the diagnostic message and exception at the specified level. - - A logger implementation that will handle the message. - The log level. - An exception to be logged. - 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 logger implementation that will handle the message. - An exception to be logged. - 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 logger implementation that will handle the message. - An exception to be logged. - 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 logger implementation that will handle the message. - An exception to be logged. - 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 logger implementation that will handle the message. - An exception to be logged. - 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 logger implementation that will handle the message. - An exception to be logged. - 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 logger implementation that will handle the message. - 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 - - - - - Access the new builder allocated - - - - - Helpers for . - - - - - Load from url - - file or path, including .dll - basepath, optional - - - - - Load from url - - name without .dll - - - - - Keeps track of pending operation count, and can notify when pending operation count reaches zero - - - - - 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. - 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. - - - - - 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. - - - - - Internal configuration manager used to read .NET configuration files. - Just a wrapper around the BCL ConfigurationManager, but used to enable - unit testing. - - - - - Gets the wrapper around ConfigurationManager.AppSettings. - - - - - 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. - - - - - 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. - - - - - Adapter for to - - - - - Initializes a new instance of the class. - - The to wrap. - - - - Creates an AppDomainWrapper for the current - - - - - 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. - - - - - 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. - - - - - 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 appeander 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 appeander. - - 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. - 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 appeander. - - 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 initialised 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? - - - - - 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 appeander. - - 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 appeander. - - 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 appeander. - - 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 appeander. - - 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 - - - - - Interface for the wrapper around System.Configuration.ConfigurationManager. - - - - - Gets the wrapper around ConfigurationManager.AppSettings. - - - - - Format a log message - - - - - Format the message and return - - LogEvent with message to be formatted - formatted message - - - - Has the logevent properties? - - LogEvent with message to be formatted - False when logevent has no properties to be extracted - - - - Appends the logevent message to the provided StringBuilder - - LogEvent with message to be formatted - The to append the formatted message. - - - - Interface implemented by layouts and layout renderers. - - - - - Renders the 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 object initialization and termination. - - - - - Initializes this instance. - - The configuration. - - - - Closes this instance. - - - - - Allows components to request stack trace information to be provided in the . - - - - - Gets the level of stack trace information required by the implementing class. - - - - - Render the event info as parse as short - - current layout - - default value when the render - layout name for log message to internal log when logging fails - - - - - Render the event info as parse as int - - current layout - - default value when the render - layout name for log message to internal log when logging fails - - - - - Render the event info as parse as bool - - 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. - - - - Determines whether the specified level is enabled. - - The level. - - A value of true if the specified level is enabled; otherwise, false. - - - - - 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 - - - - - - - - Most-Recently-Used-Cache, that discards less frequently used items on overflow - - - - - Constructor - - Maximum number of items the cache will hold before discarding. - - - - Attempt to insert item into cache. - - Key of the item to be inserted in the cache. - Value of the item to be inserted in the cache. - true when the key does not already exist in the cache, false otherwise. - - - - Lookup existing item in cache. - - Key of the item to be searched in the cache. - 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. - - - - 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. - - - - 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. - - - 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 . - - - - - 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. - - /// - A newly created network sender. - - - - - 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 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. - - - - Performs sender-specific flush. - - The continuation. - - - - Sends the specified text over the connected socket. - - 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. - - - - 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 - - - - Combine paths - - basepath, not null - optional dir - optional file - - - - - Detects the platform the NLog is running on. - - - - - Gets the current runtime OS. - - - - - Gets a value indicating whether current OS is a desktop version of Windows. - - - - - 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 - - - - - 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. - - - - - - Gets current process name (excluding filename extension, if any). - - - - - - Gets the name of the process. - - - - - Dictionary that combines the standard with the - MessageTemplate-properties extracted from the . - - The are returned as the first items - in the collection, and in positional order. - - - - - Value of the property - - - - - Is this a property of the message? - - - - - - - Value of the property - Is this a property of the message? - - - - The properties of the logEvent - - - - - The properties extracted from the message - - - - - Injects the list of message-template-parameter into the IDictionary-interface - - Message-template-parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Check if the message-template-parameters can be used directly without allocating a dictionary - - Message-template-parameters - Are all parameter names unique (true / false) - - - - 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 - - - - - - - - - - - - - - - - - - - - - Will always throw, as collection is readonly - - - Will always throw, as collection is readonly - - - Will always throw, as collection is readonly - - - - - - - - - - - - - - - - - - - Reflection helpers for accessing properties. - - - - - Set value parsed from string. - - 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: http://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 - - - - - Any operating system. - - - - - Unix/Linux operating systems. - - - - - Windows CE. - - - - - Desktop versions of Windows (95,98,ME). - - - - - Windows NT, 2000, 2003 and future versions based on NT technology. - - - - - Unknown operating system. - - - - - 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. - - - - HashSet optimized for single item - - - - - - Insert single item on scope start, and remove on scope exit - - Item to insert in scope - Existing hashset to update - Force allocation of real hashset-container - - - - Add item to collection, if it not already exists - - Item to insert - - - - Clear hashset - - - - - Check if hashset contains item - - - Item exists in hashset (true/false) - - - - Remove item from hashset - - - Item removed from hashset (true/false) - - - - Copy items in hashset to array - - Destination array - Array offset - - - - Create hashset enumerator - - Enumerator - - - - Provides helpers to sort log events and associated continuations. - - - - - Key selector delegate. - - The type of the value. - The type of the key. - Value to extract key information from. - Key selected from log event. - - - - Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. - - The type of the value. - The type of the key. - The inputs. - The key selector function. - - Dictionary where keys are unique input keys, and values are lists of . - - - - - Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. - - The type of the value. - The type of the key. - The inputs. - The key selector function. - - Dictionary where keys are unique input keys, and values are lists of . - - - - - Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. - - The type of the value. - The type of the key. - The inputs. - The key selector function. - The key comparer function. - - Dictionary where keys are unique input keys, and values are lists of . - - - - - Single-Bucket optimized readonly dictionary. Uses normal internally Dictionary if multiple buckets are needed. - - Avoids allocating a new dictionary, when all items are using the same bucket - - The type of the key. - The type of the value. - - - - - - - - - - - - - - - - Allows direct lookup of existing keys. If trying to access non-existing key exception is thrown. - Consider to use instead for better safety. - - Key value for lookup - Mapped value found - - - - Non-Allocating struct-enumerator - - - - - - - - - - - - - Will always throw, as dictionary is readonly - - - Will always throw, as dictionary is readonly - - - - - - Will always throw, as dictionary is readonly - - - Will always throw, as dictionary is readonly - - - - - - - - - Will always throw, as dictionary is readonly - - - - Utilities for dealing with values. - - - - - Gets the fully qualified name of the class invoking the calling method, including the - namespace but not the assembly. - - - - - Gets the fully qualified name of the class invoking the calling method, including the - namespace but not the assembly. - - StackFrame from the calling method - Fully qualified class name - - - - Returns the assembly from the provided StackFrame (If not internal assembly) - - Valid asssembly, or null if assembly was internal - - - - Returns the classname from the provided StackFrame (If not from internal assembly) - - - Valid class name, or empty string if assembly was internal - - - - Stream helpers - - - - - Copy to output stream and skip BOM if encoding is UTF8 - - - - - - - - Copy stream input to output. Skip the first bytes - - stream to read from - stream to write to - .net35 doesn't have a .copyto - - - - Copy stream input to output. Skip the first bytes - - stream to read from - stream to write to - first bytes to skip (optional) - - - - 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. - provider, for example culture - - - - Appends int without using culture, and most importantly without garbage - - - value to append - - - - Appends uint without using culture, and most importantly without garbage - - Credits Gavin Pugh - http://www.gavpugh.com/2010/04/01/xnac-avoiding-garbage-when-working-with-stringbuilder/ - - - value to append - - - - Clears the provider StringBuilder - - - - - - Copies the contents of the StringBuilder to the MemoryStream using the specified encoding (Without BOM/Preamble) - - StringBuilder source - MemoryStream destination - Encoding used for converter string into byte-stream - Helper char-buffer to minimize memory allocations - - - - Copies the contents of the StringBuilder to the destination StringBuilder - - StringBuilder source - StringBuilder destination - - - - Scans the StringBuilder for the position of needle character - - StringBuilder source - needle character to search for - - Index of the first occurrence (Else -1) - - - - Compares the contents of two StringBuilders - - - Correct implementation of that also works when is not the same - - True when content is the same - - - - Compares the contents of a StringBuilder and a String - - True when content is the same - - - - Append a number and pad with 0 to 2 digits - - append to this - the number - - - - Append a number and pad with 0 to 4 digits - - append to this - the number - - - - Apend 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 - - - - - Helpers for . - - - - - IsNullOrWhiteSpace, including for .NET 3.5 - - - - - - - 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 - - Text to split - Character to split the - Quote character - - Escape for the , not escape for the - , use quotes for that. - - - - - - Represents target with a chain of filters which determine - whether logging should happen. - - - - - cached result as calculating is expensive. - - - - - Initializes a new instance of the class. - - The target. - The filter chain. - - - - Gets the target. - - The target. - - - - Gets the filter chain. - - The filter chain. - - - - Gets or sets the next item in the chain. - - 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. - - - - Returns details about current process and thread in a portable manner. - - - - - Initializes static members of the ThreadIDHelper class. - - - - - Gets the singleton instance of PortableThreadIDHelper or - Win32ThreadIDHelper depending on runtime environment. - - The instance. - - - - Gets current process ID. - - - - - Gets current process name. - - - - - Gets current process name (excluding filename extension, if any). - - - - - Helper for dealing with thread-local storage. - - - - - Allocates the data slot for storing thread-local information. - - Allocated slot key. - - - - Gets the data for a slot in thread-local storage. - - 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). - - - - - Wraps with a timeout. - - - - - Initializes a new instance of the class. - - The asynchronous continuation. - The timeout. - - - - Continuation function which implements the timeout logic. - - The exception. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - URL Encoding helper. - - - - Allow UnreservedMarks instead of ReservedMarks, as specified by chosen RFC - - - Use RFC2396 standard (instead of RFC3986) - - - Should use lowercase when doing HEX escaping of special characters - - - Replace space ' ' with '+' instead of '%20' - - - Skip UTF8 encoding, and prefix special characters with '%u' - - - - Escape unicode string data for use in http-requests - - unicode string-data to be encoded - target for the encoded result - s for how to perform the encoding - - - - Convert the wide-char into utf8-bytes, and then escape - - - - - - - - - Is allowed? - - - - - - - - Is a-z / A-Z / 0-9 - - - - - - - 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 name. - - - - - - Gets current process name (excluding filename extension, if any). - - - - - - Helper class for XML - - - - - removes any unusual unicode characters that can't be encoded into XML - - - - - Cleans string of any invalid XML chars found - - unclean string - string with only valid XML chars - - - - Converts object value to invariant format, and strips any invalid xml-characters - - Object value - Object value converted to string - - - - Converts object value to invariant format (understood by JavaScript) - - Object value - Object value converted to string - - - - Converts object value to invariant format (understood by JavaScript) - - Object value - Object TypeCode - Object value converted to string - - - - Safe version of WriteAttributeString - - - - - - - - - - Safe version of WriteAttributeString - - - - - - - - Safe version of WriteElementSafeString - - - - - - - - - - Safe version of WriteCData - - - - - - - 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) - - - - Log event context data. - - - - - Initializes a new instance of the class. - - - - - Gets or sets string that will be used to separate key/value pairs. - - - - - - Also render the caller information attributes? (, - , ). - - See https://msdn.microsoft.com/en-us/library/hh534540.aspx - - - - - - 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. - - - - The names of caller information attributes. - https://msdn.microsoft.com/en-us/library/hh534540.aspx - TODO NLog ver. 5 - Remove these properties - - - - - Also render the call attributes? (, - , ). - - - - - - 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. - - - - Used to render the application domain name. - - - - - Create a new renderer - - - - - Create a new renderer - - - - - Format string. Possible values: "Short", "Long" or custom like {0} {1}. Default "Long" - The first parameter is the , the second the second the - This string is used in - - - - - - Initializes the layout renderer. - - - - - Closes the layout renderer. - - - - - Render the layout - - - - - - - Convert the formatting string - - - - - - - Renders the assembly version information for the entry assembly or a named assembly. - - - As this layout renderer uses reflection and version information is unlikely to change during application execution, - it is recommended to use it in conjunction with the . - - - 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. - - - - - - Gets or sets the type of assembly version to retrieve. - - - 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. - - - - - - 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 - - - - Type of assembly version to retrieve. - - - - - Gets the assembly version. - - - - - Gets the file version. - - - - - Gets 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 - - - - - Initializes a new instance of the class. - - - - - 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. - - - - - Renders the call site and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - Renders the call site and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - A counter value (increases on each layout rendering). - - - - - Initializes a new instance of the class. - - - - - 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. - - - - - - Renders the specified counter value and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - Renders the current directory and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - Renders the current date and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - Renders the specified environment variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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 . - - - - - Log event context data with default options. - - - - - Gets or sets the name of the item. - - - - - - Format string for conversion from object to string. - - - - - - Gets or sets the culture used for rendering. - - - - - - Renders the specified log event context item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - - Renders the specified exception information and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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 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. - - - - - Renders the specified environmental information and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - The information about the garbage collector. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the property to retrieve. - - - - - - Renders the selected process information. - - The to append the rendered data to. - Logging event. - - - - Gets or sets the property of System.GC to retrieve. - - - - - Total memory allocated. - - - - - Total memory allocated (perform full garbage collection first). - - - - - Gets the number of Gen0 collections. - - - - - Gets the number of Gen1 collections. - - - - - Gets the number of Gen2 collections. - - - - - Maximum generation number supported by GC. - - - - - Global Diagnostics Context item. Provided for compatibility with log4net. - - - - - Gets or sets the name of the item. - - - - - - Format string for conversion from object to string. - - - - - - Renders the specified Global Diagnostics Context item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Globally-unique identifier (GUID). - - - - - Initializes a new instance of the class. - - - - - 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) - - - - - - Renders a newly generated GUID string and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Thread identity information (name and authentication information). - - - - - Initializes a new instance of the class. - - - - - 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. - - - - - - Renders the specified identity information and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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 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 specified environmental information and appends it to the specified . - - 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 registing to default - Type of the layout renderer. - Name of the layout renderer - without ${}. - - - - Register a custom layout renderer with a callback function . The callback recieves 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. - - - - - - Renders the current log level and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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). - - - - - - Renders the logger name and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - Initializes the layout renderer. - - - - - Renders the machine name and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Mapped Diagnostic Context item. Provided for compatibility with log4net. - - - - - Gets or sets the name of the item. - - - - - - Format string for conversion from object to string. - - - - - - Renders the specified MDC item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Mapped Diagnostic Logical Context item (based on CallContext). - - - - - Gets or sets the name of the item. - - - - - - Format string for conversion from object to string. - - - - - - Renders the specified MDLC item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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 - - - - - - Renders the log message including any positional parameters and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Nested Diagnostic Context item. Provided for compatibility with log4net. - - - - - 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. - - - - Renderer (Async scope) - - - - - 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. - - - - - - Initializes the layout renderer. - - - - - Closes the layout renderer. - - - - - Renders the specified environment variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - The identifier of the current process. - - - - - Renders the current process ID. - - The to append the rendered data to. - Logging event. - - - - The information about the running process. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the property to retrieve. - - - - - - Gets or sets the format-string to use if the property supports it (Ex. DateTime / TimeSpan / Enum) - - - - - - Initializes the layout renderer. - - - - - Closes the layout renderer. - - - - - Renders the selected process information. - - The to append the rendered data to. - Logging event. - - - - Property of System.Diagnostics.Process to retrieve. - - - - - Base Priority. - - - - - Exit Code. - - - - - Exit Time. - - - - - Process Handle. - - - - - Handle Count. - - - - - Whether process has exited. - - - - - Process ID. - - - - - Machine name. - - - - - Handle of the main window. - - - - - Title of the main window. - - - - - Maximum Working Set. - - - - - Minimum Working Set. - - - - - Non-paged System Memory Size. - - - - - Non-paged System Memory Size (64-bit). - - - - - Paged Memory Size. - - - - - Paged Memory Size (64-bit).. - - - - - Paged System Memory Size. - - - - - Paged System Memory Size (64-bit). - - - - - Peak Paged Memory Size. - - - - - Peak Paged Memory Size (64-bit). - - - - - Peak Virtual Memory Size. - - - - - Peak Virtual Memory Size (64-bit).. - - - - - Peak Working Set Size. - - - - - Peak Working Set Size (64-bit). - - - - - Whether priority boost is enabled. - - - - - Priority Class. - - - - - Private Memory Size. - - - - - Private Memory Size (64-bit). - - - - - Privileged Processor Time. - - - - - Process Name. - - - - - Whether process is responding. - - - - - Session ID. - - - - - Process Start Time. - - - - - Total Processor Time. - - - - - User Processor Time. - - - - - Virtual Memory Size. - - - - - Virtual Memory Size (64-bit). - - - - - Working Set Size. - - - - - Working Set Size (64-bit). - - - - - The name of the current process. - - - - - Gets or sets a value indicating whether to write the full path to the process executable. - - - - - - 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. - - - - - Gets or sets a value indicating whether to output in culture invariant format - - - - - - Renders the current process running time and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Write timestamp to builder with format hh:mm:ss:fff - - - - - - - - High precision timer, based on the value returned from QueryPerformanceCounter() optionally converted to seconds. - - - - - Initializes a new instance of the class. - - - - - 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 output the difference between the result - of QueryPerformanceCounter and the previous one. - - - - - - Gets or sets a value indicating whether to convert the result to seconds by dividing - by the result of QueryPerformanceFrequency(). - - - - - - Gets or sets the number of decimal digits to be included in output. - - - - - - Gets or sets a value indicating whether to align decimal point (emit non-significant zeros). - - - - - - Initializes the layout renderer. - - - - - Renders the ticks value of current time and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - A value from the Registry. - - - - - Create new renderer - - - - - Gets or sets the registry value name. - - - - - - 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 backwardscompatible. - - 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 - - - - - Renders the current log sequence ID and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - Format of the ${stacktrace} layout renderer output. - - - - - Raw format (multiline - as returned by StackFrame.ToString() method). - - - - - Flat format (class and method names displayed in a single line). - - - - - Detailed flat format (method signatures displayed in a single line). - - - - - 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. - - - - - - Renders the call site and appends it to the specified . - - 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. - - - - - Renders the current thread identifier and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - The name of the current thread. - - - - - Renders the current thread name and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - The Ticks value of current date and time. - - - - - Renders the ticks value of current time and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - The time in a 24-hour, sortable format HH:mm:ss.mmmm. - - - - - 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 - - - - - - Renders time in the 24-h format (HH:mm:ss.mmm) and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - A renderer that puts into log a System.Diagnostics trace correlation id. - - - - - Renders the current trace activity ID. - - The to append the rendered data to. - Logging event. - - - - Render a NLog variable (xml or config) - - - - - 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 - - - - - Initializes the layout renderer. - - - - - Try get the - - - - - - - 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. - - - - Applies caching to another layout output. - - - The value of the inner layout will be rendered only once and reused subsequently. - - - - - A value indicating when the cache is cleared. - - - - Never clear the cache. - - - Clear the cache whenever the is initialized. - - - 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 - - - - - - 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. - - - - 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 '_'). - - - - - - - - - - - - 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 a value indicating whether to escape non-ascii characters - - - - - - - - - - - - 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. - - - - - Gets or sets the culture used for rendering. - - - - - - - - - - - - Only outputs the inner layout when exception has been defined for log message. - - - - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Horizontal alignment for padding layout renderers. - - - - - When layout text is too long, align it to the left - (remove characters from the right). - - - - - When layout text is too long, align it to the right - (remove characters from the left). - - - - - 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. - - - 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. - - - - - - Gets or sets a value indicating whether a value that has - been truncated (when is true) - will be left-aligned (characters removed from the right) - 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. - - - - Replaces a string in the output of another layout with another string. - - - ${replace:searchFor=\\n+:replaceWith=-:regex=true:inner=${message}} - - - - - 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. - - - - - Gets or sets the group name to replace when using regular expressions. - 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. - - - - - Initializes the layout renderer. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Post-processed text. - - - - This class was created instead of simply using a lambda expression so that the "ThreadAgnosticAttributeTest" will pass - - - - - A match evaluator for Regular Expression based replacing - - Input string. - Group name in the regex. - Replace value. - Match from regex. - Groups replaced with . - - - - 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. - - - - - - - - - - - - Decodes text "encrypted" with ROT-13. - - - See http://en.wikipedia.org/wiki/ROT13. - - - - - Gets or sets the layout to be wrapped. - - The layout to be wrapped. - This variable is for backwards compatibility - - - - - Encodes/Decodes ROT-13-encoded string. - - The string to be encoded/decoded. - Encoded/Decoded text. - - - - - - - - - - Encodes/Decodes ROT-13-encoded string. - - - - - 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. - - - - - - - - - - - Converts the result of another layout output to upper case. - - - ${uppercase:${level}} //[DefaultParameter] - ${uppercase:Inner=${level}} - ${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. - - - - - Gets or sets the culture used for rendering. - - - - - - - - - - - - Encodes the result of another layout output for use with URLs. - - - - - Initializes a new instance of the class. - - - - - 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. - - - - Outputs alternative layout when the inner layout produces empty result. - - - - - Gets or sets the layout to be rendered when original layout produced empty result. - - - - - - - - - - - - Only outputs the inner layout when the specified condition has been met. - - - - - 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. - - - Only positive values are allowed - - - - - - Post-processes the rendered message. - - The text to be post-processed. - Post-processed text. - - - - Base class for s which wrapping other s. - - This has the property (which is default) and can be used to wrap. - - - ${uppercase:${level}} //[DefaultParameter] - ${uppercase:Inner=${level}} - - - - - Gets or sets the wrapped layout. - - [DefaultParameter] so Inner: is not required if it's the first - - - - - - Renders the inner message, processes it and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Appends the rendered output from -layout and transforms the added output (when necessary) - - Logging event. - The to append the rendered data to. - Start position for any necessary transformation of . - - - - Transforms the output of another layout. - - Logging event. - Output to be transform. - Transformed text. - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Renders the inner layout contents. - - The log event. - Contents of inner layout. - - - - Base class for s which wrapping other s. - - This expects the transformation to work on a - - - - - - - - - - - Transforms the output of another layout. - - - Output to be transform. - - - - Transforms the output of another layout. - - Output to be transform. - - - - Renders the inner layout contents. - - - 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. - - - - - - Post-processes the rendered message. - - The text to be post-processed. - Padded and trimmed string. - - - - A layout containing one or more nested layouts. - - - - - Initializes a new instance of the class. - - - - - Gets the inner layouts. - - - - - - 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 - - - - A column in the CSV. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The name of the column. - The layout of the column. - - - - Gets or sets the name of the column. - - - - - - Gets or sets the layout of the column. - - - - - - Specifies allowed column delimiters. - - - - - Automatically detect from regional settings. - - - - - Comma (ASCII 44). - - - - - Semicolon (ASCII 59). - - - - - Tab character (ASCII 9). - - - - - Pipe character (ASCII 124). - - - - - Space character (ASCII 32). - - - - - Custom string, specified by the CustomDelimiter. - - - - - A specialized layout that renders CSV-formatted events. - - If is set, then the header generation with columnnames will be disabled. - - - - Initializes a new instance of the class. - - - - - 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 - - - - Get the headers with the column names. - - - - - - Render 1 columnvalue (text or header) to - - write-to - current col index - col text - - - - Header with column names for CSV layout. - - - - - Initializes a new instance of the class. - - 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 - - - - Specifies CSV quoting modes. - - - - - Quote all column. - - - - - Quote nothing. - - - - - Quote only whose values contain the quote symbol or - the separator. - - - - - JSON attribute. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The name of the attribute. - The layout of the attribute's value. - - - - Initializes a new instance of the class. - - The name of the attribute. - The layout of the attribute's value. - Encode value with json-encode - - - - Gets or sets the name of the attribute. - - - - - - Gets or sets the layout that will be rendered as the attribute's value. - - - - - - Determines wether or not this attribute will be Json encoded. - - - - - - Gets or sets a value indicating whether to escape non-ascii characters - - - - - - Gets or sets whether an attribute with empty value should be included in the output - - - - - - A specialized layout that renders JSON-formatted events. - - - - - Initializes a new instance of the class. - - - - - 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 {} - - - - - - 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 JSON) - - - - - - List of property names to exclude when is true - - - - - - How far should the JSON serializer follow object references before backing off - - - - - 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 - - - - Abstract interface that layouts must implement. - - - - - Is this layout initialized? See - - - - - Gets a value indicating whether this layout is thread-agnostic (can be rendered on any thread). - - - Layout is thread-agnostic if it has been marked with [ThreadAgnostic] attribute and all its children are - like that as well. - - Thread-agnostic layouts only use contents of for its output. - - - - - Gets the level of stack trace information required for rendering. - - - - - Gets the logging configuration this target is part of. - - - - - Converts a given text to a . - - Text to be converted. - object represented by the text. - - - - Implicitly converts the specified string to a . - - The layout string. - Instance of . - - - - Implicitly converts the specified string to a . - - The layout string. - The NLog factories to use when resolving layout renderers. - Instance of . - - - - Precalculates the layout for the specified log event and stores the result - in per-log event cache. - - Only if the layout doesn't have [ThreadAgnostic] and doens't contain layouts with [ThreadAgnostic]. - - The log event. - - Calling this method enables you to store the log event in a buffer - and/or potentially evaluate it in another thread even though the - layout may contain thread-dependent renderer. - - - - - Renders the event info in layout. - - The event info. - String representing log event. - - - - Optimized version of for internal Layouts. Works best - when override of is available. - - The event info. - 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. - - The logging event. - for the result - - - - Initializes this instance. - - The configuration. - - - - Closes this instance. - - - - - Initializes this instance. - - The configuration. - - - - Closes this instance. - - - - - Initializes the layout. - - - - - Closes the layout. - - - - - Renders the layout for the specified logging event by invoking layout renderers. - - The logging event. - The rendered layout. - - - - Register a custom Layout. - - Short-cut for registing to default - Type of the Layout. - Name of the Layout. - - - - Register a custom Layout. - - Short-cut for registing to default - Type of the Layout. - Name of the Layout. - - - - Optimized version of for internal Layouts, when - override of is available. - - - - - Marks class as a layout renderer and assigns a format string to it. - - - - - Initializes a new instance of the class. - - Layout name. - - - - Parses layout strings. - - - - - Add to - - - - - - - A specialized layout that supports header and footer. - - - - - Gets or sets the body layout (can be repeated multiple times). - - - - - - Gets or sets the header layout. - - - - - - Gets or sets the footer layout. - - - - - - 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. - - - - - Initializes a new instance of the class. - - - - - Gets the instance that renders log events. - - - - - 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 a value indicating whether to include contents of the stack. - - - - - - 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. - - - - - - 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. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The layout string to parse. - - - - Initializes a new instance of the class. - - The layout string to parse. - The NLog factories to use when creating references to layout renderers. - - - - Original text before compile to Layout renderes - - - - - Gets or sets the layout text. - - - - - - Is the message fixed? (no Layout renderers used) - - - - - Get the fixed text. Only set when is true - - - - - Gets a collection of objects that make up this layout. - - - - - Gets the level of stack trace information required for rendering. - - - - - Converts a text to a simple layout. - - Text to be converted. - A object. - - - - Escapes the passed text so that it can - be used literally in all places where - layout is normally expected without being - treated as layout. - - The text to be escaped. - The escaped text. - - Escaping is done by replacing all occurrences of - '${' with '${literal:text=${}' - - - - - Evaluates the specified text by expanding all layout renderers. - - The text to be evaluated. - Log event to be used for evaluation. - The input text with all occurrences of ${} replaced with - values provided by the appropriate layout renderers. - - - - Evaluates the specified text by expanding all layout renderers - in new context. - - The text to be evaluated. - The input text with all occurrences of ${} replaced with - values provided by the appropriate layout renderers. - - - - Returns a that represents the current object. - - - A that represents the current object. - - - - - Initializes the layout. - - - - - Renders the layout for the specified logging event by invoking layout renderers - that make up the event. - - The logging event. - The rendered layout. - - - - Renders the layout for the specified logging event by invoking layout renderers - that make up the event. - - The logging event. - for the result - - - - Represents the logging event. - - - - - Gets the date of the first log event created. - - - - - The formatted log message. - - - - - The log message including any parameter placeholders - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Log level. - Logger name. - Log message including parameter placeholders. - - - - Initializes a new instance of the class. - - Log level. - Logger name. - Log message including parameter placeholders. - Log message including parameter placeholders. - - - - Initializes a new instance of the class. - - Log level. - Logger name. - An IFormatProvider that supplies culture-specific formatting information. - Log message including parameter placeholders. - Parameter array. - - - - Initializes a new instance of the class. - - Log level. - Logger name. - An IFormatProvider that supplies culture-specific formatting information. - Log message including parameter placeholders. - Parameter array. - Exception information. - - - - Gets the unique identifier of log event which is automatically generated - and monotonously increasing. - - - - - Gets or sets the timestamp of the logging event. - - - - - Gets or sets the level of the logging event. - - - - - Gets a value indicating whether stack trace has been set for this event. - - - - - 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). - - - - - Gets the entire stack trace. - - - - - Gets the callsite class name - - - - - Gets the callsite member function name - - - - - Gets the callsite source file path - - - - - Gets the callsite source file line number - - - - - Gets or sets the exception information. - - - - - 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. - - - - - Gets or sets the parameter values or null if no parameters have been specified. - - - - - Gets or sets the format provider that was provided while logging or - when no formatProvider was specified. - - - - - Gets or sets the message formatter for generating - Uses string.Format(...) when nothing else has been configured. - - - - - Gets the formatted message. - - - - - Checks if any per-event properties (Without allocation) - - - - - Gets the dictionary of per-event context properties. - - - - - Gets the dictionary of per-event context properties. - Internal helper for the PropertiesDictionary type. - - Create the event-properties dictionary, even if no initial template parameters - Provided when having parsed the message template and capture template parameters (else null) - - - - - 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. - - Null log event. - - - - Creates the log event. - - The log level. - Name of the logger. - The message. - Instance of . - - - - Creates the log event. - - The log level. - Name of the logger. - The format provider. - The message. - The parameters. - Instance of . - - - - Creates the log event. - - The log level. - Name of the logger. - 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. - The exception. - The format provider. - The message. - Instance of . - - - - Creates the log event. - - The log level. - Name of the logger. - The exception. - The format provider. - The message. - The parameters. - Instance of . - - - - Creates from this by attaching the specified asynchronous continuation. - - The asynchronous continuation. - Instance of with attached continuation. - - - - Returns a string representation of this log event. - - String representation of the log event. - - - - Sets the stack trace for the event info. - - The stack trace. - Index of the first user stack frame within the stack trace. - - - - Sets the details retrieved from the Caller Information Attributes - - - - - - - - - Set the - - true = Always, false = Never, null = Auto Detect - - - - Specialized LogFactory that can return instances of custom logger types. - - The type of the logger to be returned. Must inherit from . - - - - Gets the logger with type . - - The logger name. - An instance of . - - - - Gets a custom logger with the name of the current class and type . - - An instance of . - This is a slow-running method. - Make sure you're not doing this in a loop. - - - - Creates and manages instances of objects. - - - - - Internal for unit tests - - - - - Overwrite possible file paths (including filename) for possible NLog config files. - When this property is null, the default file paths ( are used. - - - - - Occurs when logging changes. - - - - - Occurs when logging gets reloaded. - - - - - Initializes static members of the LogManager class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The config. - - - - Gets the current . - - - - - Gets or sets a value indicating whether exceptions should be thrown. See also . - - A value of true if exception should be thrown; otherwise, false. - By default exceptions are not thrown under any circumstances. - - - - Gets or sets a value indicating whether should be thrown. - - If null then is used. - - A value of true if exception should be thrown; otherwise, false. - - This option is for backwards-compatiblity. - 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 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 global log level threshold. Log events below this threshold are not logged. - - - - - Gets the default culture info to use as . - - - Specific culture info or null to use - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting - unmanaged resources. - - - - - Creates a logger that discards all log messages. - - Null logger instance. - - - - Gets the logger with the name of the current class. - - The logger. - This is a slow-running method. - Make sure you're not doing this in a loop. - - - - Gets the logger with the name of the current class. - - The logger with type . - Type of the logger - This is a slow-running method. - Make sure you're not doing this in a loop. - - - - Gets a custom logger with the name of the current class. Use to pass the type of the needed Logger. - - 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. - - - - Gets the specified named logger. - - Name of the logger. - The logger reference. Multiple calls to GetLogger with the same argument - are not guaranteed to return the same logger reference. - - - - Gets the specified named logger. - - Name of the logger. - Type of the logger - The logger reference with type . Multiple calls to GetLogger with the same argument - are not guaranteed to return the same logger reference. - - - - Gets the specified named logger. Use to pass the type of the needed Logger. - - Name of the logger. - The type of the logger to create. The type must inherit from . - The logger of type . Multiple calls to GetLogger with the - same argument aren't guaranteed to return the same logger reference. - - - - 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. - - - - - Flush any pending log messages (in case of asynchronous targets) with the default timeout of 15 seconds. - - - - - Flush any pending log messages (in case of asynchronous targets). - - Maximum time to allow for the flush. Any messages after that time - will be discarded. - - - - Flush any pending log messages (in case of asynchronous targets). - - Maximum time to allow for the flush. Any messages - after that time will be discarded. - - - - Flush any pending log messages (in case of asynchronous targets). - - The asynchronous continuation. - - - - Flush any pending log messages (in case of asynchronous targets). - - The asynchronous continuation. - Maximum time to allow for the flush. Any messages - after that time will be discarded. - - - - Flush any pending log messages (in case of asynchronous targets). - - 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. - - - 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. - - - - - Decreases the log enable counter and if it reaches -1 the logs are disabled. - - - Logging is enabled if the number of calls is greater than - or equal to 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. - - Logging is enabled if the number of calls is greater - than or equal to calls. - - - - Returns if logging is currently enabled. - - A value of if logging is currently enabled, - otherwise. - Logging is enabled if the number of calls is greater - than or equal to calls. - - - - Raises the event when the configuration is reloaded. - - Event arguments. - - - - Raises the event when the configuration is reloaded. - - Event arguments - - - - Currently this logfactory is disposing? - - - - - Releases unmanaged and - optionally - managed resources. - - True to release both managed and unmanaged resources; - false to release only unmanaged resources. - - - - 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. - - - - - Get default file paths (including filename) for possible NLog config files. - - - - - Loads logging configuration from file (Currently only XML configuration files supported) - - Configuration file to be read - LogFactory instance for fluent interface - - - - Logger cache key. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Determines if two objects are equal in value. - - 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. - - - - Logger cache. - - - - - Inserts or updates. - - - - - - - Enables logging in implementation. - - - - - Initializes a new instance of the class. - - The factory. - - - - Enables logging. - - - - - Logging methods which only are executed when the DEBUG conditional compilation symbol is set. - - Remarks: - The DEBUG conditional compilation symbol is default enabled (only) in a debug build. - - If the DEBUG conditional compilation symbol isn't set in the calling library, the compiler will remove all the invocations to these methods. - This could lead to better performance. - - See: https://msdn.microsoft.com/en-us/library/4xssyw96%28v=vs.90%29.aspx - - - Provides logging interface and utility functions. - - - Auto-generated Logger members for binary compatibility with NLog 1.0. - - - Provides logging interface and utility functions. - - - - - 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. - 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. - 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 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 to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - 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 containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument 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 containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - 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. - 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 arguments formatting it with the supplied format provider. - 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. - An IFormatProvider that supplies culture-specific formatting information. - 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 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 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. - Only executed when the DEBUG conditional compilation symbol is set. - A to be written. - - - - Writes the diagnostic message at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - A containing format items. - First argument to format. - 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. - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Trace level. - Only executed when the DEBUG conditional compilation symbol is set. - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Trace level. - Only executed when the DEBUG conditional compilation symbol is set. - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Trace level. - Only executed when the DEBUG conditional compilation symbol is set. - 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. - Only executed when the DEBUG conditional compilation symbol is set. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Trace level. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Trace level. - Only executed when the DEBUG conditional compilation symbol is set. - Log message. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified parameter. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Trace 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 containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. - 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. - An IFormatProvider that supplies culture-specific formatting information. - 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 Trace 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 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 Trace level. - Only executed when the DEBUG conditional compilation symbol is set. - A to be written. - - - - Writes the diagnostic message at the Trace level. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Gets a value indicating whether logging is enabled for the Trace level. - - A value of if logging is enabled for the Trace level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Debug level. - - A value of if logging is enabled for the Debug level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Info level. - - A value of if logging is enabled for the Info level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Warn level. - - A value of if logging is enabled for the Warn level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Error level. - - A value of if logging is enabled for the Error level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Fatal level. - - A value of if logging is enabled for the Fatal level, otherwise it returns . - - - - Writes the diagnostic message at the Trace level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Trace level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Trace level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Trace 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 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. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Trace level. - - Log message. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - - 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. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message and exception at the Trace level. - - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Trace level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - 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 Trace level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - 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. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Debug level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Debug 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 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. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Debug level. - - Log message. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - - 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. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message and exception at the Debug level. - - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Debug level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - 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. - - The type of the first argument. - The type of the second argument. - 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 arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - 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 parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - 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 Info level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Info level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Info level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Info 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 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. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Info level. - - Log message. - - - - Writes the diagnostic message at the Info level using the specified parameters. - - 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. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message and exception at the Info level. - - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Info level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Info level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Info level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - 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 Info level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - 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 Warn level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Warn level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Warn level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Warn 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 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. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Warn level. - - Log message. - - - - Writes the diagnostic message at the Warn level using the specified parameters. - - 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. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message and exception at the Warn level. - - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Warn level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Warn level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Warn level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - 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 Warn level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - 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 Error level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Error level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Error level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Error 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 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. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Error level. - - Log message. - - - - Writes the diagnostic message at the Error level using the specified parameters. - - 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. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message and exception at the Error level. - - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Error level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Error level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Error level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - 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 Error level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - 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 Fatal level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Fatal level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Fatal level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Fatal 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 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. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Fatal level. - - Log message. - - - - Writes the diagnostic message at the Fatal level using the specified parameters. - - 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. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message and exception at the Fatal level. - - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Fatal level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Fatal level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - 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 Fatal level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - 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 specified level. - - The log level. - A to be written. - - - - Writes the diagnostic message at the specified level. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The log level. - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The log level. - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level. - - A to be written. - - - - Writes the diagnostic message at the Trace level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level. - - A to be written. - - - - Writes the diagnostic message at the Debug level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level. - - A to be written. - - - - Writes the diagnostic message at the Info level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Info level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Info level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level. - - A to be written. - - - - Writes the diagnostic message at the Warn level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Warn level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Warn level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level. - - A to be written. - - - - Writes the diagnostic message at the Error level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Error level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Error level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level. - - A to be written. - - - - Writes the diagnostic message at the Fatal level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Fatal level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Initializes a new instance of the class. - - - - - Occurs when logger configuration changes. - - - - - Gets the name of the logger. - - - - - Gets the factory that created this logger. - - - - - Gets a value indicating whether logging is enabled for the specified level. - - Log level to be checked. - A value of if logging is enabled for the specified level, otherwise it returns . - - - - Writes the specified diagnostic message. - - Log event. - - - - Writes the specified diagnostic message. - - The name of the type that wraps Logger. - Log event. - - - - Writes the diagnostic message at the specified level using the specified format provider and format parameters. - - - Writes the diagnostic message at the specified level. - - Type of the value. - The log level. - The value to be written. - - - - Writes the diagnostic message at the specified level. - - Type of the value. - The log level. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the specified level. - - 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. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the specified level. - - The log level. - Log message. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The log level. - 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. - 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 IFormatProvider that supplies culture-specific formatting information. - A to be written. - Arguments to format. - An exception to be logged. - - - - Writes the diagnostic message at the specified level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified parameter. - - The type of the argument. - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The log level. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - The log level. - An IFormatProvider that supplies culture-specific formatting information. - 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 specified level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - The log level. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - 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. - - - - 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. - - Event arguments - - - - 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. - The result of the filter. - - - - Defines available log levels. - - - - - Trace log level. - - - - - Debug log level. - - - - - Info log level. - - - - - Warn log level. - - - - - Error log level. - - - - - Fatal log level. - - - - - Off log level. - - - - - Gets all the available log levels (Trace, Debug, Info, Warn, Error, Fatal, Off). - - - - - Gets all the log levels that can be used to log events (Trace, Debug, Info, Warn, Error, Fatal) - i.e LogLevel.Off is excluded. - - - - - Initializes a new instance of . - - The log level name. - The log level ordinal number. - - - - Gets the name of the log level. - - - - - Gets the ordinal of the log level. - - - - - Compares two objects - and returns a value indicating whether - the first one is equal to the second one. - - The first level. - The second level. - The value of level1.Ordinal == level2.Ordinal. - - - - Compares two objects - and returns a value indicating whether - the first one is not equal to the second one. - - The first level. - The second level. - The value of level1.Ordinal != level2.Ordinal. - - - - Compares two objects - and returns a value indicating whether - the first one is greater than the second one. - - The first level. - The second level. - The value of level1.Ordinal > level2.Ordinal. - - - - Compares two objects - and returns a value indicating whether - the first one is greater than or equal to the second one. - - The first level. - The second level. - The value of level1.Ordinal >= level2.Ordinal. - - - - Compares two objects - and returns a value indicating whether - the first one is less than the second one. - - The first level. - The second level. - The value of level1.Ordinal < level2.Ordinal. - - - - Compares two objects - and returns a value indicating whether - the first one is less than or equal to the second one. - - The first level. - The second level. - The value of level1.Ordinal <= level2.Ordinal. - - - - Gets the that corresponds to the specified ordinal. - - The ordinal. - The instance. For 0 it returns , 1 gives and so on. - - - - Returns the that corresponds to the supplied . - - The textual representation of the log level. - The enumeration value. - - - - 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. - - - - Determines whether the specified instance is equal to this instance. - - The to compare with this instance. - Value of true if the specified is equal to - this instance; otherwise, false. - - - - Compares the level to the other object. - - - The object 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. - - - - - Creates and manages instances of objects. - - - - - 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 . - - Could be used to pass the to other methods - - - - Occurs when logging changes. - - - - - Occurs when logging gets reloaded. - - - - - Gets or sets a value indicating whether NLog should throw exceptions. - By default exceptions are not thrown under any circumstances. - - - - - Gets or sets a value indicating whether should be thrown. - - A value of true if exception should be thrown; otherwise, false. - - This option is for backwards-compatiblity. - 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 the current logging configuration. - - - - - - Loads logging configuration from file (Currently only XML configuration files supported) - - Configuration file to be read - LogFactory instance for fluent interface - - - - 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. - - The logger. - This is a slow-running method. - Make sure you're not doing this in a loop. - - - - Adds the given assembly which will be skipped - when NLog is trying to find the calling method on stack trace. - - The assembly to skip. - - - - Gets a custom logger with the name of the current class. Use to pass the type of the needed Logger. - - The logger class. The class must inherit from . - The logger of type . - This is a slow-running method. - Make sure you're not doing this in a loop. - - - - Creates a logger that discards all log messages. - - Null logger which discards all log messages. - - - - Gets the specified named logger. - - Name of the logger. - The logger reference. Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference. - - - - Gets the specified named custom logger. Use to pass the type of the needed Logger. - - Name of the logger. - The logger class. The 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 - - - - 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. - - - - - Flush any pending log messages (in case of asynchronous targets) with the default timeout of 15 seconds. - - - - - Flush any pending log messages (in case of asynchronous targets). - - Maximum time to allow for the flush. Any messages after that time will be discarded. - - - - Flush any pending log messages (in case of asynchronous targets). - - Maximum time to allow for the flush. Any messages after that time will be discarded. - - - - Flush any pending log messages (in case of asynchronous targets). - - The asynchronous continuation. - - - - Flush any pending log messages (in case of asynchronous targets). - - The asynchronous continuation. - Maximum time to allow for the flush. Any messages after that time will be discarded. - - - - Flush any pending log messages (in case of asynchronous targets). - - 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. - - 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. - - - - 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. - - - - Checks 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. - - - - Dispose all targets, and shutdown logging. - - - - - Generates a formatted message from the log event - - Log event. - Formatted message - - - - Returns a log message. Used to defer calculation of - the log message until it's actually needed. - - 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. - - - - - Gets or sets the cookie container. - - The cookie container. - - - - 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. - - - - - Gets or sets the cookie container. - - The cookie container. - - - - 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. - - - - - Gets or sets the cookie container. - - The cookie container. - - - - 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. - Mostly for compatibility with log4net. - - - - - - - - - - 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 - - - - - 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. - - - - 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 - used for log4net compatibility. - - 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 - - - - - Not decided - - - - - normal {x} - - - - - Serialize operator {@x} (aka destructure) - - - - - stringification operator {$x} - - - - - A hole that will be replaced with a value - - - - - Constructor - - - - Parameter name sent to structured loggers. - This is everything between "{" and the first of ",:}". - Including surrounding spaces and names that are numbers. - - - Format to render the parameter. - This is everything between ":" and the first unescaped "}" - - - - Type - - - - When the template is positional, this is the parsed name of this parameter. - For named templates, the value of Index is undefined. - - - Alignment to render the parameter, by default 0. - This is the parsed value between "," and the first of ":}" - - - - A fixed value - - - - Number of characters from the original template to copy at the current position. - This can be 0 when the template starts with a hole or when there are multiple consecutive holes. - - - Number of characters to skip in the original template at the current position. - 0 is a special value that mean: 1 escaped char, no hole. It can also happen last when the template ends with a literal. - - - - Combines Literal and Hole - - - - Literal - - - Hole - Uninitialized when = 0. - - - - Description of a single parameter extracted from a MessageTemplate - - - - - Parameter Name extracted from - This is everything between "{" and the first of ",:}". - - - - - Parameter Value extracted from the -array - - - - - Format to render the parameter. - This is everything between ":" and the first unescaped "}" - - - - - Parameter method that should be used to render the parameter - See also - - - - - Returns index for , when - - - - - Constructs a single message template parameter - - Parameter Name - Parameter Value - Parameter Format - - - - Constructs a single message template parameter - - Parameter Name - Parameter Value - Parameter Format - Parameter CaptureType - - - - Parameters extracted from parsing as MessageTemplate - - - - - - - - - - - Gets the parameters at the given index - - - - - Number of parameters - - - - Indicates whether the template should be interpreted as positional - (all holes are numbers) or named. - - - - Indicates whether the template was parsed successful, and there are no unmatched parameters - - - - - Constructor for parsing the message template with parameters - - including any parameter placeholders - All - - - - Constructor for named parameters that already has been parsed - - - - - Create MessageTemplateParameter from - - - - - - - - - - A mesage 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 - - - - Parse templates. - - - - - Parse a template. - - Template to be parsed. - When is null. - Template, never null - - - - Gets the current literal/hole in the template - - - - - Clears the enumerator - - - - - Restarts the enumerator of the template - - - - - Moves to the next literal/hole in the template - - Found new element [true/false] - - - - Parse format after hole name/index. Handle the escaped { and } in the format. Don't read the last } - - - - - - Parse templates. - - - - - Parse a template. - - Template to be parsed. - When is null. - Template, never null - - - - Error when parsing a template. - - - - - Current index when the error occurred. - - - - - The template we were parsing - - - - - New exception - - The message to be shown. - 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 optionnally backwardscompatible with - - - - Singleton - - - - 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) - - - - Format an object to a readable string, or if it's an object, serialize - - The value to convert - - - - - - - - Try serialising a scalar (string, int, NULL) or simple type (IFormattable) - - - - - - - - - - Serialize Dictionary as JSON like structure, without { and } - - - "FirstOrder"=true, "Previous login"=20-12-2017 14:55:32, "number of tries"=1 - - - formatstring of an item - - - - - - - - - Convert a value to a string with format and append to . - - The value to convert. - Format sting for the value. - Format provider for the value. - Append to this - - - - Nested Diagnostics Context - for log4net compatibility. - - 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 - Mostly for compatibility with log4net. - - - - - 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. - - - - 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. - - - - - 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. - Parameters for the message - - - - Initializes a new instance of the class. - - The inner exception. - The message. - Parameters for 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 thrown during log event processing. - - - - - 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. - Parameters for 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). - - - - - TraceListener which routes all messages through NLog. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the log factory to use when outputting messages (null - use LogManager). - - - - - Gets or sets the default log level. - - - - - Gets or sets the log which should be always used regardless of source level. - - - - - Gets or sets a value indicating whether flush calls from trace sources should be ignored. - - - - - Gets a value indicating whether the trace listener is thread safe. - - - true if the trace listener is thread safe; otherwise, false. The default is false. - - - - Gets or sets a value indicating whether to use auto logger name detected from the stack trace. - - - - - When overridden in a derived class, writes the specified message to the listener you create in the derived class. - - A message to write. - - - - When overridden in a derived class, writes a message to the listener you create in the derived class, followed by a line terminator. - - A message to write. - - - - When overridden in a derived class, closes the output stream so it no longer receives tracing or debugging output. - - - - - Emits an error message. - - A message to emit. - - - - Emits an error message and a detailed error message. - - A message to emit. - A detailed message to emit. - - - - Flushes the output (if is not true) buffer with the default timeout of 15 seconds. - - - - - Writes trace information, a data object and event information to the listener specific output. - - A object that contains the current process ID, thread ID, and stack trace information. - A name used to identify the output, typically the name of the application that generated the trace event. - One of the values specifying the type of event that has caused the trace. - A numeric identifier for the event. - The trace data to emit. - - - - Writes trace information, an array of data objects and event information to the listener specific output. - - A object that contains the current process ID, thread ID, and stack trace information. - A name used to identify the output, typically the name of the application that generated the trace event. - One of the values specifying the type of event that has caused the trace. - A numeric identifier for the event. - An array of objects to emit as data. - - - - Writes trace and event information to the listener specific output. - - A object that contains the current process ID, thread ID, and stack trace information. - A name used to identify the output, typically the name of the application that generated the trace event. - One of the values specifying the type of event that has caused the trace. - A numeric identifier for the event. - - - - Writes trace information, a formatted array of objects and event information to the listener specific output. - - A object that contains the current process ID, thread ID, and stack trace information. - A name used to identify the output, typically the name of the application that generated the trace event. - One of the values specifying the type of event that has caused the trace. - A numeric identifier for the event. - A format string that contains zero or more format items, which correspond to objects in the array. - An object array containing zero or more objects to format. - - - - Writes trace information, a message, and event information to the listener specific output. - - A object that contains the current process ID, thread ID, and stack trace information. - A name used to identify the output, typically the name of the application that generated the trace event. - One of the values specifying the type of event that has caused the trace. - A numeric identifier for the event. - A message to write. - - - - Writes trace information, a message, a related activity identity and event information to the listener specific output. - - A object that contains the current process ID, thread ID, and stack trace information. - A name used to identify the output, typically the name of the application that generated the trace event. - A numeric identifier for the event. - A message to write. - A object identifying a related activity. - - - - Gets the custom attributes supported by the trace listener. - - - A string array naming the custom attributes supported by the trace listener, or null if there are no custom attributes. - - - - - Translates the event type to level from . - - Type of the event. - Translated log level. - - - - Process the log event - The log level. - The name of the logger. - The log message. - The log parameters. - The event id. - The event type. - The related activity id. - - - - - It works as a normal but it discards all messages which an application requests - to be logged. - - It effectively implements the "Null Object" pattern for objects. - - - - - Initializes a new instance of . - - The factory class to be used for the creation of this logger. - - - - Specifies the way archive numbering is performed. - - - - - Sequence style numbering. The most recent archive has the highest number. - - - - - Rolling style numbering (the most recent is always #0 then #1, ..., #N. - - - - - Date style numbering. Archives will be stamped with the prior period - (Year, Month, Day, Hour, Minute) datetime. - - - - - 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). - - - - - Abstract Target with async Task support - - - - - How many seconds a Task is allowed to run before it is cancelled. - - - - - Task Scheduler used for processing async Tasks - - - - - Constructor - - - - - Override this to create the actual logging task - - Example of how to override this method, and call custom async method - - protected override Task WriteAsyncTask(LogEventInfo logEvent, CancellationToken token) - { - return CustomWriteAsync(logEvent, token); - } - - private async Task CustomWriteAsync(LogEventInfo logEvent, CancellationToken token) - { - await MyLogMethodAsync(logEvent, token).ConfigureAwait(false); - } - - - The log event. - The cancellation token - - - - - Schedules the LogEventInfo for async writing - - The log event. - - - - Schedules notification of when all messages has been written - - - - - - Closes Target by updating CancellationToken - - - - - Releases any managed resources - - - - - - Checks the internal queue for the next to create a new task for - - Used for race-condition validation betweewn task-completion and timeout - - - - Creates new task to handle the writing of the input - - LogEvent to write - New Task created [true / false] - - - - Handles that scheduled task has completed (succesfully or failed), and starts the next pending task - - Task just completed - AsyncContinuation to notify of success or failure - - - - Timer method, that is fired when pending task fails to complete within timeout - - - - - - Sends log messages to the remote instance of Chainsaw application from log4j. - - 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: -

- -

- 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. -

-
-
- - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a name. - - Name of the target. - - - - Writes log messages to the console with customizable coloring. - - Documentation on NLog Wiki - - - - Should logging being paused/stopped because of the race condition bug in Console.Writeline? - - - Console.Out.Writeline / Console.Error.Writeline could throw 'IndexOutOfRangeException', which is a bug. - See http://stackoverflow.com/questions/33915790/console-out-and-console-error-race-condition-error-in-a-windows-service-written - and https://connect.microsoft.com/VisualStudio/feedback/details/2057284/console-out-probable-i-o-race-condition-issue-in-multi-threaded-windows-service - - 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, - 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. - - - - - - 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. - - - - Gets or sets a value indicating whether the error stream (stderr) should be used instead of the output stream (stdout). - - - - - - Gets or sets a value indicating whether to use default row highlighting rules. - - - The default rules are: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
ConditionForeground ColorBackground Color
level == LogLevel.FatalRedNoChange
level == LogLevel.ErrorYellowNoChange
level == LogLevel.WarnMagentaNoChange
level == LogLevel.InfoWhiteNoChange
level == LogLevel.DebugGrayNoChange
level == LogLevel.TraceDarkGrayNoChange
-
- -
- - - The encoding for writing messages to the . - - Has side effect - - - - - Gets or sets a value indicating whether to auto-check if the console is available. - - Disables console writing if Environment.UserInteractive = False (Windows Service) - - Disables console writing if Console Standard Input is not available (Non-Console-App) - - - - - - Gets the row highlighting rules. - - - - - - Gets the word highlighting rules. - - - - - - 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. - - - - Color pair (foreground and background). - - - - - Colored console output color. - - - Note that this enumeration is defined to be binary compatible with - .NET 2.0 System.ConsoleColor + some additions - - - - - Black Color (#000000). - - - - - Dark blue Color (#000080). - - - - - Dark green Color (#008000). - - - - - Dark Cyan Color (#008080). - - - - - Dark Red Color (#800000). - - - - - Dark Magenta Color (#800080). - - - - - Dark Yellow Color (#808000). - - - - - Gray Color (#C0C0C0). - - - - - Dark Gray Color (#808080). - - - - - Blue Color (#0000FF). - - - - - Green Color (#00FF00). - - - - - Cyan Color (#00FFFF). - - - - - Red Color (#FF0000). - - - - - Magenta Color (#FF00FF). - - - - - Yellow Color (#FFFF00). - - - - - White Color (#FFFFFF). - - - - - Don't change the color. - - - - - The row-highlighting condition. - - - - - Initializes static members of the ConsoleRowHighlightingRule class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The condition. - Color of the foreground. - Color of the background. - - - - Gets the default highlighting rule. Doesn't change the color. - - - - - 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. - - - - - - Checks whether the specified log event matches the condition (if any). - - - Log event. - - - A value of if the condition is not defined or - if it matches, otherwise. - - - - - Writes log messages to the console. - - 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: -

- -
-
- - - Should logging being paused/stopped because of the race condition bug in Console.Writeline? - - - Console.Out.Writeline / Console.Error.Writeline could throw 'IndexOutOfRangeException', which is a bug. - See http://stackoverflow.com/questions/33915790/console-out-and-console-error-race-condition-error-in-a-windows-service-written - and https://connect.microsoft.com/VisualStudio/feedback/details/2057284/console-out-probable-i-o-race-condition-issue-in-multi-threaded-windows-service - - 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, - 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. - - - - - - 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 - - - - - Gets or sets a value indicating whether to auto-check if the console is available - - Disables console writing if Environment.UserInteractive = False (Windows Service) - - Disables console writing if Console Standard Input is not available (Non-Console-App) - - - - - - 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. - - - - 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. - - - - Highlighting rule for Win32 colorful console. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The text to be matched.. - Color of the foreground. - Color of the background. - - - - Gets or sets the regular expression to be matched. You must specify either text or regex. - - - - - - 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 . - - - - - - Replace regex result - - - - - - - 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 calcuate the value for the parameter. - - - - - - Gets or sets the database parameter size. - - - - - - Gets or sets the database parameter precision. - - - - - - Gets or sets the database parameter scale. - - - - - - 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. - - - - Build the connectionstring from the properties. - - - Using at first, and falls back to the properties , - , and - - Event to render the layout inside the properties. - - - - - Adds the given list of DatabaseParameterInfo to the given IDbCommand after transforming them into IDbDataParameters. - - The IDbCommand to add parameters to - The list of DatabaseParameterInfo to transform into IDbDataParameters and to add to the IDbCommand - The log event to base the parameter's layout rendering on. - - - - A descriptor for an archive created with the DateAndSequence numbering mode. - - - - - The full name of the archive file. - - - - - The parsed date contained in the file name. - - - - - The parsed sequence number contained in the file name. - - - - - Determines whether produces the same string as the current instance's date once formatted with the current instance's date format. - - The date to compare the current object's date to. - True if the formatted dates are equal, otherwise False. - - - - Initializes a new instance of the class. - - - - - Writes log messages to the attached managed debugger. - - -

- 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. - - - - Initializes the target. - - - - - Closes the target and releases any unmanaged resources. - - - - - Writes the specified logging event to the attached debugger. - - The logging event. - - - - Mock target - useful for testing. - - 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. - - - - Gets the number of times this target has been called. - - - - - - Gets the last message rendered by this target. - - - - - - Increases the number of messages. - - The logging event. - - - - Default class for serialization of values to JSON format. - - - - - Singleton instance of the serializer. - - - - - Private. Use - - - - - Returns a serialization of an object into JSON format. - - The object to serialize to JSON. - Serialized value. - - - - Returns a serialization of an object into JSON format. - - The object to serialize to JSON. - serialisation options - Serialized value. - - - - Serialization of the object in JSON format to the destination StringBuilder - - The object to serialize to JSON. - Write the resulting JSON to this destination. - Object serialized succesfully (true/false). - - - - Serialization of the object in JSON format to the destination StringBuilder - - The object to serialize to JSON. - Write the resulting JSON to this destination. - serialisation options - Object serialized succesfully (true/false). - - - - Serialization of the object in JSON format to the destination StringBuilder - - The object to serialize to JSON. - Write the resulting JSON to this destination. - serialisation options - The objects in path (Avoid cyclic reference loop). - The current depth (level) of recursion. - Object serialized succesfully (true/false). - - - - No quotes needed for this type? - - - - - - - Checks the object if it is numeric - - TypeCode for the object - 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 - JSON escaped string - - - - Get properties, cached for a type - - - - - - - Writes log message to the Event Log. - - 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. - - - - - 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 machine on which Event Log service is running. - - - - - - Gets or sets the layout that renders event ID. - - - - - - Gets or sets the layout that renders event Category. - - - - - - Optional entrytype. When not set, or when not convertable to then determined by - - - - - - Gets or sets the value to be used as the event Source. - - - By default this is the friendly name of the current AppDomain. - - - - - - Gets or sets the name of the Event Log to write to. This can be System, Application or - any user-defined name. - - - - - - Gets or sets the message length limit to write to the Event Log. - - MaxMessageLength cannot be zero or negative - - - - - Gets or sets the maximum Event log size in kilobytes. - - If null, the value won't be set. - - Default is 512 Kilobytes as specified by Eventlog API - - MaxKilobytes cannot be less than 64 or greater than 4194240 or not a multiple of 64. If null, use the default value - - - - - Gets or sets the action to take if the message is larger than the option. - - - - - - 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. - - - - - Writes the specified logging event to the event log. - - The logging event. - - - - Get the entry type for logging the message. - - The logging event - for rendering the - - - - - Get the source, if and only if the source is fixed. - - null when not - Internal for unit tests - - - - Get the eventlog to write to. - - Event if the source needs to be rendered. - - - - - (re-)create a event source, if it isn't there. Works only with fixed sourcenames. - - sourcenaam. If source is not fixed (see , then pass null or emptystring. - always throw an Exception when there is an error - - - - Action that should be taken if the message is greater than - the max message size allowed by the Event Log. - - - - - Truncate the message before writing to the Event Log. - - - - - Split the message and write multiple entries to the Event Log. - - - - - Discard of the message. It will not be written to the Event Log. - - - - - Check if cleanup should be performed on initialize new file - - Skip cleanup when initializing new file, just after having performed archive operation - - Base archive file pattern - Maximum number of archive files that should be kept - True, when archive cleanup is needed - - - - Characters determining the start of the . - - - - - Characters determining the end of the . - - - - - File name which is used as template for matching and replacements. - It is expected to contain a pattern to match. - - - - - The begging position of the - within the . -1 is returned - when no pattern can be found. - - - - - The ending position of the - within the . -1 is returned - when no pattern can be found. - - - - - Replace the pattern with the specified String. - - - - - - - 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. - - - - - - 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. - - - - - - Parse filename with date and sequence pattern - - - dateformat for archive - - the found pattern. When failed, then default - the found pattern. When failed, then default - - - - - Archives the log-files using the provided base-archive-filename. If the base-archive-filename causes - duplicate archive filenames, then sequence-style is automatically enforced. - - Example: - 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. - - - - - Dynamically converts a non-template archiveFilePath into a correct archiveFilePattern. - Before called the original IFileArchiveMode, that has been wrapped by this - - - - - Determines if the file name as contains a numeric pattern i.e. {#} in it. - - Example: - trace{#}.log Contains the numeric pattern. - trace{###}.log Contains the numeric pattern. - trace{#X#}.log Contains the numeric pattern (See remarks). - trace.log Does not contain the pattern. - - Occasionally, this method can identify the existence of the {#} pattern incorrectly. - 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 - are deleted. - - - - - Replaces the numeric pattern i.e. {#} in a file name with the parameter value. - - File name which contains the numeric pattern. - Value which will replace the numeric pattern. - File name with the value of in the position of the numeric pattern. - - - - 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. - - - - - Modes of archiving files based on time. - - - - - Don't archive based on time. - - - - - AddToArchive every year. - - - - - AddToArchive every month. - - - - - AddToArchive daily. - - - - - AddToArchive every hour. - - - - - AddToArchive every minute. - - - - - AddToArchive every Sunday. - - - - - AddToArchive every Monday. - - - - - AddToArchive every Tuesday. - - - - - AddToArchive every Wednesday. - - - - - AddToArchive every Thursday. - - - - - AddToArchive every Friday. - - - - - AddToArchive every Saturday. - - - - - Type of filepath - - - - - Detect of relative or absolute - - - - - Relative path - - - - - Absolute path - - Best for performance - - - - Writes log messages to one or more files. - - Documentation on NLog Wiki - - - - Default clean up period of the initilized files. When a file exceeds the clean up period is removed from the list. - - Clean up period is defined in days. - - - - The maximum number of initialised files before clean up procedures are initiated, - to keep the number of initialised files to a minimum. Chose 25 to cater for monthly rolling of log-files. - - - - - This value disables file archiving based on the size. - - - - - Holds the initialised 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). - - - - List of the associated file appenders with the instance. - - - - - The number of initialised files at any one time. - - - - - The maximum number of archive files that should be kept. - - - - - The filename as target - - - - - The archive file name as target - - - - - The date of the previous log event. - - - - - The file name of the previous log event. - - - - - 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. - - - - Gets or sets the name of the file to write to. - - - This FileName string is a layout which may include instances of layout renderers. - This lets you use a single target to write to multiple files. - - - The following value makes NLog write logging events to files based on the log level in the directory where - the application runs. - ${basedir}/${level}.log - 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? - - - - - - 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 delete old log file on startup. - - - 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. - - - - - - 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. - - - - - - Gets or sets the number of files to be kept open. Setting this to a higher value may improve performance - in a situation where a single File target is writing to many files - (such as splitting by level or by logger). - - - The files are managed on a LRU (least recently used) basis, which flushes - the files that have not been used for the longest period of time should the - cache become full. As a rule of thumb, you shouldn't set this parameter to - a very high value. A number like 10-15 shouldn't be exceeded, because you'd - be keeping a large number of files open which consumes system resources. - - - - - - 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 before open files are flushed. If this number is negative or zero - the files are not flushed by timer. - - - - - - 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 - - - - - - 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 concurrent writes to the log file by multiple processes on different network hosts. - - - 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 the number of times the write is appended on the file before NLog - discards the log message. - - - - - - Gets or sets the delay in milliseconds to wait before attempting to write to the file again. - - - The actual delay is a random value between 0 and the value specified - in this parameter. On each failed attempt the delay base is doubled - up to times. - - - Assuming that ConcurrentWriteAttemptDelay is 10 the time to wait will be:

- a random value between 0 and 10 milliseconds - 1st attempt
- a random value between 0 and 20 milliseconds - 2nd attempt
- a random value between 0 and 40 milliseconds - 3rd attempt
- a random value between 0 and 80 milliseconds - 4th attempt
- ...

- and so on. - - - - -

- Gets or sets a value indicating whether to archive old log file on startup. - - - 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 specifying the date format to use when archiving files. - - - 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. - - - - - - Gets or sets a value indicating whether to automatically archive log files every time the specified time passes. - - - 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? - - - - - - Gets or sets the name of the file to be used for an archive. - - - It may contain a special placeholder {#####} - that will be replaced with a sequence of numbers depending on - 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 way file archives are numbered. - - - - - - Used to compress log files during archiving. - This may be used to provide your own implementation of a zip file compressor, - 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 indicationg 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. - - - - - - Gets the characters that are appended after each line. - - - - - Refresh the ArchiveFilePatternToWatch option of the . - The log file must be watched for archiving when multiple processes are writing to the same - open file. - - - - - Removes records of initialized files that have not been - accessed in the last two days. - - - Files are marked 'initialized' for the purpose of writing footers when the logging finishes. - - - - - Removes records of initialized files that have not been - accessed after the specified date. - - The cleanup threshold. - - Files are marked 'initialized' for the purpose of writing footers when the logging finishes. - - - - - Flushes all pending file operations. - - The asynchronous continuation. - - The timeout parameter is ignored, because file APIs don't provide - the needed functionality. - - - - - Returns the suitable appender factory ( ) to be used to generate the file - appenders associated with the instance. - - The type of the file appender factory returned depends on the values of various properties. - - suitable for this instance. - - - - Initializes file logging by creating data structures that - enable efficient multi-file logging. - - - - - 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 - parameter. - - The logging event. - - - - Get full filename (=absolute) and cleaned if needed. - - - - - - - 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 - parameter. - - An array of objects. - - This function makes use of the fact that the events are batched by sorting - the requests by filename. This optimizes the number of open/close calls - 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. - - The log event to be formatted. - A string representation of the log event. - - - - Gets the bytes to be written to the file. - - Log event. - Array of bytes that are ready to be written. - - - - Modifies the specified byte array before it gets sent to a file. - - The byte array. - The modified byte array. The function can do the modification in-place. - - - - Gets the bytes to be written to the file. - - The log event to be formatted. - to help format log event. - Optional temporary char-array to help format log event. - Destination for the encoded result. - - - - Formats the log event for write. - - The log event to be formatted. - for the result. - - - - Modifies the specified byte array before it gets sent to a file. - - The LogEvent being written - The byte array. - - - - Archives fileName to archiveFileName. - - File name to be archived. - Name of the archive file. - - - - Gets the correct formatting to be used based on the value of 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. - Formatting for dates. - - - - 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. - 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. - - - - Invokes the archiving process after determining when and which type of archiving is required. - - File name to be checked and archived. - Log event that the instance is currently processing. - The DateTime of the previous log event for this file. - File has just been opened. - - - - Gets the pattern that archive files will match - - Filename of the log file - Log event that the instance is currently processing. - A string with a pattern that will match the archive filenames - - - - Archives the file if it should be archived. - - The file name to check for. - 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. - True when archive operation of the file was completed (by this target or a concurrent target) - - - - Indicates if the automatic archiving process should be executed. - - File name to be written. - 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. - 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. - Filename to archive. If null, then nothing to archive. - - - - 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. - Filename to archive. If null, then nothing to archive. - - - - Truncates the input-time, so comparison of low resolution times (like dates) are not affected by ticks - - High resolution Time - Time Resolution Level - Truncated Low Resolution Time - - - - Evaluates which parts of a file should be written (header, content, footer) based on various properties of - instance and writes them. - - File name to be written. - Raw sequence of to be written into the content part of the file. - File has just been opened. - - - - Initialise a file to be used by the instance. Based on the number of initialised - files and the values of various instance properties clean up and/or archiving processes can be invoked. - - File name to be written. - Log event that the instance is currently processing. - The DateTime of the previous log event for this file (DateTime.MinValue if just initialized). - - - - Writes the file footer and finalizes the file in instance internal structures. - - File name to close. - Indicates if the file is being finalized for archiving. - - - - Writes the footer information to a file. - - The file path to write to. - - - - Invokes the archiving and clean up of older archive file based on the values of and properties respectively. - - File name to be written. - Log event that the instance is currently processing. - - - - Creates the file specified in and writes the file content in each entirety i.e. - Header, Content and Footer. - - The name of the file to be written. - Sequence of to be written in the content section of the file. - First attempt to write? - This method is used when the content of the log file is re-written on every write. - - - - Writes the header information and byte order mark to a file. - - File appender associated with the file. - - - - The sequence of to be written in a file after applying any formating 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. - - - - Check if cleanup should be performed on initialize new file - - Base archive file pattern - Maximum number of archive files that should be kept - True, when archive cleanup is needed - - - - Create a wildcard file-mask that allows one to find all files belonging to the same archive. - - Base archive file pattern - Wildcard file-mask - - - - Search directory for all existing files that are part of the same archive. - - Base archive file pattern - - - - - Generate the next archive filename for the archive. - - Base archive file pattern - File date of archive - 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 - - - - - 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. - - - - 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 - - - - - Add quotes arround object keys? - - - - - Formatprovider for value - - - - - Format string for value - - - - - Should non-ascii characters be encoded - - - - - Serialize enum as string value - - - - - Should dictionary keys be sanitized. All characters must either be letters, numbers or underscore character (_). - - Any other characters will be converted to underscore character (_) - - - - - 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. - - - - - Insert platform-dependent end-of-line sequence after each line. - - - - - Insert CR LF sequence (ASCII 13, ASCII 10) after each line. - - - - - Insert CR character (ASCII 13) after each line. - - - - - Insert LF character (ASCII 10) after each line. - - - - - Do not insert any line ending. - - - - - Gets the name of the LineEndingMode instance. - - - - - Gets the new line characters (value) of the LineEndingMode instance. - - - - - Initializes a new instance of . - - The mode name. - The new line characters to be used. - - - - Returns the that corresponds to the supplied . - - - The textual representation of the line ending mode, such as CRLF, LF, Default etc. - Name is not case sensitive. - - The value, that corresponds to the . - There is no line ending mode with the specified name. - - - - Compares two objects and returns a - value indicating whether the first one is equal to the second one. - - The first level. - The second level. - The value of mode1.NewLineCharacters == mode2.NewLineCharacters. - - - - Compares two objects and returns a - value indicating whether the first one is not equal to the second one. - - The first mode - The second mode - 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. - true if the current object is equal to the parameter; otherwise, false. - An object to compare with this object. - - - - Provides a type converter to convert objects to and from other representations. - - - - - 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. - - 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: -

- -

- Mail target works best when used with BufferingWrapper target - which lets you send multiple log messages in single mail -

-

- To set up the buffered mail target in the configuration file, - use the following syntax: -

- -

- To set up the buffered mail 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} - - - - - Gets the mailSettings/smtp configuration from app.config in cases when we need those configuration. - E.g when UseSystemNetMailSettings is enabled and we need to read the From attribute from system.net/mailSettings/smtp - - 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). - - - - - - Gets or sets recipients' email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). - - - - - - Gets or sets CC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). - - - - - - Gets or sets BCC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). - - - - - - Gets or sets a value indicating whether to add new lines between log entries. - - A value of true if new lines should be added; otherwise, false. - - - - - Gets or sets the mail subject. - - - - - - Gets or sets mail message body (repeated for each log message send in one mail). - - Alias for the Layout property. - - - - - Gets or sets encoding to be used for sending e-mail. - - - - - - Gets or sets a value indicating whether to send message as HTML instead of plain text. - - - - - - Gets or sets SMTP Server to be used for sending. - - - - - - Gets or sets SMTP Authentication mode. - - - - - - Gets or sets the username used to connect to SMTP server (used when SmtpAuthentication is set to "basic"). - - - - - - Gets or sets the password used to authenticate against SMTP server (used when SmtpAuthentication is set to "basic"). - - - - - - Gets or sets a value indicating whether SSL (secure sockets layer) should be used when communicating with SMTP server. - - . - - - - Gets or sets the port number that SMTP Server is listening on. - - - - - - Gets or sets a value indicating whether the default Settings from System.Net.MailSettings should be used. - - - - - - Specifies how outgoing email messages will be handled. - - - - - - Gets or sets the folder where applications save mail messages to be processed by the local SMTP server. - - - - - - Gets or sets the priority used for sending mails. - - - - - - Gets or sets a value indicating whether NewLine characters in the body should be replaced with
tags. -
- Only happens when is set to true. - -
- - - Gets or sets a value indicating the SMTP client timeout. - - Warning: zero is not infinit waiting - - - - - Renders the logging event message and adds it to the internal ArrayList of log messages. - - 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 - - event printed in the body of the event - - - - Create buffer for body - - all events - first event for header - last event for footer - - - - - Set properties of - - last event for username/password - client to set properties on - Configure not at , as the properties could have layout renderers. - - - - Handle if it is a virtual directory. - - - - - - - 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 - - append to this - event for rendering - append if not null - - - - Create the mailmessage with the addresses, properties and body. - - - - - Render and add the addresses to - - Addresses appended to this list - layout with addresses, ; separated - event for rendering the - added a address? - - - - Writes log messages to an ArrayList in memory for programmatic retrieval. - - 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. - - - - Gets the list of logs gathered in the . - - - - - Renders the logging event message and adds it to the internal ArrayList of log messages. - - The logging event. - - - - A parameter to MethodCall. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The layout to use for parameter value. - - - - Initializes a new instance of the class. - - Name of the parameter. - The layout. - - - - Initializes a new instance of the class. - - The name of the parameter. - The layout. - The type of the parameter. - - - - 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. - - - - - - Gets or sets the layout that should be use to calculate the value for the parameter. - - - - - - Calls the specified static method on each log message and passes contextual parameters to it. - - 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: -

- -
-
- - - Gets or sets the class name. - - - - - - Gets or sets the method name. The method must be public and static. - - Use the AssemblyQualifiedName , https://msdn.microsoft.com/en-us/library/system.type.assemblyqualifiedname(v=vs.110).aspx - e.g. - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Name of the target. - - - - Initializes a new instance of the class. - - Name of the target. - Method to call on logevent. - - - - Initializes the target. - - - - - Calls the specified Method. - - Method parameters. - The logging event. - - - - Calls the specified Method. - - Method parameters. - - - - The base class for all targets which call methods (local or remote). - Manages parameters and type coercion. - - - - - Initializes a new instance of the class. - - - - - Gets the array of parameters to be passed. - - - - - - Prepares an array of parameters to be passed based on the logging event and calls DoInvoke(). - - The logging event. - - - - Calls the target DoInvoke method, and handles AsyncContinuation callback - - Method call parameters. - The logging event. - - - - Calls the target DoInvoke method, and handles AsyncContinuation callback - - Method call parameters. - The continuation. - - - - Calls the target method. Must be implemented in concrete classes. - - Method call parameters. - - - - Sends log messages over the network. - - 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: -

- -

- To print the results, use any application that's able to receive messages over - TCP or UDP. NetCat is - a simple but very powerful command-line tool that can be used for that. This image - demonstrates the NetCat tool receiving log messages from Network target. -

- -

- 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 - or NLogViewer application respectively. -

-
-
- - - 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. - - - - Gets or sets the network address. - - - 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)
  • -
  • http://host:port/pageName - HTTP using POST verb
  • -
  • https://host:port/pageName - HTTPS using POST verb
  • -
- For SOAP-based webservice support over HTTP use WebService target. -
- -
- - - Gets or sets a value indicating whether to keep connection open whenever possible. - - - - - - 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 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 action that should be taken if the will be more connections than . - - - - - - Gets or sets the maximum queue size. - - - - - - Gets or sets the action that should be taken if the message is larger than - maxMessageSize. - - - - - - Gets or sets the encoding to be used. - - - - - - Flush any pending log messages asynchronously (in case of asynchronous targets). - - The asynchronous continuation. - - - - Closes the target. - - - - - Sends the - rendered logging event over the network optionally concatenating it with a newline character. - - The logging event. - - - - Try to remove. - - - - - removed something? - - - - Gets the bytes to be written. - - Log event. - Byte array. - - - - The action to be taken when there are more connections then the max. - - - - - Just allow it. - - - - - Discard the connection item. - - - - - Block until there's more room in the queue. - - - - - Action that should be taken if the message overflows. - - - - - Report an error. - - - - - Split the message into smaller pieces. - - - - - Discard the entire message. - - - - - Represents a parameter to a NLogViewer target. - - - - - Initializes a new instance of the class. - - - - - Gets or sets viewer parameter name. - - - - - - Gets or sets the layout that should be use to calcuate the value for the parameter. - - - - - - Sends log messages to the remote instance of NLog Viewer. - - 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: -

- -

- 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. -

-
-
- - - 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. - - - - 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 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 NDLC item separator. - - - - - - Gets or sets the option to include all properties from the log events - - - - - - Gets or sets the NDC item separator. - - - - - - 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. - - - - - - Gets the layout renderer which produces Log4j-compatible XML events. - - - - - Gets or sets the instance of that is used to format log messages. - - - - - - Discards log messages. Used mainly for debugging and benchmarking. - - 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: -

- -
-
- - - Gets or sets a value indicating whether to perform layout calculation. - - - - - - 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} - - - - - - Does nothing. Optionally it calculates the layout text but - discards the results. - - 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. - - - - - No authentication. - - - - - Basic - username and password. - - - - - NTLM Authentication. - - - - - Represents logging target. - - - - Are all layouts in this target thread-agnostic, if so we don't precalculate the layouts - - - - The Max StackTraceUsage of all the in this Target - - - - - Gets or sets the name of the target. - - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers - Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - Gets the object which can be used to synchronize asynchronous operations that must rely on the . - - - - - Gets the logging configuration this target is part of. - - - - - Gets a value indicating whether the target has been initialized. - - - - - Can be used if has been enabled. - - - - - Initializes this instance. - - The configuration. - - - - Closes this instance. - - - - - Closes the target. - - - - - Flush any pending log messages (in case of asynchronous targets). - - The asynchronous continuation. - - - - Calls the on each volatile layout - used by this target. - This method won't prerender if all layouts in this target are thread-agnostic. - - - The log event. - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Writes the log to the target. - - Log event to write. - - - - Writes the array of log events. - - The log events. - - - - Writes the array of log events. - - The log events. - - - - Initializes this instance. - - The configuration. - - - - Closes this instance. - - - - - Releases unmanaged and - optionally - managed resources. - - True to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Initializes the target. Can be used by inheriting classes - to initialize logging. - - - - - Closes the target and releases any unmanaged resources. - - - - - Flush any pending log messages asynchronously (in case of asynchronous targets). - - The asynchronous continuation. - - - - Writes logging event to the log target. Must be overridden in inheriting - classes. - - Logging event to be written out. - - - - Writes async log event to the log target. - - Async Log event to be written out. - - - - Writes a log event to the log target, in a thread safe manner. - Any override of this method has to provide their own synchronization mechanism. - - !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. - - 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 - events and passes them to "Write" method. Inheriting classes can use this method to - optimize batch writes. - - 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. - Any override of this method has to provide their own synchronization mechanism. - - !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. - - - - Merges (copies) the event context properties from any event info object stored in - parameters of the given event info object. - - The event info object to perform the merge to. - - - - Renders the event info in layout. - - The layout. - The event info. - String representing log event. - - - - Register a custom Target. - - Short-cut for registing to default - Type of the Target. - Name of the Target. - - - - Register a custom Target. - - Short-cut for registing to default - Type of the Target. - Name of the Target. - - - - Marks class as a logging target and assigns a name to it. - - This attribute is not required when registering the target in the API. - - - - Initializes a new instance of the class. - - Name of the target. - - - - Gets or sets a value indicating whether to the target is a wrapper target (used to generate the target summary documentation page). - - - - - Gets or sets a value indicating whether to the target is a compound target (used to generate the target summary documentation page). - - - - - Attribute details for - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The name of the attribute. - The layout of the attribute's value. - - - - 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 - - - - - Represents target that supports context capture using MDLC, MDC, NDLC and NDC - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets or sets a value indicating whether to include contents of the dictionary - - - - - - Gets or sets a value indicating whether to include call site (class and method name) in the - - - - - - Gets or sets a value indicating whether to include source info (file name and line number) in the - - - - - - Gets the array of custom attributes to be passed into the logevent context - - - - - - Constructor - - - - - Check if logevent has properties (or context properties) - - - True if properties should be included - - - - Checks if any context properties, and if any returns them as a single dictionary - - - Dictionary with any context properties for the logEvent (Null if none found) - - - - Creates combined dictionary of all configured properties for logEvent - - - Dictionary with all collected properties for logEvent - - - - Returns the captured snapshot of for the - - - Dictionary with MDC context if any, else null - - - - Returns the captured snapshot of for the - - - Dictionary with MDLC context if any, else null - - - - Returns the captured snapshot of for the - - - Dictionary with NDC context if any, else null - - - - Returns the captured snapshot of for the - - - Dictionary with NDLC context if any, else null - - - - Takes snapshot of for the - - - Optional pre-allocated dictionary for the snapshot - Dictionary with GDC context if any, else null - - - - Takes snapshot of for the - - - Optional pre-allocated dictionary for the snapshot - Dictionary with MDC context if any, else null - - - - Take snapshot of a single object value from - - Log event - MDC key - MDC value - Snapshot of MDC value - Include object value in snapshot - - - - Takes snapshot of for the - - - Optional pre-allocated dictionary for the snapshot - Dictionary with MDLC context if any, else null - - - - Take snapshot of a single object value from - - Log event - MDLC key - MDLC value - Snapshot of MDLC value - Include object value in snapshot - - - - Takes snapshot of for the - - - Dictionary with NDC context if any, else null - - - - Take snapshot of a single object value from - - Log event - NDC value - Snapshot of NDC value - Include object value in snapshot - - - - Takes snapshot of for the - - - Dictionary with NDLC context if any, else null - - - - Take snapshot of a single object value from - - Log event - NDLC value - Snapshot of NDLC value - Include object value in snapshot - - - - Take snapshot of a single object value - - Log event - Key Name (null when NDC / NDLC) - Object Value - Snapshot of value - Include object value in snapshot - - - Internal Layout that allows capture of MDC context - - - Internal Layout that allows capture of NDC context - - - Internal Layout that allows capture of MDLC context - - - Internal Layout that allows capture of NDLC context - - - - Represents target that supports string formatting using layouts. - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - Gets or sets the layout used to format log messages. - - - - - - Represents target that supports string formatting using layouts. - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - Gets or sets the text to be rendered. - - - - - - Gets or sets the footer. - - - - - - Gets or sets the header. - - - - - - Gets or sets the layout with header and footer. - - The layout with header and footer. - - - - Sends log messages through System.Diagnostics.Trace. - - 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: -

- -
-
- - - Always use independent of - - - - - - 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. - - - - 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 - - writes to - - The logging event. - - - - Web service protocol. - - - - - Use SOAP 1.1 Protocol. - - - - - Use SOAP 1.2 Protocol. - - - - - Use HTTP POST Protocol. - - - - - Use HTTP GET Protocol. - - - - - Do an HTTP POST of a JSON document. - - - - - Do an HTTP POST of an XML document. - - - - - Web Service Proxy Configuration Type - - - - - Default proxy configuration from app.config (System.Net.WebRequest.DefaultWebProxy) - - - Example of how to configure default proxy using app.config - - <system.net> - <defaultProxy enabled = "true" useDefaultCredentials = "true" > - <proxy usesystemdefault = "True" /> - </defaultProxy> - </system.net> - - - - - - Automatic use of proxy with authentication (cached) - - - - - Disables use of proxy (fast) - - - - - Custom proxy address (cached) - - - - - Calls the specified web service on each log message. - - 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, - 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: -

- -

The example web service that works with this example is shown below

- -
-
- - - dictionary that maps a concrete implementation - to a specific -value. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Name of the target - - - - Gets or sets the web service URL. - - - - - - Gets or sets the Web service method name. Only used with Soap. - - - - - - Gets or sets the Web service namespace. Only used with Soap. - - - - - - Gets or sets the protocol to be used when calling web service. - - - - - - Gets or sets the proxy configuration when calling web service - - - - - - Gets or sets the custom proxy address, include port separated by a colon - - - - - - Should we include the BOM (Byte-order-mark) for UTF? Influences the property. - - This will only work for UTF-8. - - - - - - Gets or sets the encoding. - - - - - - 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. - - - - - Gets or sets the name of the root XML element, - if POST of XML document chosen. - If so, this property must not be null. - (see and ). - - - - - - Gets or sets the (optional) root namespace of the XML document, - if POST of XML document chosen. - (see and ). - - - - - - Gets the array of parameters to be passed. - - - - - - Indicates whether to pre-authenticate the HttpWebRequest (Requires 'Authorization' in parameters) - - - - - - Calls the target method. Must be implemented in concrete classes. - - Method call parameters. - - - - Calls the target DoInvoke method, and handles AsyncContinuation callback - - Method call parameters. - The continuation. - - - - Invokes the web service method. - - Parameters to be passed. - 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 - - - - - - - - - base class for POST formatters, that - implement former PrepareRequest() method, - that creates the content for - the requested kind of HTTP request - - - - - Win32 file attributes. - - - For more information see http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/createfile.asp. - - - - - Read-only file. - - - - - Hidden file. - - - - - System file. - - - - - File should be archived. - - - - - Device file. - - - - - Normal file. - - - - - File is temporary (should be kept in cache and not - written to disk if possible). - - - - - Sparse file. - - - - - Reparse point. - - - - - Compress file contents. - - - - - File should not be indexed by the content indexing service. - - - - - Encrypted file. - - - - - The system writes through any intermediate cache and goes directly to disk. - - - - - The system opens a file with no system caching. - - - - - Delete file after it is closed. - - - - - A file is accessed according to POSIX rules. - - - - - Asynchronous request queue. - - - - - Initializes a new instance of the AsyncRequestQueue class. - - Request limit. - The overflow action. - - - - Gets or sets the request limit. - - - - - Gets or sets the action to be taken when there's no more room in - the queue and another request is enqueued. - - - - - Gets the number of requests currently in the queue. - - - - - Enqueues another item. If the queue is overflown the appropriate - action is taken as specified by . - - The log event info. - Queue was empty before enqueue - - - - 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). - The array of log events. - - - - Dequeues into a preallocated array, instead of allocating a new one - - Maximum number of items to be dequeued - Preallocated list - - - - Clears the queue. - - - - - Provides asynchronous, buffered execution of target writes. - - Documentation on NLog Wiki - -

- Asynchronous target wrapper allows the logger code to execute more quickly, by queueing - 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. -

-

- Because asynchronous logging is quite a common scenario, NLog supports a - shorthand notation for wrapping all targets with AsyncWrapper. Just add async="true" to - the <targets/> element in the configuration file. -

- - - ... your targets go here ... - - ]]> -
- -

- 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: -

- -
-
- - - 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. - - The wrapped target. - - - - Initializes a new instance of the class. - - The wrapped target. - Maximum number of requests in the queue. - The action to be taken when the queue overflows. - - - - Gets or sets the number of log events that should be processed in a batch - by the lazy writer thread. - - - - - - Gets or sets the time in milliseconds to sleep between batches. - - - - - - 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 the queue of lazy writer thread requests. - - - - - Schedules a flush of pending events in the queue (if any), followed by flushing the WrappedTarget. - - The asynchronous continuation. - - - - Initializes the target by starting the lazy writer timer. - - - - - Shuts down the lazy writer timer. - - - - - Starts the lazy writer thread which periodically writes - queued log messages. - - - - - Attempts to start an instant timer-worker-thread which can write - queued log messages. - - Returns true when scheduled a timer-worker-thread - - - - Stops the lazy writer thread. - - - - - Adds the log event to asynchronous queue to be processed by - the lazy writer thread. - - The log event. - - The is called - to ensure that the log event can be processed in another thread. - - - - - Write to queue without locking - - - - - - 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. - - - - - Causes a flush on a wrapped target if LogEvent statisfies the . - If condition isn't set, flushes on each write. - - Documentation on NLog Wiki - -

- 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: -

- -
-
- - - Gets or sets the condition expression. Log events who meet this condition will cause - a flush on the wrapped target. - - - - - - Delay the flush until the LogEvent has been confirmed as written - - - - - - 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 - - - - Initializes a new instance of the class. - - The wrapped target. - - - - Initializes the target. - - - - - Forwards the call to the .Write() - and calls on it if LogEvent satisfies - the flush condition or condition is null. - - Logging event to be written out. - - - - Schedules a flush operation, that triggers when all pending flush operations are completed (in case of asynchronous targets). - - The asynchronous continuation. - - - - Closes the target. - - - - - A target that buffers log events and sends them in batches to the wrapped target. - - Documentation on NLog Wiki - - - - 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. - - The wrapped target. - - - - Initializes a new instance of the class. - - The wrapped target. - Size of the buffer. - - - - Initializes a new instance of the class. - - The wrapped target. - Size of the buffer. - The flush timeout. - - - - Initializes a new instance of the class. - - The wrapped target. - Size of the buffer. - The flush timeout. - The aciton to take when the buffer overflows. - - - - Gets or sets the number of log events to be buffered. - - - - - - Gets or sets the timeout (in milliseconds) after which the contents of buffer will be flushed - if there's no write in the specified period of time. Use -1 to disable timed flushes. - - - - - - Gets or sets a value indicating whether to use sliding timeout. - - - This value determines how the inactivity period is determined. If sliding timeout is enabled, - the inactivity timer is reset after each write, if it is disabled - inactivity timer will - count from the first event written to the buffer. - - - - - - Gets or sets the action to take if the buffer overflows. - - - Setting to will replace the - oldest event with new events without sending events down to the wrapped target, and - setting to will flush the - entire buffer to the wrapped target. - - - - - - Flushes pending events in the buffer (if any), followed by flushing the WrappedTarget. - - The asynchronous continuation. - - - - Initializes the target. - - - - - Closes the target by flushing pending events in the buffer (if any). - - - - - Adds the specified log event to the buffer and flushes - the buffer in case the buffer gets full. - - The log event. - - - - The action to be taken when the buffer overflows. - - - - - Flush the content of the buffer. - - - - - Discard the oldest item. - - - - - A base class for targets which wrap other (multiple) targets - and provide various forms of target routing. - - - - - Initializes a new instance of the class. - - The targets. - - - - Gets the collection of targets managed by this compound target. - - - - - 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. - - - - Flush any pending log messages for all wrapped targets. - - The asynchronous continuation. - - - - Provides fallback-on-error. - - 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, - 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: -

- -
-
- - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Name of the target. - The targets. - - - - Initializes a new instance of the class. - - The targets. - - - - Gets or sets a value indicating whether to return to the first target after any successful write. - - - - - - - - - - - - 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 . - - - - - Filtering rule for . - - - - - Initializes a new instance of the FilteringRule class. - - - - - Initializes a new instance of the FilteringRule class. - - Condition to be tested against all events. - Filter to apply to all log events when the first condition matches any of them. - - - - Gets or sets the condition to be tested. - - - - - - Gets or sets the resulting filter to be applied when the condition matches. - - - - - - Filters log entries based on a condition. - - 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, - 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: -

- -
-
- - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Name of the target. - The wrapped target. - The condition. - - - - Initializes a new instance of the class. - - The wrapped target. - The condition. - - - - Gets or sets the condition expression. Log events who meet this condition will be forwarded - to the wrapped target. - - - - - - Checks the condition against the passed log event. - If the condition is met, the log event is forwarded to - the wrapped target. - - Log event. - - - - Impersonates another user for the duration of the write. - - Documentation on NLog Wiki - - - - 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. - - The wrapped target. - - - - Gets or sets username to change context to. - - - - - - Gets or sets the user account password. - - - - - - 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. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The name of the target. - The wrapped target. - - - - Initializes a new instance of the class. - - The wrapped target. - - - - Initializes a new instance of the class. - - The wrapped target. - Maximum number of messages written per interval. - Interval in which the maximum number of messages can be written. - - - - Gets or sets the maximum allowed number of messages written per . - - - Messages received after has been reached in the current will be discarded. - - - - - - Gets or sets the interval in which messages will be written up to the number of messages. - - - Messages received after has been reached in the current will be discarded. - - - - - - Gets the DateTime when the current will be reset. - - - - - - Gets the number of written in the current . - - - - - - Initializes the target and resets the current Interval and . - - - - - Writes log event to the wrapped target if the current is lower than . - If the is already reached, no log event will be written to the wrapped target. - resets when the current is expired. - - Log event to be written out. - - - - 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. - - Documentation on NLog Wiki - - PostFilteringWrapper must be used with some type of buffering target or wrapper, such as - AsyncTargetWrapper, BufferingWrapper or ASPNetBufferingWrapper. - - -

- This example works like this. If there are no Warn,Error or Fatal messages in the buffer - only Info messages are written to the file, but if there are any warnings or errors, - the output includes detailed trace (levels >= Debug). You can plug in a different type - of buffering wrapper (such as ASPNetBufferingWrapper) to achieve different - functionality. -

-

- 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: -

- -
-
- - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Name of the target. - The wrapped target. - - - - Gets or sets the default filter to be applied when no specific rule matches. - - - - - - Gets the collection of filtering rules. The rules are processed top-down - and the first rule that matches determines the filtering condition to - be applied to log events. - - - - - - 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. - The matching rule determines the filtering condition to be applied - to all items in a buffer. If no condition matches, default filter - is applied to the array of log events. - - Array of log events to be post-filtered. - - - - Sends log messages to a randomly selected target. - - 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, - 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: -

- -
-
- - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Name of the target. - The targets. - - - - Initializes a new instance of the class. - - The targets. - - - - Forwards the log event to one of the sub-targets. - The sub-target is randomly chosen. - - The log event. - - - - Repeats each log event the specified number of times. - - Documentation on NLog Wiki - -

This example causes each log message to be repeated 3 times.

-

- 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: -

- -
-
- - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Name of the target. - The wrapped target. - The repeat count. - - - - Initializes a new instance of the class. - - The wrapped target. - The repeat count. - - - - Gets or sets the number of times to repeat each log message. - - - - - - Forwards the log message to the by calling the method times. - - The log event. - - - - Retries in case of write error. - - 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, - 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: -

- -
-
- - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Name of the target. - The wrapped target. - The retry count. - The retry delay milliseconds. - - - - Initializes a new instance of the class. - - The wrapped target. - The retry count. - The retry delay milliseconds. - - - - Gets or sets the number of retries that should be attempted on the wrapped target in case of a failure. - - - - - - Gets or sets the time to wait between retries in milliseconds. - - - - - - Special SyncObject to allow closing down Target while busy retrying - - - - - Writes the specified log event to the wrapped target, retrying and pausing in case of an error. - - The log event. - - - - Writes the specified log event to the wrapped target in a thread-safe manner. - - The log event. - - - - Writes the specified log event to the wrapped target, retrying and pausing in case of an error. - - The log event. - - - - Distributes log events to targets in a round-robin fashion. - - 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, - 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: -

- -
-
- - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Name of the target. - The targets. - - - - Initializes a new instance of the class. - - The targets. - - - - Ensures forwarding happens without holding lock - - - - - - Forwards the write to one of the targets from - the collection. - - The log event. - - The writes are routed in a round-robin fashion. - The first log event goes to the first target, the second - one goes to the second target and so on looping to the - first target when there are no more targets available. - 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. - - 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, - 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: -

- -
-
- - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Name of the target. - The targets. - - - - Initializes a new instance of the class. - - The targets. - - - - Forwards the specified log event to all sub-targets. - - 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 - events and passes them to "Write" method. Inheriting classes can use this method to - optimize batch writes. - - Logging events to be written out. - - - - Base class for targets wrap other (single) targets. - - - - - Gets or sets the target that is wrapped by this target. - - - - - - 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. - - - - Writes logging event to the log target. Must be overridden in inheriting - classes. - - 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. - - - - - Gets current local time directly from DateTime.Now. - - - - - Converts the specified system time to the same form as the time value originated from this time source. - - The system originated time value to convert. - - The value of converted to local time. - - - - - Current UTC time retrieved directly from DateTime.UtcNow. - - - - - Gets current UTC time directly from DateTime.UtcNow. - - - - - Converts the specified system time to the same form as the time value originated from this time source. - - The system originated time value to convert. - - The value of converted to UTC time. - - - - - Fast time source that updates current time only once per tick (15.6 milliseconds). - - - - - Gets raw uncached time from derived time source. - - - - - Gets current time cached for one system tick (15.6 milliseconds). - - - - - Fast local time source that is updated once per tick (15.6 milliseconds). - - - - - Gets uncached local time directly from DateTime.Now. - - - - - Converts the specified system time to the same form as the time value originated from this time source. - - The system originated time value to convert. - - The value of converted to local time. - - - - - Fast UTC time source that is updated once per tick (15.6 milliseconds). - - - - - Gets uncached UTC time directly from DateTime.UtcNow. - - - - - Converts the specified system time to the same form as the time value originated from this time source. - - The system originated time value to convert. - - The value of converted to UTC time. - - - - - Defines source of current time. - - - - - Gets current time. - - - - - Gets or sets current global time source used in all log events. - - - Default time source is . - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Converts the specified system time to the same form as the time value originated from this time source. - - The system originated time value to convert. - - The value of converted to the same form - as time values originated from this source. - - - - There are situations when NLog have to compare the time originated from TimeSource - to the time originated externally in the system. - To be able to provide meaningful result of such comparisons the system time must be expressed in - the same form as TimeSource time. - - - Examples: - - If the TimeSource provides time values of local time, it should also convert the provided - to the local time. - - If the TimeSource shifts or skews its time values, it should also apply - the same transform to the given . - - - - - - Marks class as a time source and assigns a name to it. - - - - - Initializes a new instance of the class. - - Name of the time source. - - - diff --git a/CheckRtfNet/obj/Debug/CheckRtfNet.Properties.Signatures.resources b/CheckRtfNet/obj/Debug/CheckRtfNet.Properties.Signatures.resources deleted file mode 100755 index e137c90bcbdd7e7e9776abad23dd68732f4d1083..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6432 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 F{{a}VN(2A^ diff --git a/CheckRtfNet/obj/Debug/CheckRtfNet.csproj.CopyComplete b/CheckRtfNet/obj/Debug/CheckRtfNet.csproj.CopyComplete deleted file mode 100755 index e69de29..0000000 diff --git a/CheckRtfNet/obj/Debug/CheckRtfNet.csproj.CoreCompileInputs.cache b/CheckRtfNet/obj/Debug/CheckRtfNet.csproj.CoreCompileInputs.cache deleted file mode 100755 index 66b5b78..0000000 --- a/CheckRtfNet/obj/Debug/CheckRtfNet.csproj.CoreCompileInputs.cache +++ /dev/null @@ -1 +0,0 @@ -07aca4ac52bbaac4479c58eafcb8f7d13a53becd diff --git a/CheckRtfNet/obj/Debug/CheckRtfNet.csproj.FileListAbsolute.txt b/CheckRtfNet/obj/Debug/CheckRtfNet.csproj.FileListAbsolute.txt deleted file mode 100755 index 312a1df..0000000 --- a/CheckRtfNet/obj/Debug/CheckRtfNet.csproj.FileListAbsolute.txt +++ /dev/null @@ -1,43 +0,0 @@ -D:\Proyects\CheckRtf\CheckRtfNet\CheckRtfNet\bin\Debug\CheckRtfNet.exe.config -D:\Proyects\CheckRtf\CheckRtfNet\CheckRtfNet\bin\Debug\CheckRtfNet.exe -D:\Proyects\CheckRtf\CheckRtfNet\CheckRtfNet\bin\Debug\CheckRtfNet.pdb -D:\Proyects\CheckRtf\CheckRtfNet\CheckRtfNet\obj\Debug\CheckRtfNet.frmInit.resources -D:\Proyects\CheckRtf\CheckRtfNet\CheckRtfNet\obj\Debug\CheckRtfNet.csproj.GenerateResource.cache -D:\Proyects\CheckRtf\CheckRtfNet\CheckRtfNet\obj\Debug\CheckRtfNet.csproj.CoreCompileInputs.cache -D:\Proyects\CheckRtf\CheckRtfNet\CheckRtfNet\obj\Debug\CheckRtfNet.exe -D:\Proyects\CheckRtf\CheckRtfNet\CheckRtfNet\obj\Debug\CheckRtfNet.pdb -D:\Proyects\CheckRtf\CheckRtfNet\CheckRtfNet\bin\Debug\NLog.config -D:\Proyects\CheckRtf\CheckRtfNet\CheckRtfNet\bin\Debug\NLog.dll -D:\Proyects\CheckRtf\CheckRtfNet\CheckRtfNet\bin\Debug\NLog.xml -D:\Proyects\CheckRtf\CheckRtfNet\CheckRtfNet\obj\Debug\CheckRtfNet.csprojResolveAssemblyReference.cache -D:\Proyects\CheckRtf\CheckRtfNet\CheckRtfNet\obj\Debug\CheckRtfNet.csproj.CopyComplete -D:\GitHub\CheckRtfNet\CheckRtfNet\bin\Debug\NLog.config -D:\GitHub\CheckRtfNet\CheckRtfNet\bin\Debug\CheckRtfNet.exe.config -D:\GitHub\CheckRtfNet\CheckRtfNet\bin\Debug\CheckRtfNet.exe -D:\GitHub\CheckRtfNet\CheckRtfNet\bin\Debug\CheckRtfNet.pdb -D:\GitHub\CheckRtfNet\CheckRtfNet\bin\Debug\NLog.dll -D:\GitHub\CheckRtfNet\CheckRtfNet\bin\Debug\NLog.xml -D:\GitHub\CheckRtfNet\CheckRtfNet\obj\Debug\CheckRtfNet.frmInit.resources -D:\GitHub\CheckRtfNet\CheckRtfNet\obj\Debug\CheckRtfNet.Properties.Signatures.resources -D:\GitHub\CheckRtfNet\CheckRtfNet\obj\Debug\CheckRtfNet.csproj.GenerateResource.cache -D:\GitHub\CheckRtfNet\CheckRtfNet\obj\Debug\CheckRtfNet.csproj.CoreCompileInputs.cache -D:\GitHub\CheckRtfNet\CheckRtfNet\obj\Debug\CheckRtfNet.csproj.CopyComplete -D:\GitHub\CheckRtfNet\CheckRtfNet\obj\Debug\CheckRtfNet.exe -D:\GitHub\CheckRtfNet\CheckRtfNet\obj\Debug\CheckRtfNet.pdb -D:\GitHub\CheckRtfNet\CheckRtfNet\obj\Debug\CheckRtfNet.csprojResolveAssemblyReference.cache -D:\GitHub\extensioncontrol\CheckRtfNet\obj\Debug\CheckRtfNet.frmInit.resources -D:\GitHub\extensioncontrol\CheckRtfNet\obj\Debug\CheckRtfNet.Properties.Signatures.resources -D:\GitHub\extensioncontrol\CheckRtfNet\obj\Debug\CheckRtfNet.csproj.GenerateResource.cache -D:\GitHub\extensioncontrol\CheckRtfNet\obj\Debug\CheckRtfNet.csproj.CoreCompileInputs.cache -D:\GitHub\extensioncontrol\CheckRtfNet\bin\Debug\NLog.config -D:\GitHub\extensioncontrol\CheckRtfNet\bin\Debug\Mec.exe.config -D:\GitHub\extensioncontrol\CheckRtfNet\bin\Debug\Mec.exe -D:\GitHub\extensioncontrol\CheckRtfNet\bin\Debug\Mec.pdb -D:\GitHub\extensioncontrol\CheckRtfNet\bin\Debug\NLog.dll -D:\GitHub\extensioncontrol\CheckRtfNet\bin\Debug\NLog.xml -D:\GitHub\extensioncontrol\CheckRtfNet\obj\Debug\CheckRtfNet.csproj.CopyComplete -D:\GitHub\extensioncontrol\CheckRtfNet\obj\Debug\Mec.exe -D:\GitHub\extensioncontrol\CheckRtfNet\obj\Debug\Mec.pdb -D:\GitHub\extensioncontrol\CheckRtfNet\obj\Debug\CheckRtfNet.Properties.Resources.resources -D:\GitHub\extensioncontrol\CheckRtfNet\bin\Debug\Properties\About.txt -D:\GitHub\extensioncontrol\CheckRtfNet\bin\Debug\Update.txt diff --git a/CheckRtfNet/obj/Debug/CheckRtfNet.csproj.GenerateResource.cache b/CheckRtfNet/obj/Debug/CheckRtfNet.csproj.GenerateResource.cache deleted file mode 100755 index d45a111b3d2334d831565aae412846f658e96504..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1226 zcma)4!EVz)5Vf1wjgu4-ph{bih!6*)M60+}1eXZWltM%+3TZ126=)NW%PNjH+Fhfh zU%&_O6&&~neu8h{09P&?V8$&a3Q_4CCYzbJ`{q55Wm}f@3xj?siVK)t?~1;XT84&g zCL#*hKGy@y+EPKidI(Aj8Mpi<^I3y6>eY4(z&fMxww1FXd9!01J4cF``*KbqpDUE}7Y@$i|Ts&l{bm7HC1mt%l z54JgZw0P!3t}TZnu0WNDqAdg1Q}Ue%K;@{=MbonQHMM)lqXaZkW-P}kXE>-w@f{9==q0re{v0bWqOKc zb}N`}Od0p6ClkZW*tjd$sZMnm`}-M=b|1Ib*(g4CR}ppl0u&Q{>8||`gfEpz0Y#a{ Hr6~Lcv;0(y diff --git a/CheckRtfNet/obj/Debug/CheckRtfNet.csprojResolveAssemblyReference.cache b/CheckRtfNet/obj/Debug/CheckRtfNet.csprojResolveAssemblyReference.cache deleted file mode 100755 index dcb16c808d1da1c4c8a6d3cf6b0c1a0a640cd52b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16835 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 diff --git a/CheckRtfNet/obj/Debug/CheckRtfNet.frmInit.resources b/CheckRtfNet/obj/Debug/CheckRtfNet.frmInit.resources deleted file mode 100755 index d13ca17a9dde71d077f5428c6b58fc2b4740bf92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 111865 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 J)|LF{{s;exSq=aI diff --git a/CheckRtfNet/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/CheckRtfNet/obj/Debug/DesignTimeResolveAssemblyReferences.cache deleted file mode 100755 index 818e9c33d59cd2750f1518eb34db67bdc54e5d5b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2735 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 E4