From b74c7565535be942934a39e5125c48bf8ed6683d Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Tue, 18 Jul 2017 09:39:20 +0200 Subject: [PATCH] inizio update codice e pacchetti ETS_DATA --- ETS_Data/DS_Anagrafica.Designer.cs | 49 +- ETS_Data/DS_WebScip.Designer.cs | 141 +- ETS_Data/DS_utils.Designer.cs | 76 +- ETS_Data/DS_utilsProjEts.Designer.cs | 231 +- ETS_Data/DS_utilsProjEts.cs | 12 +- ETS_Data/DS_utilsWebShip.Designer.cs | 21 +- ETS_Data/DataLayer_AnagGen.Designer.cs | 72 +- ETS_Data/Ds_ProjEts.Designer.cs | 374 +- ETS_Data/Ds_ProjEts.cs | 6 +- ETS_Data/ETS_Data.csproj | 17 +- ETS_Data/NLog.config | 83 +- ETS_Data/NLog.xsd | 752 +- ETS_Data/Properties/Settings.Designer.cs | 10 +- ETS_Data/app.config | 16 +- .../DesignTimeResolveAssemblyReferences.cache | Bin 1001 -> 1152 bytes .../Debug/TempPE/Ds_ProjEts.Designer.cs.dll | Bin 402944 -> 404992 bytes ETS_Data/packages.config | 7 +- ETS_Data/user_std.cs | 2049 +- ETS_Data/utils.cs | 572 +- PROJ-ETS/PROJ-ETS/BazaarImport.aspx | 3 + PROJ-ETS/PROJ-ETS/BazaarImport.aspx.cs | 17 + .../PROJ-ETS/BazaarImport.aspx.designer.cs | 17 + PROJ-ETS/PROJ-ETS/Reset.aspx | 18 + PROJ-ETS/PROJ-ETS/Reset.aspx.cs | 72 + PROJ-ETS/PROJ-ETS/Reset.aspx.designer.cs | 33 + PROJ-ETS/packages/NLog.4.2.3/NLog.4.2.3.nupkg | Bin 1166223 -> 0 bytes .../packages/NLog.4.2.3/lib/net35/NLog.dll | Bin 489984 -> 0 bytes .../packages/NLog.4.2.3/lib/net35/NLog.xml | 20660 --------------- .../packages/NLog.4.2.3/lib/net40/NLog.dll | Bin 493056 -> 0 bytes .../packages/NLog.4.2.3/lib/net40/NLog.xml | 20738 --------------- .../packages/NLog.4.2.3/lib/net45/NLog.dll | Bin 500736 -> 0 bytes .../packages/NLog.4.2.3/lib/net45/NLog.xml | 20906 ---------------- PROJ-ETS/packages/NLog.4.2.3/lib/sl4/NLog.dll | Bin 277504 -> 0 bytes PROJ-ETS/packages/NLog.4.2.3/lib/sl4/NLog.xml | 14470 ----------- PROJ-ETS/packages/NLog.4.2.3/lib/sl5/NLog.dll | Bin 278016 -> 0 bytes PROJ-ETS/packages/NLog.4.2.3/lib/sl5/NLog.xml | 14470 ----------- .../NLog.Config.4.2.3/NLog.Config.4.2.3.nupkg | Bin 3866 -> 0 bytes .../NLog.Config.4.2.3/content/NLog.config | 42 - .../NLog.Config.4.2.3/tools/Install.ps1 | 12 - .../NLog.Schema.4.2.3/NLog.Schema.4.2.3.nupkg | Bin 14181 -> 0 bytes .../NLog.Schema.4.2.3/content/NLog.xsd | 2571 -- .../StackExchange.Redis.1.2.4.nupkg | Bin 0 -> 768972 bytes .../lib/net45/StackExchange.Redis.dll | Bin 0 -> 424448 bytes .../lib/net45/StackExchange.Redis.xml | 6650 +++++ .../lib/net46/StackExchange.Redis.dll | Bin 0 -> 424448 bytes .../lib/net46/StackExchange.Redis.xml | 6650 +++++ .../netstandard1.5/StackExchange.Redis.dll | Bin 0 -> 420352 bytes .../netstandard1.5/StackExchange.Redis.xml | 6650 +++++ VersGen/bin/Debug/VersGen.dll | Bin 4096 -> 4096 bytes .../Debug/VersGen.csproj.FileListAbsolute.txt | 5 + ...rsGen.csprojResolveAssemblyReference.cache | Bin 1922 -> 1922 bytes VersGen/obj/Debug/VersGen.dll | Bin 4096 -> 4096 bytes 52 files changed, 22906 insertions(+), 95566 deletions(-) create mode 100644 PROJ-ETS/PROJ-ETS/BazaarImport.aspx create mode 100644 PROJ-ETS/PROJ-ETS/BazaarImport.aspx.cs create mode 100644 PROJ-ETS/PROJ-ETS/BazaarImport.aspx.designer.cs create mode 100644 PROJ-ETS/PROJ-ETS/Reset.aspx create mode 100644 PROJ-ETS/PROJ-ETS/Reset.aspx.cs create mode 100644 PROJ-ETS/PROJ-ETS/Reset.aspx.designer.cs delete mode 100644 PROJ-ETS/packages/NLog.4.2.3/NLog.4.2.3.nupkg delete mode 100644 PROJ-ETS/packages/NLog.4.2.3/lib/net35/NLog.dll delete mode 100644 PROJ-ETS/packages/NLog.4.2.3/lib/net35/NLog.xml delete mode 100644 PROJ-ETS/packages/NLog.4.2.3/lib/net40/NLog.dll delete mode 100644 PROJ-ETS/packages/NLog.4.2.3/lib/net40/NLog.xml delete mode 100644 PROJ-ETS/packages/NLog.4.2.3/lib/net45/NLog.dll delete mode 100644 PROJ-ETS/packages/NLog.4.2.3/lib/net45/NLog.xml delete mode 100644 PROJ-ETS/packages/NLog.4.2.3/lib/sl4/NLog.dll delete mode 100644 PROJ-ETS/packages/NLog.4.2.3/lib/sl4/NLog.xml delete mode 100644 PROJ-ETS/packages/NLog.4.2.3/lib/sl5/NLog.dll delete mode 100644 PROJ-ETS/packages/NLog.4.2.3/lib/sl5/NLog.xml delete mode 100644 PROJ-ETS/packages/NLog.Config.4.2.3/NLog.Config.4.2.3.nupkg delete mode 100644 PROJ-ETS/packages/NLog.Config.4.2.3/content/NLog.config delete mode 100644 PROJ-ETS/packages/NLog.Config.4.2.3/tools/Install.ps1 delete mode 100644 PROJ-ETS/packages/NLog.Schema.4.2.3/NLog.Schema.4.2.3.nupkg delete mode 100644 PROJ-ETS/packages/NLog.Schema.4.2.3/content/NLog.xsd create mode 100644 PROJ-ETS/packages/StackExchange.Redis.1.2.4/StackExchange.Redis.1.2.4.nupkg create mode 100644 PROJ-ETS/packages/StackExchange.Redis.1.2.4/lib/net45/StackExchange.Redis.dll create mode 100644 PROJ-ETS/packages/StackExchange.Redis.1.2.4/lib/net45/StackExchange.Redis.xml create mode 100644 PROJ-ETS/packages/StackExchange.Redis.1.2.4/lib/net46/StackExchange.Redis.dll create mode 100644 PROJ-ETS/packages/StackExchange.Redis.1.2.4/lib/net46/StackExchange.Redis.xml create mode 100644 PROJ-ETS/packages/StackExchange.Redis.1.2.4/lib/netstandard1.5/StackExchange.Redis.dll create mode 100644 PROJ-ETS/packages/StackExchange.Redis.1.2.4/lib/netstandard1.5/StackExchange.Redis.xml diff --git a/ETS_Data/DS_Anagrafica.Designer.cs b/ETS_Data/DS_Anagrafica.Designer.cs index 709c985..c210db9 100644 --- a/ETS_Data/DS_Anagrafica.Designer.cs +++ b/ETS_Data/DS_Anagrafica.Designer.cs @@ -1,10 +1,10 @@ //------------------------------------------------------------------------------ // -// This code was generated by a tool. -// Runtime Version:4.0.30319.18046 +// Il codice è stato generato da uno strumento. +// Versione runtime:4.0.30319.42000 // -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se +// il codice viene rigenerato. // //------------------------------------------------------------------------------ @@ -1631,7 +1631,7 @@ namespace ETS_Data { return ((string)(this[this.tableUtenti.CognomeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Cognome\' in table \'Utenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Cognome\' nella tabella \'Utenti\' è DBNull.", e); } } set { @@ -1647,7 +1647,7 @@ namespace ETS_Data { return ((string)(this[this.tableUtenti.NomeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Nome\' in table \'Utenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Nome\' nella tabella \'Utenti\' è DBNull.", e); } } set { @@ -1663,7 +1663,7 @@ namespace ETS_Data { return ((string)(this[this.tableUtenti.emailColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'email\' in table \'Utenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'email\' nella tabella \'Utenti\' è DBNull.", e); } } set { @@ -1679,7 +1679,7 @@ namespace ETS_Data { return ((string)(this[this.tableUtenti.siglaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'sigla\' in table \'Utenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'sigla\' nella tabella \'Utenti\' è DBNull.", e); } } set { @@ -1695,7 +1695,7 @@ namespace ETS_Data { return ((string)(this[this.tableUtenti.attivoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'attivo\' in table \'Utenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'attivo\' nella tabella \'Utenti\' è DBNull.", e); } } set { @@ -1830,7 +1830,7 @@ namespace ETS_Data { return ((string)(this[this.tableDiritti.valoreColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'valore\' in table \'Diritti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'valore\' nella tabella \'Diritti\' è DBNull.", e); } } set { @@ -1917,7 +1917,7 @@ namespace ETS_Data { return ((string)(this[this.tableFunzioni.DescrizioneColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Descrizione\' in table \'Funzioni\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Descrizione\' nella tabella \'Funzioni\' è DBNull.", e); } } set { @@ -1982,7 +1982,7 @@ namespace ETS_Data { return ((string)(this[this.tableModuli.DESCRIZIONEColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DESCRIZIONE\' in table \'Moduli\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DESCRIZIONE\' nella tabella \'Moduli\' è DBNull.", e); } } set { @@ -4137,28 +4137,29 @@ SELECT COD_MODULO, DESCRIZIONE FROM Moduli WHERE (COD_MODULO = @COD_MODULO)"; } if (((this._utentiTableAdapter != null) && (this.MatchTableAdapterConnection(this._utentiTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._dirittiTableAdapter != null) && (this.MatchTableAdapterConnection(this._dirittiTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._funzioniTableAdapter != null) && (this.MatchTableAdapterConnection(this._funzioniTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._moduliTableAdapter != null) && (this.MatchTableAdapterConnection(this._moduliTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } global::System.Data.IDbConnection workConnection = this.Connection; if ((workConnection == null)) { - throw new global::System.ApplicationException("TableAdapterManager contains no connection information. Set each TableAdapterMana" + - "ger TableAdapter property to a valid TableAdapter instance."); + throw new global::System.ApplicationException("TableAdapterManager non contiene informazioni di connessione. Impostare la propri" + + "età TableAdapter di ciascun oggetto TableAdapterManager su un\'istanza TableAdapt" + + "er valida."); } bool workConnOpened = false; if (((workConnection.State & global::System.Data.ConnectionState.Broken) @@ -4171,8 +4172,8 @@ SELECT COD_MODULO, DESCRIZIONE FROM Moduli WHERE (COD_MODULO = @COD_MODULO)"; } global::System.Data.IDbTransaction workTransaction = workConnection.BeginTransaction(); if ((workTransaction == null)) { - throw new global::System.ApplicationException("The transaction cannot begin. The current data connection does not support transa" + - "ctions or the current state is not allowing the transaction to begin."); + throw new global::System.ApplicationException("Impossibile avviare la transazione. La connessione dati corrente non supporta le " + + "transazioni oppure lo stato corrente non consente l\'avvio della transazione."); } global::System.Collections.Generic.List allChangedRows = new global::System.Collections.Generic.List(); global::System.Collections.Generic.List allAddedRows = new global::System.Collections.Generic.List(); diff --git a/ETS_Data/DS_WebScip.Designer.cs b/ETS_Data/DS_WebScip.Designer.cs index 4823206..f9d3dc3 100644 --- a/ETS_Data/DS_WebScip.Designer.cs +++ b/ETS_Data/DS_WebScip.Designer.cs @@ -1,10 +1,10 @@ //------------------------------------------------------------------------------ // -// This code was generated by a tool. -// Runtime Version:4.0.30319.33440 +// Il codice è stato generato da uno strumento. +// Versione runtime:4.0.30319.42000 // -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se +// il codice viene rigenerato. // //------------------------------------------------------------------------------ @@ -3260,7 +3260,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tabletmpFileUt.DataRicColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataRic\' in table \'tmpFileUt\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataRic\' nella tabella \'tmpFileUt\' è DBNull.", e); } } set { @@ -3276,7 +3276,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tabletmpFileUt.DataDocColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataDoc\' in table \'tmpFileUt\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataDoc\' nella tabella \'tmpFileUt\' è DBNull.", e); } } set { @@ -3292,7 +3292,7 @@ namespace ETS_Data { return ((string)(this[this.tabletmpFileUt.NumeroCommessaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'NumeroCommessa\' in table \'tmpFileUt\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'NumeroCommessa\' nella tabella \'tmpFileUt\' è DBNull.", e); } } set { @@ -3308,7 +3308,7 @@ namespace ETS_Data { return ((string)(this[this.tabletmpFileUt.AnnoCommessaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'AnnoCommessa\' in table \'tmpFileUt\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'AnnoCommessa\' nella tabella \'tmpFileUt\' è DBNull.", e); } } set { @@ -3324,7 +3324,7 @@ namespace ETS_Data { return ((string)(this[this.tabletmpFileUt.FaseColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Fase\' in table \'tmpFileUt\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Fase\' nella tabella \'tmpFileUt\' è DBNull.", e); } } set { @@ -3340,7 +3340,7 @@ namespace ETS_Data { return ((string)(this[this.tabletmpFileUt.MittenteColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Mittente\' in table \'tmpFileUt\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Mittente\' nella tabella \'tmpFileUt\' è DBNull.", e); } } set { @@ -3356,7 +3356,7 @@ namespace ETS_Data { return ((string)(this[this.tabletmpFileUt.OggettoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Oggetto\' in table \'tmpFileUt\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Oggetto\' nella tabella \'tmpFileUt\' è DBNull.", e); } } set { @@ -3372,7 +3372,7 @@ namespace ETS_Data { return ((string)(this[this.tabletmpFileUt.InOutColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'InOut\' in table \'tmpFileUt\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'InOut\' nella tabella \'tmpFileUt\' è DBNull.", e); } } set { @@ -3510,7 +3510,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbDocumenti.NomeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Nome\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Nome\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3548,7 +3548,7 @@ namespace ETS_Data { return ((int)(this[this.tabletbDocumenti.NrProtocolloColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'NrProtocollo\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'NrProtocollo\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3564,7 +3564,7 @@ namespace ETS_Data { return ((int)(this[this.tabletbDocumenti.NumeroColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Numero\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Numero\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3580,7 +3580,7 @@ namespace ETS_Data { return ((int)(this[this.tabletbDocumenti.AnnoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Anno\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Anno\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3596,7 +3596,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tabletbDocumenti.DataRicColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataRic\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataRic\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3612,7 +3612,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tabletbDocumenti.DataDocColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataDoc\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataDoc\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3628,7 +3628,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbDocumenti.CommessaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Commessa\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Commessa\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3644,7 +3644,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbDocumenti.NumeroCommessaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'NumeroCommessa\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'NumeroCommessa\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3660,7 +3660,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbDocumenti.AnnoCommessaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'AnnoCommessa\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'AnnoCommessa\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3676,7 +3676,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbDocumenti.FaseColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Fase\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Fase\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3692,7 +3692,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbDocumenti.FonteColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Fonte\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Fonte\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3708,7 +3708,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbDocumenti.OggettoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Oggetto\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Oggetto\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3724,7 +3724,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbDocumenti.InOutColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'InOut\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'InOut\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3740,7 +3740,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbDocumenti.TipologiaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Tipologia\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Tipologia\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3756,7 +3756,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbDocumenti.RiferimentiColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Riferimenti\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Riferimenti\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3772,7 +3772,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbDocumenti.AttivitaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Attivita\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Attivita\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3788,7 +3788,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbDocumenti.AutoreColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Autore\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Autore\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3804,7 +3804,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbDocumenti.SAColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'SA\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'SA\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3820,7 +3820,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbDocumenti.RedattoreColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Redattore\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Redattore\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3836,7 +3836,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbDocumenti.SRColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'SR\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'SR\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3852,7 +3852,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbDocumenti.AnnotazioniColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Annotazioni\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Annotazioni\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3868,7 +3868,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbDocumenti.LegUtenteColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'LegUtente\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'LegUtente\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3884,7 +3884,8 @@ namespace ETS_Data { return ((string)(this[this.tabletbDocumenti.NoteSystemManagerColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'NoteSystemManager\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'NoteSystemManager\' nella tabella \'tbDocumenti\' è DBNull." + + "", e); } } set { @@ -3900,7 +3901,7 @@ namespace ETS_Data { return ((int)(this[this.tabletbDocumenti.SpuntaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Spunta\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Spunta\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3916,7 +3917,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbDocumenti.Num_FatturaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Num_Fattura\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Num_Fattura\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -3943,7 +3944,7 @@ namespace ETS_Data { return ((bool)(this[this.tabletbDocumenti.isRedColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'isRed\' in table \'tbDocumenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'isRed\' nella tabella \'tbDocumenti\' è DBNull.", e); } } set { @@ -4308,7 +4309,7 @@ namespace ETS_Data { return ((string)(this[this.tableAnagFasi.codFaseColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'codFase\' in table \'AnagFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'codFase\' nella tabella \'AnagFasi\' è DBNull.", e); } } set { @@ -4324,7 +4325,7 @@ namespace ETS_Data { return ((string)(this[this.tableAnagFasi.descrizioneColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'descrizione\' in table \'AnagFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'descrizione\' nella tabella \'AnagFasi\' è DBNull.", e); } } set { @@ -4340,7 +4341,7 @@ namespace ETS_Data { return ((string)(this[this.tableAnagFasi.folderNameColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'folderName\' in table \'AnagFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'folderName\' nella tabella \'AnagFasi\' è DBNull.", e); } } set { @@ -4536,7 +4537,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbMetaDataSet.CommessaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Commessa\' in table \'tbMetaDataSet\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Commessa\' nella tabella \'tbMetaDataSet\' è DBNull.", e); } } set { @@ -4552,7 +4553,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbMetaDataSet.FaseColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Fase\' in table \'tbMetaDataSet\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Fase\' nella tabella \'tbMetaDataSet\' è DBNull.", e); } } set { @@ -4568,7 +4569,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbMetaDataSet.FonteColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Fonte\' in table \'tbMetaDataSet\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Fonte\' nella tabella \'tbMetaDataSet\' è DBNull.", e); } } set { @@ -4584,7 +4585,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbMetaDataSet.OggettoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Oggetto\' in table \'tbMetaDataSet\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Oggetto\' nella tabella \'tbMetaDataSet\' è DBNull.", e); } } set { @@ -4600,7 +4601,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tabletbMetaDataSet.DataRicColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataRic\' in table \'tbMetaDataSet\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataRic\' nella tabella \'tbMetaDataSet\' è DBNull.", e); } } set { @@ -4616,7 +4617,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tabletbMetaDataSet.DataDocColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataDoc\' in table \'tbMetaDataSet\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataDoc\' nella tabella \'tbMetaDataSet\' è DBNull.", e); } } set { @@ -4632,7 +4633,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbMetaDataSet.pathColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'path\' in table \'tbMetaDataSet\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'path\' nella tabella \'tbMetaDataSet\' è DBNull.", e); } } set { @@ -4648,7 +4649,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbMetaDataSet.InOutColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'InOut\' in table \'tbMetaDataSet\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'InOut\' nella tabella \'tbMetaDataSet\' è DBNull.", e); } } set { @@ -4664,7 +4665,7 @@ namespace ETS_Data { return ((bool)(this[this.tabletbMetaDataSet.isProtoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'isProto\' in table \'tbMetaDataSet\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'isProto\' nella tabella \'tbMetaDataSet\' è DBNull.", e); } } set { @@ -4680,7 +4681,7 @@ namespace ETS_Data { return ((bool)(this[this.tabletbMetaDataSet.isRedColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'isRed\' in table \'tbMetaDataSet\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'isRed\' nella tabella \'tbMetaDataSet\' è DBNull.", e); } } set { @@ -4696,7 +4697,7 @@ namespace ETS_Data { return ((string)(this[this.tabletbMetaDataSet.tagsColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'tags\' in table \'tbMetaDataSet\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'tags\' nella tabella \'tbMetaDataSet\' è DBNull.", e); } } set { @@ -4859,7 +4860,8 @@ namespace ETS_Data { return ((string)(this[this.tablestp_userLoginRefreshDb.msecExecColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'msecExec\' in table \'stp_userLoginRefreshDb\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'msecExec\' nella tabella \'stp_userLoginRefreshDb\' è DBNul" + + "l.", e); } } set { @@ -10746,38 +10748,39 @@ SELECT userId, setName, Commessa, Fase, Fonte, Oggetto, DataRic, DataDoc, path, } if (((this._tmpFileUtTableAdapter != null) && (this.MatchTableAdapterConnection(this._tmpFileUtTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._tbDocumentiTableAdapter != null) && (this.MatchTableAdapterConnection(this._tbDocumentiTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._anagFasiTableAdapter != null) && (this.MatchTableAdapterConnection(this._anagFasiTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._anagTagsTableAdapter != null) && (this.MatchTableAdapterConnection(this._anagTagsTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._tags2DocTableAdapter != null) && (this.MatchTableAdapterConnection(this._tags2DocTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._tbMetaDataSetTableAdapter != null) && (this.MatchTableAdapterConnection(this._tbMetaDataSetTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } global::System.Data.IDbConnection workConnection = this.Connection; if ((workConnection == null)) { - throw new global::System.ApplicationException("TableAdapterManager contains no connection information. Set each TableAdapterMana" + - "ger TableAdapter property to a valid TableAdapter instance."); + throw new global::System.ApplicationException("TableAdapterManager non contiene informazioni di connessione. Impostare la propri" + + "età TableAdapter di ciascun oggetto TableAdapterManager su un\'istanza TableAdapt" + + "er valida."); } bool workConnOpened = false; if (((workConnection.State & global::System.Data.ConnectionState.Broken) @@ -10790,8 +10793,8 @@ SELECT userId, setName, Commessa, Fase, Fonte, Oggetto, DataRic, DataDoc, path, } global::System.Data.IDbTransaction workTransaction = workConnection.BeginTransaction(); if ((workTransaction == null)) { - throw new global::System.ApplicationException("The transaction cannot begin. The current data connection does not support transa" + - "ctions or the current state is not allowing the transaction to begin."); + throw new global::System.ApplicationException("Impossibile avviare la transazione. La connessione dati corrente non supporta le " + + "transazioni oppure lo stato corrente non consente l\'avvio della transazione."); } global::System.Collections.Generic.List allChangedRows = new global::System.Collections.Generic.List(); global::System.Collections.Generic.List allAddedRows = new global::System.Collections.Generic.List(); diff --git a/ETS_Data/DS_utils.Designer.cs b/ETS_Data/DS_utils.Designer.cs index 2602504..9f974bf 100644 --- a/ETS_Data/DS_utils.Designer.cs +++ b/ETS_Data/DS_utils.Designer.cs @@ -1,10 +1,10 @@ //------------------------------------------------------------------------------ // -// This code was generated by a tool. -// Runtime Version:4.0.30319.18051 +// Il codice è stato generato da uno strumento. +// Versione runtime:4.0.30319.42000 // -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se +// il codice viene rigenerato. // //------------------------------------------------------------------------------ @@ -5274,7 +5274,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_selCommesse.labelColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'label\' in table \'v_selCommesse\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'label\' nella tabella \'v_selCommesse\' è DBNull.", e); } } set { @@ -5328,7 +5328,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_selFasi.labelColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'label\' in table \'v_selFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'label\' nella tabella \'v_selFasi\' è DBNull.", e); } } set { @@ -5371,7 +5371,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_tbDocs_selCommesse.valueColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'value\' in table \'v_tbDocs_selCommesse\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'value\' nella tabella \'v_tbDocs_selCommesse\' è DBNull.", e); } } set { @@ -5387,7 +5387,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_tbDocs_selCommesse.labelColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'label\' in table \'v_tbDocs_selCommesse\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'label\' nella tabella \'v_tbDocs_selCommesse\' è DBNull.", e); } } set { @@ -5442,7 +5442,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_tbDocs_selFasi.valueColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'value\' in table \'v_tbDocs_selFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'value\' nella tabella \'v_tbDocs_selFasi\' è DBNull.", e); } } set { @@ -5458,7 +5458,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_tbDocs_selFasi.labelColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'label\' in table \'v_tbDocs_selFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'label\' nella tabella \'v_tbDocs_selFasi\' è DBNull.", e); } } set { @@ -5513,7 +5513,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_tbDocs_selFonti.valueColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'value\' in table \'v_tbDocs_selFonti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'value\' nella tabella \'v_tbDocs_selFonti\' è DBNull.", e); } } set { @@ -5529,7 +5529,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_tbDocs_selFonti.labelColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'label\' in table \'v_tbDocs_selFonti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'label\' nella tabella \'v_tbDocs_selFonti\' è DBNull.", e); } } set { @@ -5584,7 +5584,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_tbDocs_selOggetto.valueColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'value\' in table \'v_tbDocs_selOggetto\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'value\' nella tabella \'v_tbDocs_selOggetto\' è DBNull.", e); } } set { @@ -5600,7 +5600,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_tbDocs_selOggetto.labelColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'label\' in table \'v_tbDocs_selOggetto\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'label\' nella tabella \'v_tbDocs_selOggetto\' è DBNull.", e); } } set { @@ -5692,7 +5692,7 @@ namespace ETS_Data { return ((int)(this[this.tablestp_calcolaProtocollo.AnnoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Anno\' in table \'stp_calcolaProtocollo\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Anno\' nella tabella \'stp_calcolaProtocollo\' è DBNull.", e); } } set { @@ -5708,8 +5708,8 @@ namespace ETS_Data { return ((int)(this[this.tablestp_calcolaProtocollo.nextNrProtoOldColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'nextNrProtoOld\' in table \'stp_calcolaProtocollo\' is DBNull." + - "", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'nextNrProtoOld\' nella tabella \'stp_calcolaProtocollo\' è " + + "DBNull.", e); } } set { @@ -5725,7 +5725,8 @@ namespace ETS_Data { return ((int)(this[this.tablestp_calcolaProtocollo.nextProtoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'nextProto\' in table \'stp_calcolaProtocollo\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'nextProto\' nella tabella \'stp_calcolaProtocollo\' è DBNul" + + "l.", e); } } set { @@ -5803,7 +5804,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_selEmailFornitori.EmailColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Email\' in table \'v_selEmailFornitori\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Email\' nella tabella \'v_selEmailFornitori\' è DBNull.", e); } } set { @@ -5872,7 +5873,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_tbDocs_selRedattore.valueColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'value\' in table \'v_tbDocs_selRedattore\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'value\' nella tabella \'v_tbDocs_selRedattore\' è DBNull.", e); } } set { @@ -5888,7 +5889,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_tbDocs_selRedattore.labelColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'label\' in table \'v_tbDocs_selRedattore\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'label\' nella tabella \'v_tbDocs_selRedattore\' è DBNull.", e); } } set { @@ -6013,7 +6014,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_selFonti_expl.TelefonoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Telefono\' in table \'v_selFonti_expl\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Telefono\' nella tabella \'v_selFonti_expl\' è DBNull.", e); } } set { @@ -6029,7 +6030,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_selFonti_expl.FaxColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Fax\' in table \'v_selFonti_expl\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Fax\' nella tabella \'v_selFonti_expl\' è DBNull.", e); } } set { @@ -6045,7 +6046,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_selFonti_expl.EmailColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Email\' in table \'v_selFonti_expl\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Email\' nella tabella \'v_selFonti_expl\' è DBNull.", e); } } set { @@ -6134,7 +6135,7 @@ namespace ETS_Data { return ((string)(this[this.tableElencoOpzioni.opzioneColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'opzione\' in table \'ElencoOpzioni\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'opzione\' nella tabella \'ElencoOpzioni\' è DBNull.", e); } } set { @@ -6177,7 +6178,7 @@ namespace ETS_Data { return ((string)(this[this.tablefiles.NomeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Nome\' in table \'files\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Nome\' nella tabella \'files\' è DBNull.", e); } } set { @@ -6193,7 +6194,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tablefiles.dataCreazColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'dataCreaz\' in table \'files\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'dataCreaz\' nella tabella \'files\' è DBNull.", e); } } set { @@ -6209,7 +6210,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tablefiles.dataModColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'dataMod\' in table \'files\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'dataMod\' nella tabella \'files\' è DBNull.", e); } } set { @@ -6225,7 +6226,7 @@ namespace ETS_Data { return ((double)(this[this.tablefiles.sizeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'size\' in table \'files\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'size\' nella tabella \'files\' è DBNull.", e); } } set { @@ -10294,18 +10295,19 @@ SELECT CodTipo, ordine, opzione FROM ElencoOpzioni WHERE (CodTipo = @CodTipo) AN } if (((this._anagSuggestTagsTableAdapter != null) && (this.MatchTableAdapterConnection(this._anagSuggestTagsTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._elencoOpzioniTableAdapter != null) && (this.MatchTableAdapterConnection(this._elencoOpzioniTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } global::System.Data.IDbConnection workConnection = this.Connection; if ((workConnection == null)) { - throw new global::System.ApplicationException("TableAdapterManager contains no connection information. Set each TableAdapterMana" + - "ger TableAdapter property to a valid TableAdapter instance."); + throw new global::System.ApplicationException("TableAdapterManager non contiene informazioni di connessione. Impostare la propri" + + "età TableAdapter di ciascun oggetto TableAdapterManager su un\'istanza TableAdapt" + + "er valida."); } bool workConnOpened = false; if (((workConnection.State & global::System.Data.ConnectionState.Broken) @@ -10318,8 +10320,8 @@ SELECT CodTipo, ordine, opzione FROM ElencoOpzioni WHERE (CodTipo = @CodTipo) AN } global::System.Data.IDbTransaction workTransaction = workConnection.BeginTransaction(); if ((workTransaction == null)) { - throw new global::System.ApplicationException("The transaction cannot begin. The current data connection does not support transa" + - "ctions or the current state is not allowing the transaction to begin."); + throw new global::System.ApplicationException("Impossibile avviare la transazione. La connessione dati corrente non supporta le " + + "transazioni oppure lo stato corrente non consente l\'avvio della transazione."); } global::System.Collections.Generic.List allChangedRows = new global::System.Collections.Generic.List(); global::System.Collections.Generic.List allAddedRows = new global::System.Collections.Generic.List(); diff --git a/ETS_Data/DS_utilsProjEts.Designer.cs b/ETS_Data/DS_utilsProjEts.Designer.cs index 39655a6..166b64a 100644 --- a/ETS_Data/DS_utilsProjEts.Designer.cs +++ b/ETS_Data/DS_utilsProjEts.Designer.cs @@ -1,10 +1,10 @@ //------------------------------------------------------------------------------ // -// This code was generated by a tool. -// Runtime Version:4.0.30319.33440 +// Il codice è stato generato da uno strumento. +// Versione runtime:4.0.30319.42000 // -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se +// il codice viene rigenerato. // //------------------------------------------------------------------------------ @@ -5514,7 +5514,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_selClienti.labelColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'label\' in table \'v_selClienti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'label\' nella tabella \'v_selClienti\' è DBNull.", e); } } set { @@ -5568,7 +5568,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_selProgetti.labelColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'label\' in table \'v_selProgetti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'label\' nella tabella \'v_selProgetti\' è DBNull.", e); } } set { @@ -5644,7 +5644,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_selCommesse.labelColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'label\' in table \'v_selCommesse\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'label\' nella tabella \'v_selCommesse\' è DBNull.", e); } } set { @@ -5660,7 +5660,7 @@ namespace ETS_Data { return ((int)(this[this.tablev_selCommesse.conditioColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'conditio\' in table \'v_selCommesse\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'conditio\' nella tabella \'v_selCommesse\' è DBNull.", e); } } set { @@ -5715,7 +5715,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_selCC.labelColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'label\' in table \'v_selCC\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'label\' nella tabella \'v_selCC\' è DBNull.", e); } } set { @@ -5731,7 +5731,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_selCC.valueColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'value\' in table \'v_selCC\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'value\' nella tabella \'v_selCC\' è DBNull.", e); } } set { @@ -5786,7 +5786,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_selCC_all.valueColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'value\' in table \'v_selCC_all\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'value\' nella tabella \'v_selCC_all\' è DBNull.", e); } } set { @@ -5802,7 +5802,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_selCC_all.labelColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'label\' in table \'v_selCC_all\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'label\' nella tabella \'v_selCC_all\' è DBNull.", e); } } set { @@ -5883,7 +5883,7 @@ namespace ETS_Data { return ((int)(this[this.tablev_selYear.nColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'n\' in table \'v_selYear\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'n\' nella tabella \'v_selYear\' è DBNull.", e); } } set { @@ -5948,7 +5948,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_selFornitoriCla.conditioColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'conditio\' in table \'v_selFornitoriCla\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'conditio\' nella tabella \'v_selFornitoriCla\' è DBNull.", e); } } set { @@ -5991,7 +5991,7 @@ namespace ETS_Data { return ((int)(this[this.tablev_FattureETS.NumeroCommessaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'NumeroCommessa\' in table \'v_FattureETS\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'NumeroCommessa\' nella tabella \'v_FattureETS\' è DBNull.", e); } } set { @@ -6007,7 +6007,7 @@ namespace ETS_Data { return ((int)(this[this.tablev_FattureETS.AnnoCommessaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'AnnoCommessa\' in table \'v_FattureETS\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'AnnoCommessa\' nella tabella \'v_FattureETS\' è DBNull.", e); } } set { @@ -6023,7 +6023,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_FattureETS.CommessaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Commessa\' in table \'v_FattureETS\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Commessa\' nella tabella \'v_FattureETS\' è DBNull.", e); } } set { @@ -6061,7 +6061,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_FattureETS.TipologiaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Tipologia\' in table \'v_FattureETS\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Tipologia\' nella tabella \'v_FattureETS\' è DBNull.", e); } } set { @@ -6077,7 +6077,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_FattureETS.NrFattColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'NrFatt\' in table \'v_FattureETS\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'NrFatt\' nella tabella \'v_FattureETS\' è DBNull.", e); } } set { @@ -6093,7 +6093,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tablev_FattureETS.DataFattColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataFatt\' in table \'v_FattureETS\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataFatt\' nella tabella \'v_FattureETS\' è DBNull.", e); } } set { @@ -6109,7 +6109,7 @@ namespace ETS_Data { return ((decimal)(this[this.tablev_FattureETS.ImportoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Importo\' in table \'v_FattureETS\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Importo\' nella tabella \'v_FattureETS\' è DBNull.", e); } } set { @@ -6235,7 +6235,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableStorico_DatiCommessa.DataEvColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataEv\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataEv\' nella tabella \'Storico_DatiCommessa\' è DBNull.", e); } } set { @@ -6251,7 +6251,7 @@ namespace ETS_Data { return ((int)(this[this.tableStorico_DatiCommessa.idxFaseColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'idxFase\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'idxFase\' nella tabella \'Storico_DatiCommessa\' è DBNull.", e); } } set { @@ -6267,7 +6267,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommessa.AnnoCommessaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'AnnoCommessa\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'AnnoCommessa\' nella tabella \'Storico_DatiCommessa\' è DBN" + + "ull.", e); } } set { @@ -6283,7 +6284,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommessa.NumeroCommessaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'NumeroCommessa\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'NumeroCommessa\' nella tabella \'Storico_DatiCommessa\' è D" + + "BNull.", e); } } set { @@ -6299,7 +6301,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommessa.nicknameColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'nickname\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'nickname\' nella tabella \'Storico_DatiCommessa\' è DBNull." + + "", e); } } set { @@ -6315,7 +6318,7 @@ namespace ETS_Data { return ((bool)(this[this.tableStorico_DatiCommessa.CheckOkColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'CheckOk\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'CheckOk\' nella tabella \'Storico_DatiCommessa\' è DBNull.", e); } } set { @@ -6331,7 +6334,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommessa.CapoCommessaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'CapoCommessa\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'CapoCommessa\' nella tabella \'Storico_DatiCommessa\' è DBN" + + "ull.", e); } } set { @@ -6347,7 +6351,7 @@ namespace ETS_Data { return ((bool)(this[this.tableStorico_DatiCommessa.SQCColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'SQC\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'SQC\' nella tabella \'Storico_DatiCommessa\' è DBNull.", e); } } set { @@ -6363,7 +6367,8 @@ namespace ETS_Data { return ((bool)(this[this.tableStorico_DatiCommessa.PubblicoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Pubblico\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Pubblico\' nella tabella \'Storico_DatiCommessa\' è DBNull." + + "", e); } } set { @@ -6379,8 +6384,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommessa.EnteProcuratoreColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'EnteProcuratore\' in table \'Storico_DatiCommessa\' is DBNull." + - "", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'EnteProcuratore\' nella tabella \'Storico_DatiCommessa\' è " + + "DBNull.", e); } } set { @@ -6396,7 +6401,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableStorico_DatiCommessa.ImportoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Importo\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Importo\' nella tabella \'Storico_DatiCommessa\' è DBNull.", e); } } set { @@ -6412,7 +6417,8 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableStorico_DatiCommessa.DataAperturaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataApertura\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataApertura\' nella tabella \'Storico_DatiCommessa\' è DBN" + + "ull.", e); } } set { @@ -6428,7 +6434,8 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableStorico_DatiCommessa.DataScadenzaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataScadenza\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataScadenza\' nella tabella \'Storico_DatiCommessa\' è DBN" + + "ull.", e); } } set { @@ -6444,7 +6451,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommessa.rifOffertaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'rifOfferta\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'rifOfferta\' nella tabella \'Storico_DatiCommessa\' è DBNul" + + "l.", e); } } set { @@ -6460,7 +6468,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommessa.urlOffertaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'urlOfferta\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'urlOfferta\' nella tabella \'Storico_DatiCommessa\' è DBNul" + + "l.", e); } } set { @@ -6476,7 +6485,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommessa.rifOrdineColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'rifOrdine\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'rifOrdine\' nella tabella \'Storico_DatiCommessa\' è DBNull" + + ".", e); } } set { @@ -6492,7 +6502,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommessa.urlOrdineColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'urlOrdine\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'urlOrdine\' nella tabella \'Storico_DatiCommessa\' è DBNull" + + ".", e); } } set { @@ -6508,7 +6519,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommessa.IndirizzoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Indirizzo\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Indirizzo\' nella tabella \'Storico_DatiCommessa\' è DBNull" + + ".", e); } } set { @@ -6524,7 +6536,7 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommessa.NoteColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Note\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Note\' nella tabella \'Storico_DatiCommessa\' è DBNull.", e); } } set { @@ -6540,7 +6552,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommessa.NomeCommColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'NomeComm\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'NomeComm\' nella tabella \'Storico_DatiCommessa\' è DBNull." + + "", e); } } set { @@ -6556,7 +6569,8 @@ namespace ETS_Data { return ((decimal)(this[this.tableStorico_DatiCommessa.ImportoIntegrColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'ImportoIntegr\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'ImportoIntegr\' nella tabella \'Storico_DatiCommessa\' è DB" + + "Null.", e); } } set { @@ -6572,7 +6586,8 @@ namespace ETS_Data { return ((decimal)(this[this.tableStorico_DatiCommessa.ImportoFornExtColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'ImportoFornExt\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'ImportoFornExt\' nella tabella \'Storico_DatiCommessa\' è D" + + "BNull.", e); } } set { @@ -6588,7 +6603,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableStorico_DatiCommessa.BCWSColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'BCWS\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'BCWS\' nella tabella \'Storico_DatiCommessa\' è DBNull.", e); } } set { @@ -6604,7 +6619,8 @@ namespace ETS_Data { return ((decimal)(this[this.tableStorico_DatiCommessa.BCWSFasiColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'BCWSFasi\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'BCWSFasi\' nella tabella \'Storico_DatiCommessa\' è DBNull." + + "", e); } } set { @@ -6620,7 +6636,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommessa.modificatoDaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'modificatoDa\' in table \'Storico_DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'modificatoDa\' nella tabella \'Storico_DatiCommessa\' è DBN" + + "ull.", e); } } set { @@ -6962,7 +6979,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableStorico_DatiCommForn.DataEvColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataEv\' in table \'Storico_DatiCommForn\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataEv\' nella tabella \'Storico_DatiCommForn\' è DBNull.", e); } } set { @@ -6978,7 +6995,7 @@ namespace ETS_Data { return ((int)(this[this.tableStorico_DatiCommForn.idxDCFColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'idxDCF\' in table \'Storico_DatiCommForn\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'idxDCF\' nella tabella \'Storico_DatiCommForn\' è DBNull.", e); } } set { @@ -6994,7 +7011,7 @@ namespace ETS_Data { return ((int)(this[this.tableStorico_DatiCommForn.idxFaseColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'idxFase\' in table \'Storico_DatiCommForn\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'idxFase\' nella tabella \'Storico_DatiCommForn\' è DBNull.", e); } } set { @@ -7010,7 +7027,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommForn.FornitoreColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Fornitore\' in table \'Storico_DatiCommForn\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Fornitore\' nella tabella \'Storico_DatiCommForn\' è DBNull" + + ".", e); } } set { @@ -7026,7 +7044,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommForn.ReferenteColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Referente\' in table \'Storico_DatiCommForn\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Referente\' nella tabella \'Storico_DatiCommForn\' è DBNull" + + ".", e); } } set { @@ -7042,7 +7061,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableStorico_DatiCommForn.ImportoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Importo\' in table \'Storico_DatiCommForn\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Importo\' nella tabella \'Storico_DatiCommForn\' è DBNull.", e); } } set { @@ -7058,7 +7077,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommForn.rifOrdineFornColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'rifOrdineForn\' in table \'Storico_DatiCommForn\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'rifOrdineForn\' nella tabella \'Storico_DatiCommForn\' è DB" + + "Null.", e); } } set { @@ -7074,7 +7094,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommForn.urlOrdineFornColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'urlOrdineForn\' in table \'Storico_DatiCommForn\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'urlOrdineForn\' nella tabella \'Storico_DatiCommForn\' è DB" + + "Null.", e); } } set { @@ -7090,7 +7111,7 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommForn.NoteColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Note\' in table \'Storico_DatiCommForn\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Note\' nella tabella \'Storico_DatiCommForn\' è DBNull.", e); } } set { @@ -7106,7 +7127,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommForn.modificatoDaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'modificatoDa\' in table \'Storico_DatiCommForn\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'modificatoDa\' nella tabella \'Storico_DatiCommForn\' è DBN" + + "ull.", e); } } set { @@ -7268,7 +7290,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableStorico_DatiCommInteg.DataEvColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataEv\' in table \'Storico_DatiCommInteg\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataEv\' nella tabella \'Storico_DatiCommInteg\' è DBNull.", e); } } set { @@ -7284,7 +7306,7 @@ namespace ETS_Data { return ((int)(this[this.tableStorico_DatiCommInteg.idxDCIColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'idxDCI\' in table \'Storico_DatiCommInteg\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'idxDCI\' nella tabella \'Storico_DatiCommInteg\' è DBNull.", e); } } set { @@ -7300,7 +7322,8 @@ namespace ETS_Data { return ((int)(this[this.tableStorico_DatiCommInteg.idxFaseColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'idxFase\' in table \'Storico_DatiCommInteg\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'idxFase\' nella tabella \'Storico_DatiCommInteg\' è DBNull." + + "", e); } } set { @@ -7316,7 +7339,8 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableStorico_DatiCommInteg.DataRifColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataRif\' in table \'Storico_DatiCommInteg\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataRif\' nella tabella \'Storico_DatiCommInteg\' è DBNull." + + "", e); } } set { @@ -7332,7 +7356,8 @@ namespace ETS_Data { return ((decimal)(this[this.tableStorico_DatiCommInteg.ImportoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Importo\' in table \'Storico_DatiCommInteg\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Importo\' nella tabella \'Storico_DatiCommInteg\' è DBNull." + + "", e); } } set { @@ -7348,7 +7373,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommInteg.rifOffertaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'rifOfferta\' in table \'Storico_DatiCommInteg\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'rifOfferta\' nella tabella \'Storico_DatiCommInteg\' è DBNu" + + "ll.", e); } } set { @@ -7364,7 +7390,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommInteg.urlOffertaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'urlOfferta\' in table \'Storico_DatiCommInteg\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'urlOfferta\' nella tabella \'Storico_DatiCommInteg\' è DBNu" + + "ll.", e); } } set { @@ -7380,7 +7407,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommInteg.rifOrdineColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'rifOrdine\' in table \'Storico_DatiCommInteg\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'rifOrdine\' nella tabella \'Storico_DatiCommInteg\' è DBNul" + + "l.", e); } } set { @@ -7396,7 +7424,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommInteg.urlOrdineColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'urlOrdine\' in table \'Storico_DatiCommInteg\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'urlOrdine\' nella tabella \'Storico_DatiCommInteg\' è DBNul" + + "l.", e); } } set { @@ -7412,7 +7441,7 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommInteg.NoteColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Note\' in table \'Storico_DatiCommInteg\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Note\' nella tabella \'Storico_DatiCommInteg\' è DBNull.", e); } } set { @@ -7428,7 +7457,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiCommInteg.modificatoDaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'modificatoDa\' in table \'Storico_DatiCommInteg\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'modificatoDa\' nella tabella \'Storico_DatiCommInteg\' è DB" + + "Null.", e); } } set { @@ -7602,7 +7632,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableStorico_DatiFase.DataEvColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataEv\' in table \'Storico_DatiFase\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataEv\' nella tabella \'Storico_DatiFase\' è DBNull.", e); } } set { @@ -7618,7 +7648,7 @@ namespace ETS_Data { return ((int)(this[this.tableStorico_DatiFase.idxFaseColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'idxFase\' in table \'Storico_DatiFase\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'idxFase\' nella tabella \'Storico_DatiFase\' è DBNull.", e); } } set { @@ -7634,7 +7664,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableStorico_DatiFase.DataScadColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataScad\' in table \'Storico_DatiFase\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataScad\' nella tabella \'Storico_DatiFase\' è DBNull.", e); } } set { @@ -7650,7 +7680,7 @@ namespace ETS_Data { return ((bool)(this[this.tableStorico_DatiFase.ScadFixedColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'ScadFixed\' in table \'Storico_DatiFase\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'ScadFixed\' nella tabella \'Storico_DatiFase\' è DBNull.", e); } } set { @@ -7666,7 +7696,7 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiFase.NoteColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Note\' in table \'Storico_DatiFase\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Note\' nella tabella \'Storico_DatiFase\' è DBNull.", e); } } set { @@ -7682,7 +7712,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_DatiFase.modificatoDaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'modificatoDa\' in table \'Storico_DatiFase\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'modificatoDa\' nella tabella \'Storico_DatiFase\' è DBNull." + + "", e); } } set { @@ -7796,7 +7827,8 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableStorico_BdgtRisorseFasi.DataEvColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataEv\' in table \'Storico_BdgtRisorseFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataEv\' nella tabella \'Storico_BdgtRisorseFasi\' è DBNull" + + ".", e); } } set { @@ -7812,7 +7844,8 @@ namespace ETS_Data { return ((int)(this[this.tableStorico_BdgtRisorseFasi.idxFaseColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'idxFase\' in table \'Storico_BdgtRisorseFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'idxFase\' nella tabella \'Storico_BdgtRisorseFasi\' è DBNul" + + "l.", e); } } set { @@ -7828,8 +7861,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_BdgtRisorseFasi.CodTipoRisorsaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'CodTipoRisorsa\' in table \'Storico_BdgtRisorseFasi\' is DBNul" + - "l.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'CodTipoRisorsa\' nella tabella \'Storico_BdgtRisorseFasi\' " + + "è DBNull.", e); } } set { @@ -7845,7 +7878,8 @@ namespace ETS_Data { return ((decimal)(this[this.tableStorico_BdgtRisorseFasi.OreBdgtColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'OreBdgt\' in table \'Storico_BdgtRisorseFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'OreBdgt\' nella tabella \'Storico_BdgtRisorseFasi\' è DBNul" + + "l.", e); } } set { @@ -7861,7 +7895,8 @@ namespace ETS_Data { return ((decimal)(this[this.tableStorico_BdgtRisorseFasi.CostoBdgtColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'CostoBdgt\' in table \'Storico_BdgtRisorseFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'CostoBdgt\' nella tabella \'Storico_BdgtRisorseFasi\' è DBN" + + "ull.", e); } } set { @@ -7877,7 +7912,8 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableStorico_BdgtRisorseFasi.DataRifColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataRif\' in table \'Storico_BdgtRisorseFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataRif\' nella tabella \'Storico_BdgtRisorseFasi\' è DBNul" + + "l.", e); } } set { @@ -7893,8 +7929,8 @@ namespace ETS_Data { return ((string)(this[this.tableStorico_BdgtRisorseFasi.modificatoDaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'modificatoDa\' in table \'Storico_BdgtRisorseFasi\' is DBNull." + - "", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'modificatoDa\' nella tabella \'Storico_BdgtRisorseFasi\' è " + + "DBNull.", e); } } set { @@ -14607,33 +14643,34 @@ SELECT idxEv, DataEv, idxFase, CodTipoRisorsa, OreBdgt, CostoBdgt, DataRif, modi } if (((this._storico_DatiCommessaTableAdapter != null) && (this.MatchTableAdapterConnection(this._storico_DatiCommessaTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._storico_DatiCommFornTableAdapter != null) && (this.MatchTableAdapterConnection(this._storico_DatiCommFornTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._storico_DatiCommIntegTableAdapter != null) && (this.MatchTableAdapterConnection(this._storico_DatiCommIntegTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._storico_DatiFaseTableAdapter != null) && (this.MatchTableAdapterConnection(this._storico_DatiFaseTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._storico_BdgtRisorseFasiTableAdapter != null) && (this.MatchTableAdapterConnection(this._storico_BdgtRisorseFasiTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } global::System.Data.IDbConnection workConnection = this.Connection; if ((workConnection == null)) { - throw new global::System.ApplicationException("TableAdapterManager contains no connection information. Set each TableAdapterMana" + - "ger TableAdapter property to a valid TableAdapter instance."); + throw new global::System.ApplicationException("TableAdapterManager non contiene informazioni di connessione. Impostare la propri" + + "età TableAdapter di ciascun oggetto TableAdapterManager su un\'istanza TableAdapt" + + "er valida."); } bool workConnOpened = false; if (((workConnection.State & global::System.Data.ConnectionState.Broken) @@ -14646,8 +14683,8 @@ SELECT idxEv, DataEv, idxFase, CodTipoRisorsa, OreBdgt, CostoBdgt, DataRif, modi } global::System.Data.IDbTransaction workTransaction = workConnection.BeginTransaction(); if ((workTransaction == null)) { - throw new global::System.ApplicationException("The transaction cannot begin. The current data connection does not support transa" + - "ctions or the current state is not allowing the transaction to begin."); + throw new global::System.ApplicationException("Impossibile avviare la transazione. La connessione dati corrente non supporta le " + + "transazioni oppure lo stato corrente non consente l\'avvio della transazione."); } global::System.Collections.Generic.List allChangedRows = new global::System.Collections.Generic.List(); global::System.Collections.Generic.List allAddedRows = new global::System.Collections.Generic.List(); diff --git a/ETS_Data/DS_utilsProjEts.cs b/ETS_Data/DS_utilsProjEts.cs index 7f0ab3b..fb8e90c 100644 --- a/ETS_Data/DS_utilsProjEts.cs +++ b/ETS_Data/DS_utilsProjEts.cs @@ -1,6 +1,8 @@ -namespace ETS_Data { - - - public partial class DS_utilsProjEts { - } +namespace ETS_Data +{ + + + public partial class DS_utilsProjEts + { + } } diff --git a/ETS_Data/DS_utilsWebShip.Designer.cs b/ETS_Data/DS_utilsWebShip.Designer.cs index 1b3ab68..1a85cc0 100644 --- a/ETS_Data/DS_utilsWebShip.Designer.cs +++ b/ETS_Data/DS_utilsWebShip.Designer.cs @@ -1,10 +1,10 @@ //------------------------------------------------------------------------------ // -// This code was generated by a tool. -// Runtime Version:4.0.30319.18051 +// Il codice è stato generato da uno strumento. +// Versione runtime:4.0.30319.42000 // -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se +// il codice viene rigenerato. // //------------------------------------------------------------------------------ @@ -559,7 +559,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_selDoc.valueColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'value\' in table \'v_selDoc\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'value\' nella tabella \'v_selDoc\' è DBNull.", e); } } set { @@ -575,7 +575,7 @@ namespace ETS_Data { return ((string)(this[this.tablev_selDoc.labelColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'label\' in table \'v_selDoc\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'label\' nella tabella \'v_selDoc\' è DBNull.", e); } } set { @@ -959,8 +959,9 @@ namespace ETS_Data.DS_utilsWebShipTableAdapters { } global::System.Data.IDbConnection workConnection = this.Connection; if ((workConnection == null)) { - throw new global::System.ApplicationException("TableAdapterManager contains no connection information. Set each TableAdapterMana" + - "ger TableAdapter property to a valid TableAdapter instance."); + throw new global::System.ApplicationException("TableAdapterManager non contiene informazioni di connessione. Impostare la propri" + + "età TableAdapter di ciascun oggetto TableAdapterManager su un\'istanza TableAdapt" + + "er valida."); } bool workConnOpened = false; if (((workConnection.State & global::System.Data.ConnectionState.Broken) @@ -973,8 +974,8 @@ namespace ETS_Data.DS_utilsWebShipTableAdapters { } global::System.Data.IDbTransaction workTransaction = workConnection.BeginTransaction(); if ((workTransaction == null)) { - throw new global::System.ApplicationException("The transaction cannot begin. The current data connection does not support transa" + - "ctions or the current state is not allowing the transaction to begin."); + throw new global::System.ApplicationException("Impossibile avviare la transazione. La connessione dati corrente non supporta le " + + "transazioni oppure lo stato corrente non consente l\'avvio della transazione."); } global::System.Collections.Generic.List allChangedRows = new global::System.Collections.Generic.List(); global::System.Collections.Generic.List allAddedRows = new global::System.Collections.Generic.List(); diff --git a/ETS_Data/DataLayer_AnagGen.Designer.cs b/ETS_Data/DataLayer_AnagGen.Designer.cs index 75b0f1a..14f6dbc 100644 --- a/ETS_Data/DataLayer_AnagGen.Designer.cs +++ b/ETS_Data/DataLayer_AnagGen.Designer.cs @@ -1,10 +1,10 @@ //------------------------------------------------------------------------------ // -// This code was generated by a tool. -// Runtime Version:4.0.30319.33440 +// Il codice è stato generato da uno strumento. +// Versione runtime:4.0.30319.42000 // -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se +// il codice viene rigenerato. // //------------------------------------------------------------------------------ @@ -3852,7 +3852,7 @@ namespace ETS_Data { return ((string)(this[this.tableCDC.DESCRIZIONEColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DESCRIZIONE\' in table \'CDC\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DESCRIZIONE\' nella tabella \'CDC\' è DBNull.", e); } } set { @@ -3868,7 +3868,7 @@ namespace ETS_Data { return ((string)(this[this.tableCDC.POSIZIONEColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'POSIZIONE\' in table \'CDC\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'POSIZIONE\' nella tabella \'CDC\' è DBNull.", e); } } set { @@ -3956,7 +3956,7 @@ namespace ETS_Data { return ((string)(this[this.tableMODULO.DESCRIZIONEColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DESCRIZIONE\' in table \'MODULO\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DESCRIZIONE\' nella tabella \'MODULO\' è DBNull.", e); } } set { @@ -4021,7 +4021,7 @@ namespace ETS_Data { return ((string)(this[this.tableFUNZIONE.DescrizioneColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Descrizione\' in table \'FUNZIONE\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Descrizione\' nella tabella \'FUNZIONE\' è DBNull.", e); } } set { @@ -4108,7 +4108,7 @@ namespace ETS_Data { return ((int)(this[this.tablePermessi.GRUPPOColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'GRUPPO\' in table \'Permessi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'GRUPPO\' nella tabella \'Permessi\' è DBNull.", e); } } set { @@ -4124,7 +4124,7 @@ namespace ETS_Data { return ((int)(this[this.tablePermessi.NUMEROColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'NUMERO\' in table \'Permessi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'NUMERO\' nella tabella \'Permessi\' è DBNull.", e); } } set { @@ -4140,7 +4140,7 @@ namespace ETS_Data { return ((string)(this[this.tablePermessi.NOMEColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'NOME\' in table \'Permessi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'NOME\' nella tabella \'Permessi\' è DBNull.", e); } } set { @@ -4156,7 +4156,7 @@ namespace ETS_Data { return ((string)(this[this.tablePermessi.DESCRIZIONEColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DESCRIZIONE\' in table \'Permessi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DESCRIZIONE\' nella tabella \'Permessi\' è DBNull.", e); } } set { @@ -4268,7 +4268,7 @@ namespace ETS_Data { return ((string)(this[this.tablePermessi2Funzione.READWRITEColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'READWRITE\' in table \'Permessi2Funzione\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'READWRITE\' nella tabella \'Permessi2Funzione\' è DBNull.", e); } } set { @@ -4377,7 +4377,7 @@ namespace ETS_Data { return ((string)(this[this.tableDIRITTI.VALUEColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'VALUE\' in table \'DIRITTI\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'VALUE\' nella tabella \'DIRITTI\' è DBNull.", e); } } set { @@ -4464,7 +4464,7 @@ namespace ETS_Data { return ((string)(this[this.tableUTENTE.MATRICOLAColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'MATRICOLA\' in table \'UTENTE\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'MATRICOLA\' nella tabella \'UTENTE\' è DBNull.", e); } } set { @@ -4480,7 +4480,7 @@ namespace ETS_Data { return ((string)(this[this.tableUTENTE.COD_SOCIETAColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'COD_SOCIETA\' in table \'UTENTE\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'COD_SOCIETA\' nella tabella \'UTENTE\' è DBNull.", e); } } set { @@ -4496,7 +4496,7 @@ namespace ETS_Data { return ((string)(this[this.tableUTENTE.COGNOMEColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'COGNOME\' in table \'UTENTE\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'COGNOME\' nella tabella \'UTENTE\' è DBNull.", e); } } set { @@ -4512,7 +4512,7 @@ namespace ETS_Data { return ((string)(this[this.tableUTENTE.NOMEColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'NOME\' in table \'UTENTE\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'NOME\' nella tabella \'UTENTE\' è DBNull.", e); } } set { @@ -4528,7 +4528,7 @@ namespace ETS_Data { return ((string)(this[this.tableUTENTE.COD_CDCColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'COD_CDC\' in table \'UTENTE\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'COD_CDC\' nella tabella \'UTENTE\' è DBNull.", e); } } set { @@ -4544,7 +4544,7 @@ namespace ETS_Data { return ((string)(this[this.tableUTENTE.EMAILColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'EMAIL\' in table \'UTENTE\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'EMAIL\' nella tabella \'UTENTE\' è DBNull.", e); } } set { @@ -4571,7 +4571,7 @@ namespace ETS_Data { return ((string)(this[this.tableUTENTE.SIGLAColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'SIGLA\' in table \'UTENTE\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'SIGLA\' nella tabella \'UTENTE\' è DBNull.", e); } } set { @@ -4587,7 +4587,7 @@ namespace ETS_Data { return ((string)(this[this.tableUTENTE.COD_LINGUAColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'COD_LINGUA\' in table \'UTENTE\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'COD_LINGUA\' nella tabella \'UTENTE\' è DBNull.", e); } } set { @@ -4603,7 +4603,7 @@ namespace ETS_Data { return ((string)(this[this.tableUTENTE.ATTIVOColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'ATTIVO\' in table \'UTENTE\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'ATTIVO\' nella tabella \'UTENTE\' è DBNull.", e); } } set { @@ -4619,7 +4619,7 @@ namespace ETS_Data { return ((string)(this[this.tableUTENTE.DOMINIOColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DOMINIO\' in table \'UTENTE\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DOMINIO\' nella tabella \'UTENTE\' è DBNull.", e); } } set { @@ -4803,7 +4803,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableLogUpdateDb.DataColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Data\' in table \'LogUpdateDb\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Data\' nella tabella \'LogUpdateDb\' è DBNull.", e); } } set { @@ -4857,7 +4857,7 @@ namespace ETS_Data { return ((string)(this[this.tableUserDataExt.DominioColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Dominio\' in table \'UserDataExt\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Dominio\' nella tabella \'UserDataExt\' è DBNull.", e); } } set { @@ -4873,7 +4873,7 @@ namespace ETS_Data { return ((string)(this[this.tableUserDataExt.EmailColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Email\' in table \'UserDataExt\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Email\' nella tabella \'UserDataExt\' è DBNull.", e); } } set { @@ -4889,7 +4889,7 @@ namespace ETS_Data { return ((string)(this[this.tableUserDataExt.LinguaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Lingua\' in table \'UserDataExt\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Lingua\' nella tabella \'UserDataExt\' è DBNull.", e); } } set { @@ -4905,7 +4905,7 @@ namespace ETS_Data { return ((string)(this[this.tableUserDataExt.Cod_SocietaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Cod_Societa\' in table \'UserDataExt\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Cod_Societa\' nella tabella \'UserDataExt\' è DBNull.", e); } } set { @@ -4921,7 +4921,7 @@ namespace ETS_Data { return ((string)(this[this.tableUserDataExt.MatricolaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Matricola\' in table \'UserDataExt\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Matricola\' nella tabella \'UserDataExt\' è DBNull.", e); } } set { @@ -4937,7 +4937,7 @@ namespace ETS_Data { return ((string)(this[this.tableUserDataExt.Cod_CDCColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Cod_CDC\' in table \'UserDataExt\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Cod_CDC\' nella tabella \'UserDataExt\' è DBNull.", e); } } set { @@ -4953,7 +4953,7 @@ namespace ETS_Data { return ((string)(this[this.tableUserDataExt.SiglaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Sigla\' in table \'UserDataExt\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Sigla\' nella tabella \'UserDataExt\' è DBNull.", e); } } set { @@ -5090,7 +5090,7 @@ namespace ETS_Data { return ((string)(this[this.tableUserData.PasswdColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Passwd\' in table \'UserData\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Passwd\' nella tabella \'UserData\' è DBNull.", e); } } set { @@ -5106,7 +5106,7 @@ namespace ETS_Data { return ((string)(this[this.tableUserData.CognomeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Cognome\' in table \'UserData\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Cognome\' nella tabella \'UserData\' è DBNull.", e); } } set { @@ -5122,7 +5122,7 @@ namespace ETS_Data { return ((string)(this[this.tableUserData.NomeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Nome\' in table \'UserData\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Nome\' nella tabella \'UserData\' è DBNull.", e); } } set { @@ -5138,7 +5138,7 @@ namespace ETS_Data { return ((string)(this[this.tableUserData.AttivoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Attivo\' in table \'UserData\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Attivo\' nella tabella \'UserData\' è DBNull.", e); } } set { diff --git a/ETS_Data/Ds_ProjEts.Designer.cs b/ETS_Data/Ds_ProjEts.Designer.cs index 005ad20..4ced034 100644 --- a/ETS_Data/Ds_ProjEts.Designer.cs +++ b/ETS_Data/Ds_ProjEts.Designer.cs @@ -1,10 +1,10 @@ //------------------------------------------------------------------------------ // -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 +// Il codice è stato generato da uno strumento. +// Versione runtime:4.0.30319.42000 // -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se +// il codice viene rigenerato. // //------------------------------------------------------------------------------ @@ -8785,7 +8785,7 @@ namespace ETS_Data { return ((string)(this[this.tableAnagProgetti.descrProjColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'descrProj\' in table \'AnagProgetti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'descrProj\' nella tabella \'AnagProgetti\' è DBNull.", e); } } set { @@ -8801,7 +8801,7 @@ namespace ETS_Data { return ((int)(this[this.tableAnagProgetti.OldIdxColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'OldIdx\' in table \'AnagProgetti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'OldIdx\' nella tabella \'AnagProgetti\' è DBNull.", e); } } set { @@ -8828,7 +8828,7 @@ namespace ETS_Data { return ((string)(this[this.tableAnagProgetti.codExtColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'codExt\' in table \'AnagProgetti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'codExt\' nella tabella \'AnagProgetti\' è DBNull.", e); } } set { @@ -8844,7 +8844,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableAnagProgetti.avvioColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'avvio\' in table \'AnagProgetti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'avvio\' nella tabella \'AnagProgetti\' è DBNull.", e); } } set { @@ -8860,7 +8860,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableAnagProgetti.chiusuraColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'chiusura\' in table \'AnagProgetti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'chiusura\' nella tabella \'AnagProgetti\' è DBNull.", e); } } set { @@ -8876,7 +8876,7 @@ namespace ETS_Data { return ((string)(this[this.tableAnagProgetti.RagSocialeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'RagSociale\' in table \'AnagProgetti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'RagSociale\' nella tabella \'AnagProgetti\' è DBNull.", e); } } set { @@ -8892,7 +8892,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableAnagProgetti.budgetTimeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'budgetTime\' in table \'AnagProgetti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'budgetTime\' nella tabella \'AnagProgetti\' è DBNull.", e); } } set { @@ -8908,7 +8908,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableAnagProgetti.budgetMoneyColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'budgetMoney\' in table \'AnagProgetti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'budgetMoney\' nella tabella \'AnagProgetti\' è DBNull.", e); } } set { @@ -8924,7 +8924,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableAnagProgetti.totOreColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'totOre\' in table \'AnagProgetti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'totOre\' nella tabella \'AnagProgetti\' è DBNull.", e); } } set { @@ -9085,7 +9085,7 @@ namespace ETS_Data { return ((int)(this[this.tableAnagFasi.idxProgettoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'idxProgetto\' in table \'AnagFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'idxProgetto\' nella tabella \'AnagFasi\' è DBNull.", e); } } set { @@ -9123,7 +9123,7 @@ namespace ETS_Data { return ((string)(this[this.tableAnagFasi.nomeFaseColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'nomeFase\' in table \'AnagFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'nomeFase\' nella tabella \'AnagFasi\' è DBNull.", e); } } set { @@ -9139,7 +9139,7 @@ namespace ETS_Data { return ((string)(this[this.tableAnagFasi.descrizioneFaseColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'descrizioneFase\' in table \'AnagFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'descrizioneFase\' nella tabella \'AnagFasi\' è DBNull.", e); } } set { @@ -9155,7 +9155,7 @@ namespace ETS_Data { return ((bool)(this[this.tableAnagFasi.enableTimeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'enableTime\' in table \'AnagFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'enableTime\' nella tabella \'AnagFasi\' è DBNull.", e); } } set { @@ -9171,7 +9171,7 @@ namespace ETS_Data { return ((bool)(this[this.tableAnagFasi.enableMoneyColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'enableMoney\' in table \'AnagFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'enableMoney\' nella tabella \'AnagFasi\' è DBNull.", e); } } set { @@ -9198,7 +9198,7 @@ namespace ETS_Data { return ((string)(this[this.tableAnagFasi.codClasseColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'codClasse\' in table \'AnagFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'codClasse\' nella tabella \'AnagFasi\' è DBNull.", e); } } set { @@ -9214,7 +9214,7 @@ namespace ETS_Data { return ((string)(this[this.tableAnagFasi.codExtColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'codExt\' in table \'AnagFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'codExt\' nella tabella \'AnagFasi\' è DBNull.", e); } } set { @@ -9230,7 +9230,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableAnagFasi.budgetTimeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'budgetTime\' in table \'AnagFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'budgetTime\' nella tabella \'AnagFasi\' è DBNull.", e); } } set { @@ -9246,7 +9246,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableAnagFasi.budgetMoneyColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'budgetMoney\' in table \'AnagFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'budgetMoney\' nella tabella \'AnagFasi\' è DBNull.", e); } } set { @@ -9262,7 +9262,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableAnagFasi.totOreColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'totOre\' in table \'AnagFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'totOre\' nella tabella \'AnagFasi\' è DBNull.", e); } } set { @@ -9457,7 +9457,7 @@ namespace ETS_Data { return ((int)(this[this.tableDatiCommessa.AnnoCommessaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'AnnoCommessa\' in table \'DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'AnnoCommessa\' nella tabella \'DatiCommessa\' è DBNull.", e); } } set { @@ -9473,7 +9473,7 @@ namespace ETS_Data { return ((int)(this[this.tableDatiCommessa.NumeroCommessaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'NumeroCommessa\' in table \'DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'NumeroCommessa\' nella tabella \'DatiCommessa\' è DBNull.", e); } } set { @@ -9500,7 +9500,7 @@ namespace ETS_Data { return ((bool)(this[this.tableDatiCommessa.CheckOkColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'CheckOk\' in table \'DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'CheckOk\' nella tabella \'DatiCommessa\' è DBNull.", e); } } set { @@ -9516,7 +9516,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommessa.CapoCommessaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'CapoCommessa\' in table \'DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'CapoCommessa\' nella tabella \'DatiCommessa\' è DBNull.", e); } } set { @@ -9554,7 +9554,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommessa.EnteProcuratoreColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'EnteProcuratore\' in table \'DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'EnteProcuratore\' nella tabella \'DatiCommessa\' è DBNull.", e); } } set { @@ -9581,7 +9581,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableDatiCommessa.DataAperturaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataApertura\' in table \'DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataApertura\' nella tabella \'DatiCommessa\' è DBNull.", e); } } set { @@ -9597,7 +9597,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommessa.rifOffertaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'rifOfferta\' in table \'DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'rifOfferta\' nella tabella \'DatiCommessa\' è DBNull.", e); } } set { @@ -9613,7 +9613,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommessa.urlOffertaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'urlOfferta\' in table \'DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'urlOfferta\' nella tabella \'DatiCommessa\' è DBNull.", e); } } set { @@ -9629,7 +9629,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommessa.rifOrdineColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'rifOrdine\' in table \'DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'rifOrdine\' nella tabella \'DatiCommessa\' è DBNull.", e); } } set { @@ -9645,7 +9645,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommessa.urlOrdineColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'urlOrdine\' in table \'DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'urlOrdine\' nella tabella \'DatiCommessa\' è DBNull.", e); } } set { @@ -9661,7 +9661,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommessa.IndirizzoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Indirizzo\' in table \'DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Indirizzo\' nella tabella \'DatiCommessa\' è DBNull.", e); } } set { @@ -9677,7 +9677,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommessa.NoteColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Note\' in table \'DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Note\' nella tabella \'DatiCommessa\' è DBNull.", e); } } set { @@ -9693,7 +9693,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommessa.NomeCommColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'NomeComm\' in table \'DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'NomeComm\' nella tabella \'DatiCommessa\' è DBNull.", e); } } set { @@ -9709,7 +9709,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableDatiCommessa.ImportoIntegrColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'ImportoIntegr\' in table \'DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'ImportoIntegr\' nella tabella \'DatiCommessa\' è DBNull.", e); } } set { @@ -9725,7 +9725,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableDatiCommessa.ImportoFornExtColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'ImportoFornExt\' in table \'DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'ImportoFornExt\' nella tabella \'DatiCommessa\' è DBNull.", e); } } set { @@ -9741,7 +9741,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableDatiCommessa.BCWSColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'BCWS\' in table \'DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'BCWS\' nella tabella \'DatiCommessa\' è DBNull.", e); } } set { @@ -9757,7 +9757,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableDatiCommessa.DataScadenzaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataScadenza\' in table \'DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataScadenza\' nella tabella \'DatiCommessa\' è DBNull.", e); } } set { @@ -9773,7 +9773,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableDatiCommessa.BCWSFasiColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'BCWSFasi\' in table \'DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'BCWSFasi\' nella tabella \'DatiCommessa\' è DBNull.", e); } } set { @@ -9789,7 +9789,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommessa.modificatoDaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'modificatoDa\' in table \'DatiCommessa\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'modificatoDa\' nella tabella \'DatiCommessa\' è DBNull.", e); } } set { @@ -10103,7 +10103,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommForn.FornitoreColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Fornitore\' in table \'DatiCommForn\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Fornitore\' nella tabella \'DatiCommForn\' è DBNull.", e); } } set { @@ -10119,7 +10119,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommForn.ReferenteColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Referente\' in table \'DatiCommForn\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Referente\' nella tabella \'DatiCommForn\' è DBNull.", e); } } set { @@ -10135,7 +10135,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableDatiCommForn.ImportoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Importo\' in table \'DatiCommForn\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Importo\' nella tabella \'DatiCommForn\' è DBNull.", e); } } set { @@ -10151,7 +10151,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommForn.rifOrdineFornColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'rifOrdineForn\' in table \'DatiCommForn\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'rifOrdineForn\' nella tabella \'DatiCommForn\' è DBNull.", e); } } set { @@ -10167,7 +10167,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommForn.urlOrdineFornColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'urlOrdineForn\' in table \'DatiCommForn\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'urlOrdineForn\' nella tabella \'DatiCommForn\' è DBNull.", e); } } set { @@ -10183,7 +10183,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommForn.NoteColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Note\' in table \'DatiCommForn\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Note\' nella tabella \'DatiCommForn\' è DBNull.", e); } } set { @@ -10199,7 +10199,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommForn.modificatoDaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'modificatoDa\' in table \'DatiCommForn\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'modificatoDa\' nella tabella \'DatiCommForn\' è DBNull.", e); } } set { @@ -10347,7 +10347,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableDatiCommInteg.DataRifColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataRif\' in table \'DatiCommInteg\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataRif\' nella tabella \'DatiCommInteg\' è DBNull.", e); } } set { @@ -10363,7 +10363,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableDatiCommInteg.ImportoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Importo\' in table \'DatiCommInteg\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Importo\' nella tabella \'DatiCommInteg\' è DBNull.", e); } } set { @@ -10379,7 +10379,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommInteg.rifOffertaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'rifOfferta\' in table \'DatiCommInteg\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'rifOfferta\' nella tabella \'DatiCommInteg\' è DBNull.", e); } } set { @@ -10395,7 +10395,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommInteg.urlOffertaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'urlOfferta\' in table \'DatiCommInteg\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'urlOfferta\' nella tabella \'DatiCommInteg\' è DBNull.", e); } } set { @@ -10411,7 +10411,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommInteg.rifOrdineColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'rifOrdine\' in table \'DatiCommInteg\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'rifOrdine\' nella tabella \'DatiCommInteg\' è DBNull.", e); } } set { @@ -10427,7 +10427,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommInteg.urlOrdineColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'urlOrdine\' in table \'DatiCommInteg\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'urlOrdine\' nella tabella \'DatiCommInteg\' è DBNull.", e); } } set { @@ -10443,7 +10443,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommInteg.NoteColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Note\' in table \'DatiCommInteg\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Note\' nella tabella \'DatiCommInteg\' è DBNull.", e); } } set { @@ -10459,7 +10459,7 @@ namespace ETS_Data { return ((string)(this[this.tableDatiCommInteg.modificatoDaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'modificatoDa\' in table \'DatiCommInteg\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'modificatoDa\' nella tabella \'DatiCommInteg\' è DBNull.", e); } } set { @@ -10597,7 +10597,7 @@ namespace ETS_Data { return ((int)(this[this.tableAnagCommFasi.idxProgettoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'idxProgetto\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'idxProgetto\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -10646,7 +10646,7 @@ namespace ETS_Data { return ((string)(this[this.tableAnagCommFasi.RagSocialeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'RagSociale\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'RagSociale\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -10673,7 +10673,7 @@ namespace ETS_Data { return ((string)(this[this.tableAnagCommFasi.descrProjColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'descrProj\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'descrProj\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -10689,7 +10689,7 @@ namespace ETS_Data { return ((string)(this[this.tableAnagCommFasi.nomeFaseColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'nomeFase\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'nomeFase\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -10705,7 +10705,7 @@ namespace ETS_Data { return ((string)(this[this.tableAnagCommFasi.descrizioneFaseColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'descrizioneFase\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'descrizioneFase\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -10721,7 +10721,7 @@ namespace ETS_Data { return ((bool)(this[this.tableAnagCommFasi.enableTimeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'enableTime\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'enableTime\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -10737,7 +10737,7 @@ namespace ETS_Data { return ((bool)(this[this.tableAnagCommFasi.enableMoneyColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'enableMoney\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'enableMoney\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -10764,7 +10764,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableAnagCommFasi.budgetTimeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'budgetTime\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'budgetTime\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -10780,7 +10780,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableAnagCommFasi.budgetMoneyColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'budgetMoney\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'budgetMoney\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -10796,7 +10796,7 @@ namespace ETS_Data { return ((string)(this[this.tableAnagCommFasi.codClasseColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'codClasse\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'codClasse\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -10812,7 +10812,7 @@ namespace ETS_Data { return ((string)(this[this.tableAnagCommFasi.codExtColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'codExt\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'codExt\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -10828,7 +10828,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableAnagCommFasi.totOreColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'totOre\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'totOre\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -10844,7 +10844,7 @@ namespace ETS_Data { return ((int)(this[this.tableAnagCommFasi.AnnoCommessaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'AnnoCommessa\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'AnnoCommessa\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -10860,7 +10860,7 @@ namespace ETS_Data { return ((int)(this[this.tableAnagCommFasi.NumeroCommessaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'NumeroCommessa\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'NumeroCommessa\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -10876,7 +10876,7 @@ namespace ETS_Data { return ((string)(this[this.tableAnagCommFasi.nickCommColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'nickComm\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'nickComm\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -10892,7 +10892,7 @@ namespace ETS_Data { return ((string)(this[this.tableAnagCommFasi.CapoCommessaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'CapoCommessa\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'CapoCommessa\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -10908,7 +10908,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableAnagCommFasi.BCWSColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'BCWS\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'BCWS\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -10924,7 +10924,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableAnagCommFasi.BCWSFasiColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'BCWSFasi\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'BCWSFasi\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -10940,7 +10940,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableAnagCommFasi.BCWSLordoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'BCWSLordo\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'BCWSLordo\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -10956,7 +10956,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableAnagCommFasi.ACWPFasi_moneyColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'ACWPFasi_money\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'ACWPFasi_money\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -10972,7 +10972,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableAnagCommFasi.ACWPFasi_timeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'ACWPFasi_time\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'ACWPFasi_time\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -10988,7 +10988,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableAnagCommFasi.FatturatoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Fatturato\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Fatturato\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -11004,7 +11004,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableAnagCommFasi.ratio_moneyColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'ratio_money\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'ratio_money\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -11020,7 +11020,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableAnagCommFasi.ratio_timeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'ratio_time\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'ratio_time\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -11036,7 +11036,8 @@ namespace ETS_Data { return ((decimal)(this[this.tableAnagCommFasi.ratioNetto_moneyColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'ratioNetto_money\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'ratioNetto_money\' nella tabella \'AnagCommFasi\' è DBNull." + + "", e); } } set { @@ -11052,7 +11053,7 @@ namespace ETS_Data { return ((string)(this[this.tableAnagCommFasi.LabelsColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Labels\' in table \'AnagCommFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Labels\' nella tabella \'AnagCommFasi\' è DBNull.", e); } } set { @@ -11406,7 +11407,7 @@ namespace ETS_Data { return ((int)(this[this.tableElencoFasiExpl.idxProgettoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'idxProgetto\' in table \'ElencoFasiExpl\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'idxProgetto\' nella tabella \'ElencoFasiExpl\' è DBNull.", e); } } set { @@ -11444,7 +11445,7 @@ namespace ETS_Data { return ((string)(this[this.tableElencoFasiExpl.nomeFaseColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'nomeFase\' in table \'ElencoFasiExpl\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'nomeFase\' nella tabella \'ElencoFasiExpl\' è DBNull.", e); } } set { @@ -11460,7 +11461,8 @@ namespace ETS_Data { return ((string)(this[this.tableElencoFasiExpl.descrizioneFaseColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'descrizioneFase\' in table \'ElencoFasiExpl\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'descrizioneFase\' nella tabella \'ElencoFasiExpl\' è DBNull" + + ".", e); } } set { @@ -11476,7 +11478,7 @@ namespace ETS_Data { return ((bool)(this[this.tableElencoFasiExpl.enableTimeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'enableTime\' in table \'ElencoFasiExpl\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'enableTime\' nella tabella \'ElencoFasiExpl\' è DBNull.", e); } } set { @@ -11492,7 +11494,7 @@ namespace ETS_Data { return ((bool)(this[this.tableElencoFasiExpl.enableMoneyColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'enableMoney\' in table \'ElencoFasiExpl\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'enableMoney\' nella tabella \'ElencoFasiExpl\' è DBNull.", e); } } set { @@ -11519,7 +11521,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableElencoFasiExpl.BCWS_timeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'BCWS_time\' in table \'ElencoFasiExpl\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'BCWS_time\' nella tabella \'ElencoFasiExpl\' è DBNull.", e); } } set { @@ -11535,7 +11537,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableElencoFasiExpl.BCWS_moneyColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'BCWS_money\' in table \'ElencoFasiExpl\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'BCWS_money\' nella tabella \'ElencoFasiExpl\' è DBNull.", e); } } set { @@ -11551,7 +11553,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableElencoFasiExpl.DataScadColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataScad\' in table \'ElencoFasiExpl\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataScad\' nella tabella \'ElencoFasiExpl\' è DBNull.", e); } } set { @@ -11567,7 +11569,7 @@ namespace ETS_Data { return ((bool)(this[this.tableElencoFasiExpl.ScadFixedColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'ScadFixed\' in table \'ElencoFasiExpl\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'ScadFixed\' nella tabella \'ElencoFasiExpl\' è DBNull.", e); } } set { @@ -11583,7 +11585,7 @@ namespace ETS_Data { return ((string)(this[this.tableElencoFasiExpl.NoteColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Note\' in table \'ElencoFasiExpl\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Note\' nella tabella \'ElencoFasiExpl\' è DBNull.", e); } } set { @@ -11599,7 +11601,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableElencoFasiExpl.ACWP_timeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'ACWP_time\' in table \'ElencoFasiExpl\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'ACWP_time\' nella tabella \'ElencoFasiExpl\' è DBNull.", e); } } set { @@ -11615,7 +11617,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableElencoFasiExpl.ACWP_moneyColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'ACWP_money\' in table \'ElencoFasiExpl\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'ACWP_money\' nella tabella \'ElencoFasiExpl\' è DBNull.", e); } } set { @@ -11631,7 +11633,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableElencoFasiExpl.percUtil_timeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'percUtil_time\' in table \'ElencoFasiExpl\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'percUtil_time\' nella tabella \'ElencoFasiExpl\' è DBNull.", e); } } set { @@ -11647,7 +11649,8 @@ namespace ETS_Data { return ((decimal)(this[this.tableElencoFasiExpl.percUtil_moneyColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'percUtil_money\' in table \'ElencoFasiExpl\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'percUtil_money\' nella tabella \'ElencoFasiExpl\' è DBNull." + + "", e); } } set { @@ -11868,7 +11871,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableBdgtRisorseFasi.OreBdgtColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'OreBdgt\' in table \'BdgtRisorseFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'OreBdgt\' nella tabella \'BdgtRisorseFasi\' è DBNull.", e); } } set { @@ -11884,7 +11887,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableBdgtRisorseFasi.CostoBdgtColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'CostoBdgt\' in table \'BdgtRisorseFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'CostoBdgt\' nella tabella \'BdgtRisorseFasi\' è DBNull.", e); } } set { @@ -11900,7 +11903,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableBdgtRisorseFasi.DataRifColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DataRif\' in table \'BdgtRisorseFasi\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DataRif\' nella tabella \'BdgtRisorseFasi\' è DBNull.", e); } } set { @@ -12000,7 +12003,8 @@ namespace ETS_Data { return ((string)(this[this.tableAnagTipoRisorse.DescrTipoRisorsaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DescrTipoRisorsa\' in table \'AnagTipoRisorse\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DescrTipoRisorsa\' nella tabella \'AnagTipoRisorse\' è DBNu" + + "ll.", e); } } set { @@ -12016,7 +12020,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableAnagTipoRisorse.costoOrarioColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'costoOrario\' in table \'AnagTipoRisorse\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'costoOrario\' nella tabella \'AnagTipoRisorse\' è DBNull.", e); } } set { @@ -12104,7 +12108,7 @@ namespace ETS_Data { return ((string)(this[this.tableDip2ATR.GruppoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Gruppo\' in table \'Dip2ATR\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Gruppo\' nella tabella \'Dip2ATR\' è DBNull.", e); } } set { @@ -12158,7 +12162,7 @@ namespace ETS_Data { return ((string)(this[this.tableDipendenti.matricolaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'matricola\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'matricola\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12174,7 +12178,7 @@ namespace ETS_Data { return ((string)(this[this.tableDipendenti.CFColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'CF\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'CF\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12190,7 +12194,7 @@ namespace ETS_Data { return ((string)(this[this.tableDipendenti.CognomeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Cognome\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Cognome\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12206,7 +12210,7 @@ namespace ETS_Data { return ((string)(this[this.tableDipendenti.NomeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Nome\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Nome\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12222,7 +12226,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableDipendenti.dataNascitaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'dataNascita\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'dataNascita\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12238,7 +12242,7 @@ namespace ETS_Data { return ((string)(this[this.tableDipendenti.luogoNascitaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'luogoNascita\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'luogoNascita\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12254,7 +12258,7 @@ namespace ETS_Data { return ((string)(this[this.tableDipendenti.provNascitaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'provNascita\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'provNascita\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12270,7 +12274,7 @@ namespace ETS_Data { return ((string)(this[this.tableDipendenti.nazNascitaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'nazNascita\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'nazNascita\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12286,7 +12290,7 @@ namespace ETS_Data { return ((string)(this[this.tableDipendenti.codHwColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'codHw\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'codHw\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12302,7 +12306,7 @@ namespace ETS_Data { return ((string)(this[this.tableDipendenti.codOrarioColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'codOrario\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'codOrario\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12318,7 +12322,7 @@ namespace ETS_Data { return ((bool)(this[this.tableDipendenti.mailLastOpColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'mailLastOp\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'mailLastOp\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12334,7 +12338,7 @@ namespace ETS_Data { return ((bool)(this[this.tableDipendenti.mailDayColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'mailDay\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'mailDay\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12350,7 +12354,7 @@ namespace ETS_Data { return ((bool)(this[this.tableDipendenti.mailWeekColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'mailWeek\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'mailWeek\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12366,7 +12370,7 @@ namespace ETS_Data { return ((bool)(this[this.tableDipendenti.mailMonthColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'mailMonth\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'mailMonth\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12382,7 +12386,7 @@ namespace ETS_Data { return ((string)(this[this.tableDipendenti.emailColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'email\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'email\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12398,7 +12402,7 @@ namespace ETS_Data { return ((string)(this[this.tableDipendenti.authKeyColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'authKey\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'authKey\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12414,7 +12418,7 @@ namespace ETS_Data { return ((int)(this[this.tableDipendenti.numAuthColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'numAuth\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'numAuth\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12430,7 +12434,7 @@ namespace ETS_Data { return ((string)(this[this.tableDipendenti.WOL_MACColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'WOL_MAC\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'WOL_MAC\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12446,7 +12450,7 @@ namespace ETS_Data { return ((string)(this[this.tableDipendenti.dominioColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'dominio\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'dominio\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12462,7 +12466,7 @@ namespace ETS_Data { return ((string)(this[this.tableDipendenti.utenteColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'utente\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'utente\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12478,7 +12482,7 @@ namespace ETS_Data { return ((string)(this[this.tableDipendenti.codDipendenteExtColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'codDipendenteExt\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'codDipendenteExt\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12494,7 +12498,7 @@ namespace ETS_Data { return ((string)(this[this.tableDipendenti.gruppoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'gruppo\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'gruppo\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12510,7 +12514,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableDipendenti.dataAssunzioneColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'dataAssunzione\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'dataAssunzione\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12526,7 +12530,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableDipendenti.dataCessazioneColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'dataCessazione\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'dataCessazione\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12542,7 +12546,7 @@ namespace ETS_Data { return ((bool)(this[this.tableDipendenti.attivoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'attivo\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'attivo\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12558,7 +12562,7 @@ namespace ETS_Data { return ((string)(this[this.tableDipendenti.SIGLAColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'SIGLA\' in table \'Dipendenti\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'SIGLA\' nella tabella \'Dipendenti\' è DBNull.", e); } } set { @@ -12945,7 +12949,7 @@ namespace ETS_Data { return ((int)(this[this.tableBazaarRisorse.AllocazioneColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Allocazione\' in table \'BazaarRisorse\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Allocazione\' nella tabella \'BazaarRisorse\' è DBNull.", e); } } set { @@ -12961,7 +12965,7 @@ namespace ETS_Data { return ((string)(this[this.tableBazaarRisorse.SchemaWeekColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'SchemaWeek\' in table \'BazaarRisorse\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'SchemaWeek\' nella tabella \'BazaarRisorse\' è DBNull.", e); } } set { @@ -12977,7 +12981,7 @@ namespace ETS_Data { return ((int)(this[this.tableBazaarRisorse.OreTotColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'OreTot\' in table \'BazaarRisorse\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'OreTot\' nella tabella \'BazaarRisorse\' è DBNull.", e); } } set { @@ -13088,7 +13092,7 @@ namespace ETS_Data { return ((int)(this[this.tableImpiegoRisorse.OreTotColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'OreTot\' in table \'ImpiegoRisorse\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'OreTot\' nella tabella \'ImpiegoRisorse\' è DBNull.", e); } } set { @@ -13153,7 +13157,7 @@ namespace ETS_Data { return ((string)(this[this.tableReleasedWeek.UsernameADColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'UsernameAD\' in table \'ReleasedWeek\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'UsernameAD\' nella tabella \'ReleasedWeek\' è DBNull.", e); } } set { @@ -13169,7 +13173,7 @@ namespace ETS_Data { return ((global::System.DateTime)(this[this.tableReleasedWeek.dataConfColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'dataConf\' in table \'ReleasedWeek\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'dataConf\' nella tabella \'ReleasedWeek\' è DBNull.", e); } } set { @@ -13235,7 +13239,7 @@ namespace ETS_Data { return ((int)(this[this.tableResocontoComm.AnnoCommessaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'AnnoCommessa\' in table \'ResocontoComm\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'AnnoCommessa\' nella tabella \'ResocontoComm\' è DBNull.", e); } } set { @@ -13251,7 +13255,7 @@ namespace ETS_Data { return ((int)(this[this.tableResocontoComm.NumeroCommessaColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'NumeroCommessa\' in table \'ResocontoComm\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'NumeroCommessa\' nella tabella \'ResocontoComm\' è DBNull.", e); } } set { @@ -13289,7 +13293,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableResocontoComm.ImportoIntegrColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'ImportoIntegr\' in table \'ResocontoComm\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'ImportoIntegr\' nella tabella \'ResocontoComm\' è DBNull.", e); } } set { @@ -13305,7 +13309,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableResocontoComm.BCWSLordoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'BCWSLordo\' in table \'ResocontoComm\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'BCWSLordo\' nella tabella \'ResocontoComm\' è DBNull.", e); } } set { @@ -13321,7 +13325,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableResocontoComm.ImportoFornExtColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'ImportoFornExt\' in table \'ResocontoComm\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'ImportoFornExt\' nella tabella \'ResocontoComm\' è DBNull.", e); } } set { @@ -13337,7 +13341,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableResocontoComm.BCWSColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'BCWS\' in table \'ResocontoComm\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'BCWS\' nella tabella \'ResocontoComm\' è DBNull.", e); } } set { @@ -13353,7 +13357,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableResocontoComm.BCWSFasi_moneyColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'BCWSFasi_money\' in table \'ResocontoComm\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'BCWSFasi_money\' nella tabella \'ResocontoComm\' è DBNull.", e); } } set { @@ -13369,7 +13373,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableResocontoComm.BCWSFasi_timeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'BCWSFasi_time\' in table \'ResocontoComm\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'BCWSFasi_time\' nella tabella \'ResocontoComm\' è DBNull.", e); } } set { @@ -13385,7 +13389,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableResocontoComm.ACWPFasi_moneyColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'ACWPFasi_money\' in table \'ResocontoComm\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'ACWPFasi_money\' nella tabella \'ResocontoComm\' è DBNull.", e); } } set { @@ -13401,7 +13405,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableResocontoComm.ACWPFasi_timeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'ACWPFasi_time\' in table \'ResocontoComm\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'ACWPFasi_time\' nella tabella \'ResocontoComm\' è DBNull.", e); } } set { @@ -13417,7 +13421,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableResocontoComm.ratio_moneyColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'ratio_money\' in table \'ResocontoComm\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'ratio_money\' nella tabella \'ResocontoComm\' è DBNull.", e); } } set { @@ -13433,7 +13437,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableResocontoComm.ratio_timeColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'ratio_time\' in table \'ResocontoComm\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'ratio_time\' nella tabella \'ResocontoComm\' è DBNull.", e); } } set { @@ -13449,7 +13453,7 @@ namespace ETS_Data { return ((decimal)(this[this.tableResocontoComm.FatturatoColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'Fatturato\' in table \'ResocontoComm\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'Fatturato\' nella tabella \'ResocontoComm\' è DBNull.", e); } } set { @@ -13465,7 +13469,8 @@ namespace ETS_Data { return ((decimal)(this[this.tableResocontoComm.ratioNetto_moneyColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'ratioNetto_money\' in table \'ResocontoComm\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'ratioNetto_money\' nella tabella \'ResocontoComm\' è DBNull" + + ".", e); } } set { @@ -13675,7 +13680,7 @@ namespace ETS_Data { return ((string)(this[this.tableAnagLabels.DescrLabelColumn])); } catch (global::System.InvalidCastException e) { - throw new global::System.Data.StrongTypingException("The value for column \'DescrLabel\' in table \'AnagLabels\' is DBNull.", e); + throw new global::System.Data.StrongTypingException("Il valore della colonna \'DescrLabel\' nella tabella \'AnagLabels\' è DBNull.", e); } } set { @@ -24096,83 +24101,84 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND } if (((this._anagProgettiTableAdapter != null) && (this.MatchTableAdapterConnection(this._anagProgettiTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._anagFasiTableAdapter != null) && (this.MatchTableAdapterConnection(this._anagFasiTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._datiCommessaTableAdapter != null) && (this.MatchTableAdapterConnection(this._datiCommessaTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._datiCommFornTableAdapter != null) && (this.MatchTableAdapterConnection(this._datiCommFornTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._datiCommIntegTableAdapter != null) && (this.MatchTableAdapterConnection(this._datiCommIntegTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._bdgtRisorseFasiTableAdapter != null) && (this.MatchTableAdapterConnection(this._bdgtRisorseFasiTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._anagTipoRisorseTableAdapter != null) && (this.MatchTableAdapterConnection(this._anagTipoRisorseTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._dip2ATRTableAdapter != null) && (this.MatchTableAdapterConnection(this._dip2ATRTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._bazaarRisorseTableAdapter != null) && (this.MatchTableAdapterConnection(this._bazaarRisorseTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._impiegoRisorseTableAdapter != null) && (this.MatchTableAdapterConnection(this._impiegoRisorseTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._releasedWeekTableAdapter != null) && (this.MatchTableAdapterConnection(this._releasedWeekTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._anagLabelsTableAdapter != null) && (this.MatchTableAdapterConnection(this._anagLabelsTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._labelsCommTableAdapter != null) && (this.MatchTableAdapterConnection(this._labelsCommTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._tLockBazRATableAdapter != null) && (this.MatchTableAdapterConnection(this._tLockBazRATableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } if (((this._logEmailBazTableAdapter != null) && (this.MatchTableAdapterConnection(this._logEmailBazTableAdapter.Connection) == false))) { - throw new global::System.ArgumentException("All TableAdapters managed by a TableAdapterManager must use the same connection s" + - "tring."); + throw new global::System.ArgumentException("Tutti gli oggetti TableAdapter gestiti da TableAdapterManager devono utilizzare l" + + "a stessa stringa di connessione."); } global::System.Data.IDbConnection workConnection = this.Connection; if ((workConnection == null)) { - throw new global::System.ApplicationException("TableAdapterManager contains no connection information. Set each TableAdapterMana" + - "ger TableAdapter property to a valid TableAdapter instance."); + throw new global::System.ApplicationException("TableAdapterManager non contiene informazioni di connessione. Impostare la propri" + + "età TableAdapter di ciascun oggetto TableAdapterManager su un\'istanza TableAdapt" + + "er valida."); } bool workConnOpened = false; if (((workConnection.State & global::System.Data.ConnectionState.Broken) @@ -24185,8 +24191,8 @@ SELECT Anno, Sett, DtLastSend, SentBy FROM LogEmailBaz WHERE (Anno = @Anno) AND } global::System.Data.IDbTransaction workTransaction = workConnection.BeginTransaction(); if ((workTransaction == null)) { - throw new global::System.ApplicationException("The transaction cannot begin. The current data connection does not support transa" + - "ctions or the current state is not allowing the transaction to begin."); + throw new global::System.ApplicationException("Impossibile avviare la transazione. La connessione dati corrente non supporta le " + + "transazioni oppure lo stato corrente non consente l\'avvio della transazione."); } global::System.Collections.Generic.List allChangedRows = new global::System.Collections.Generic.List(); global::System.Collections.Generic.List allAddedRows = new global::System.Collections.Generic.List(); diff --git a/ETS_Data/Ds_ProjEts.cs b/ETS_Data/Ds_ProjEts.cs index 57d033a..31c3ebf 100644 --- a/ETS_Data/Ds_ProjEts.cs +++ b/ETS_Data/Ds_ProjEts.cs @@ -2,9 +2,9 @@ { - public partial class Ds_ProjEts - { - } + public partial class Ds_ProjEts + { + } } namespace ETS_Data { diff --git a/ETS_Data/ETS_Data.csproj b/ETS_Data/ETS_Data.csproj index f65358d..5115d00 100644 --- a/ETS_Data/ETS_Data.csproj +++ b/ETS_Data/ETS_Data.csproj @@ -1,5 +1,5 @@  - + Debug AnyCPU @@ -10,8 +10,9 @@ Properties ETS_Data ETS_Data - v4.0 + v4.6.2 512 + true @@ -21,6 +22,7 @@ DEBUG;TRACE prompt 4 + false pdbonly @@ -29,6 +31,7 @@ TRACE prompt 4 + false bin\WinLab\ @@ -45,6 +48,7 @@ true ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules true + false bin\ETS\ @@ -61,6 +65,7 @@ true ;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Team Tools\Static Analysis Tools\FxCop\\Rules true + false bin\pippo\ @@ -70,6 +75,7 @@ AnyCPU prompt MinimumRecommendedRules.ruleset + false @@ -77,11 +83,14 @@ ..\ETS-WS\packages\DocumentFormat.OpenXml.1.0\lib\DocumentFormat.OpenXml.dll - ..\PROJ-ETS\packages\NLog.4.2.3\lib\net40\NLog.dll - True + ..\PROJ-ETS\packages\NLog.4.4.11\lib\net40\NLog.dll + + + ..\PROJ-ETS\packages\StackExchange.Redis.1.2.4\lib\net46\StackExchange.Redis.dll + diff --git a/ETS_Data/NLog.config b/ETS_Data/NLog.config index 36df9f6..7a0f3aa 100644 --- a/ETS_Data/NLog.config +++ b/ETS_Data/NLog.config @@ -1,42 +1,41 @@ - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + diff --git a/ETS_Data/NLog.xsd b/ETS_Data/NLog.xsd index e59e4c6..c11f26a 100644 --- a/ETS_Data/NLog.xsd +++ b/ETS_Data/NLog.xsd @@ -42,7 +42,32 @@ - Pass NLog internal exceptions to the application. Default value is: false. + Throw an exception when there is an internal error. Default value is: false. + + + + + Throw an exception when there is a configuration error. If not set, determined by throwExceptions. + + + + + Gets or sets a value indicating whether Variables should be kept on configuration reload. Default value is: false. + + + + + Write internal NLog messages to the System.Diagnostics.Trace. Default value is: false. + + + + + Write timestamps for internal NLog messages. Default value is: true. + + + + + Use InvariantCulture as default culture instead of CurrentCulture. Default value is: false. @@ -169,7 +194,7 @@ - Name of the file to be included. The name is relative to the name of the current config file. + Name of the file to be included. You could use * wildcard. The name is relative to the name of the current config file. @@ -227,7 +252,6 @@ - @@ -240,41 +264,17 @@ - - - - - - - - - - - Name of the target. - - - - - Layout used to format log messages. - - - - - Indicates whether to add <!-- --> comments around all written texts. - - - - - + + @@ -286,6 +286,11 @@ Number of log events that should be processed in a batch by the lazy writer thread. + + + Limit of full s to write before yielding into Performance is better when writing many small batches, than writing a single large batch + + Action to be taken when the lazy writer thread request queue count exceeds the set limit. @@ -301,6 +306,11 @@ Time in milliseconds to sleep between batches. + + + 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 + + @@ -316,12 +326,30 @@ + + + Name of the target. + + + Delay the flush until the LogEvent has been confirmed as written + + + + + Condition expression. Log events who meet this condition will cause a flush on the wrapped 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 + + @@ -333,6 +361,7 @@ + @@ -354,6 +383,11 @@ Indicates whether to use sliding timeout. + + + 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 + + @@ -364,23 +398,26 @@ + + - - - - - + + + + + + @@ -397,6 +434,11 @@ Instance of that is used to format log messages. + + + End of line value if a newline is appended at the end of log message . + + Maximum message size in bytes. @@ -417,6 +459,11 @@ Action that should be taken if the message is larger than maxMessageSize. + + + Maximum current connections. 0 = no maximum. + + Indicates whether to keep connection open whenever possible. @@ -427,11 +474,6 @@ Size of the connection cache (number of connections which are kept alive). - - - Maximum current connections. 0 = no maximum. - - Network address. @@ -442,19 +484,24 @@ Maximum queue size. + + + Indicates whether to include stack contents. + + Indicates whether to include source info (file name and line number) in the information sent over the network. - + - NDC item separator. + Indicates whether to include NLog-specific extensions to log4j schema. - + - Indicates whether to include stack contents. + Indicates whether to include dictionary contents. @@ -467,16 +514,21 @@ AppInfo field. By default it's the friendly name of the current AppDomain. - + - Indicates whether to include NLog-specific extensions to log4j schema. + NDC item separator. - + Indicates whether to include dictionary contents. + + + 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 + + @@ -521,8 +573,10 @@ + + @@ -549,6 +603,11 @@ Indicates whether to use default row highlighting rules. + + + Indicates 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) + + The encoding for writing messages to the . @@ -559,6 +618,11 @@ Indicates whether the error stream (stderr) should be used instead of the output stream (stdout). + + + 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 + + @@ -611,6 +675,7 @@ + @@ -634,6 +699,11 @@ Indicates whether to match whole words only. + + + Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used. + + Background color. @@ -654,7 +724,9 @@ + + @@ -681,11 +753,21 @@ Indicates whether to send the log messages to the standard error instead of the standard output. + + + Indicates 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) + + The encoding for writing messages to the . + + + 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 + + @@ -694,77 +776,83 @@ - - - - - - - - + + + + + + + + + + - Name of the target. - - - Connection string. When provided, it overrides the values specified in DBHost, DBUserName, DBPassword, DBDatabase. - - - - - Name of the connection string (as specified in <connectionStrings> configuration section. - - - - - Database name. If the ConnectionString is not provided this value will be used to construct the "Database=" part of the connection string. - - - - - Database host name. If the ConnectionString is not provided this value will be used to construct the "Server=" part of the connection string. - - - - - Database password. If the ConnectionString is not provided this value will be used to construct the "Password=" part of the connection string. - - - - - Name of the database provider. - - - - - Database user name. If the ConnectionString is not provided this value will be used to construct the "User ID=" part of the connection string. - - - - - Indicates 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. + + + Database user name. If the ConnectionString is not provided this value will be used to construct the "User ID=" part of the connection string. + + + + + Name of the database provider. + + + + + Database password. If the ConnectionString is not provided this value will be used to construct the "Password=" part of the connection string. + + + + + Indicates whether to keep the database connection open between the log events. + + + + + Database name. If the ConnectionString is not provided this value will be used to construct the "Database=" part of the connection string. + + + + + Name of the connection string (as specified in <connectionStrings> configuration section. + + + + + Connection string. When provided, it overrides the values specified in DBHost, DBUserName, DBPassword, DBDatabase. + + + + + Database host name. If the ConnectionString is not provided this value will be used to construct the "Server=" part of the connection string. + + Connection string using for installation and uninstallation. If not provided, regular ConnectionString is being used. + + + 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 + + Text of the SQL command to be run on each log level. @@ -856,6 +944,7 @@ + @@ -877,6 +966,11 @@ Footer. + + + 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 + + @@ -886,6 +980,7 @@ + @@ -897,6 +992,11 @@ Layout used to format log messages. + + + 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 + + @@ -911,7 +1011,11 @@ + + + + @@ -948,20 +1052,48 @@ Value to be used as the event Source. + + + Action to take if the message is larger than the option. + + Optional entrytype. When not set, or when not convertable to then determined by + + + Maximum Event log size in kilobytes. If null, the value won't be set. Default is 512 Kilobytes as specified by Eventlog API + + + + + Message length limit to write to the Event Log. + + + + + 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 + + + + + + + + + + @@ -973,6 +1105,11 @@ Indicates whether to return to the first target after any successful write. + + + 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 + + @@ -990,10 +1127,15 @@ - + + + + + + @@ -1003,15 +1145,16 @@ - + + + - @@ -1063,19 +1206,24 @@ 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: - - - Maximum number of archive files that should be kept. - - Indicates whether to compress archive files into the zip archive format. + + + Maximum number of archive files that should be kept. + + - Gets or set a value indicating whether a managed file stream is forced, instead of used the native implementation. + Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. + + + + + Is the an absolute or relative path? @@ -1083,6 +1231,26 @@ 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. + + + 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 + + + + + Is the an absolute or relative path? + + + + + Value indicationg whether file creation calls should be synchronized by a system global mutex. + + + + + Indicates whether the footer should be written only when the file is archived. + + Name of the file to write to. @@ -1090,7 +1258,7 @@ - Value specifying the date format to use when archving files. + Value specifying the date format to use when archiving files. @@ -1128,9 +1296,9 @@ Indicates whether concurrent writes to the log file by multiple processes on the same host. - + - Delay in milliseconds to wait before attempting to write to the file again. + Indicates whether to keep log file open instead of opening and closing it on each logging event. @@ -1153,6 +1321,11 @@ 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. + + + 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 + + Log file buffer size in bytes. @@ -1163,16 +1336,16 @@ Indicates whether to automatically flush the file buffers after each log message. + + + Delay in milliseconds to wait before attempting to write to the file again. + + Number of times the write is appended on the file before NLog discards the log message. - - - Indicates whether to keep log file open instead of opening and closing it on each logging event. - - @@ -1192,6 +1365,20 @@ + + + + + + + + + + + + + + @@ -1220,6 +1407,7 @@ + @@ -1231,6 +1419,11 @@ Condition expression. Log events who meet this condition will be forwarded to the wrapped 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 + + @@ -1246,6 +1439,7 @@ + @@ -1287,6 +1481,11 @@ Username to change context to. + + + 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 + + @@ -1313,6 +1512,38 @@ + + + + + + + + + + + + Name of the target. + + + + + Interval in which messages will be written up to the number of messages. + + + + + Maximum allowed number of messages written per . + + + + + 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 + + + + + @@ -1325,6 +1556,7 @@ + @@ -1361,6 +1593,11 @@ Indicates whether to use binary message encoding. + + + 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 + + @@ -1368,6 +1605,7 @@ + @@ -1380,11 +1618,16 @@ Name of the parameter. - + Type of the parameter. + + + Type of the parameter. Obsolete alias for + + @@ -1403,9 +1646,10 @@ - - + + + @@ -1481,9 +1725,9 @@ Sender's email address (e.g. joe@domain.com). - + - Indicates whether NewLine characters in the body should be replaced with tags. + Indicates the SMTP client timeout. @@ -1491,9 +1735,14 @@ Priority used for sending mails. - + - Indicates the SMTP client timeout. + Indicates whether NewLine characters in the body should be replaced with tags. + + + + + 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 @@ -1564,6 +1813,7 @@ + @@ -1575,6 +1825,11 @@ Layout used to format log messages. + + + 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 + + @@ -1587,6 +1842,7 @@ + @@ -1617,6 +1873,11 @@ Indicates whether to check if a queue exists before writing to it. + + + 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 + + Indicates whether to create the queue if it doesn't exists. @@ -1648,6 +1909,7 @@ + @@ -1661,7 +1923,12 @@ - Method name. The method must be public and static. + 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. + + + + + 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 @@ -1674,6 +1941,7 @@ + @@ -1683,6 +1951,7 @@ + @@ -1699,6 +1968,11 @@ Encoding to be used. + + + End of line value if a newline is appended at the end of log message . + + Maximum message size in bytes. @@ -1744,6 +2018,11 @@ Maximum queue size. + + + 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 + + @@ -1754,23 +2033,26 @@ + + - - - - - + + + + + + @@ -1787,6 +2069,11 @@ Instance of that is used to format log messages. + + + End of line value if a newline is appended at the end of log message . + + Maximum message size in bytes. @@ -1807,6 +2094,11 @@ Action that should be taken if the message is larger than maxMessageSize. + + + Maximum current connections. 0 = no maximum. + + Indicates whether to keep connection open whenever possible. @@ -1817,11 +2109,6 @@ Size of the connection cache (number of connections which are kept alive). - - - Maximum current connections. 0 = no maximum. - - Network address. @@ -1832,29 +2119,14 @@ Maximum queue size. - - - Indicates whether to include source info (file name and line number) in the information sent over the network. - - - - - NDC item separator. - - Indicates whether to include stack contents. - + - Indicates whether to include call site (class and method name) in the information sent over the network. - - - - - AppInfo field. By default it's the friendly name of the current AppDomain. + Indicates whether to include source info (file name and line number) in the information sent over the network. @@ -1867,6 +2139,31 @@ Indicates whether to include dictionary contents. + + + Indicates whether to include call site (class and method name) in the information sent over the network. + + + + + AppInfo field. By default it's the friendly name of the current AppDomain. + + + + + NDC item separator. + + + + + Indicates whether to include dictionary contents. + + + + + 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 + + @@ -1877,6 +2174,7 @@ + @@ -1893,6 +2191,11 @@ Indicates whether to perform layout calculation. + + + 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 + + @@ -1902,6 +2205,7 @@ + @@ -1913,6 +2217,11 @@ Layout used to format log messages. + + + 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 + + @@ -1928,6 +2237,7 @@ + @@ -1969,6 +2279,11 @@ Performance counter instance name. + + + 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 + + @@ -2011,6 +2326,7 @@ + @@ -2022,6 +2338,11 @@ Default filter to be applied when no specific rule matches. + + + 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 + + @@ -2046,12 +2367,18 @@ + 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 + + @@ -2060,6 +2387,7 @@ + @@ -2067,6 +2395,11 @@ 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 + + Number of times to repeat each log message. @@ -2080,6 +2413,7 @@ + @@ -2088,6 +2422,11 @@ 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 + + Number of retries that should be attempted on the wrapped target in case of a failure. @@ -2106,12 +2445,18 @@ + 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 + + @@ -2120,12 +2465,18 @@ + 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 + + @@ -2135,6 +2486,7 @@ + @@ -2146,6 +2498,11 @@ Layout used to format log messages. + + + 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 + + @@ -2156,11 +2513,16 @@ + + + + + @@ -2172,11 +2534,26 @@ Should we include the BOM (Byte-order-mark) for UTF? Influences the property. This will only work for UTF-8. + + + 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 + + Encoding. + + + Value whether escaping be done according to the old NLog style (Very non-standard) + + + + + Value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) + + Web service method name. Only used with Soap. @@ -2197,6 +2574,16 @@ Web service URL. + + + Name of the root XML element, if POST of XML document chosen. If so, this property must not be null. (see and ). + + + + + (optional) root namespace of the XML document, if POST of XML document chosen. (see and ). + + @@ -2206,8 +2593,22 @@ + + + + + + + + + + + + + + @@ -2304,19 +2705,50 @@ + + + + + + + + List of property names to exclude when is true + + + + + Option to include all properties from the log events + + + + + Indicates whether to include contents of the dictionary. + + + + + Option to render the empty object value {} + + Option to suppress the extra spaces in the output json + + + Indicates whether to include contents of the dictionary. + + + @@ -2325,6 +2757,11 @@ Determines wether or not this attribute will be Json encoded. + + + Indicates whether to escape non-ascii characters + + Layout that will be rendered as the attribute's value. @@ -2365,7 +2802,26 @@ - + + + + + + + + Option to include all properties from the log events + + + + + Indicates whether to include contents of the dictionary. + + + + + Indicates whether to include contents of the dictionary. + + diff --git a/ETS_Data/Properties/Settings.Designer.cs b/ETS_Data/Properties/Settings.Designer.cs index bb6a1ea..e017b89 100644 --- a/ETS_Data/Properties/Settings.Designer.cs +++ b/ETS_Data/Properties/Settings.Designer.cs @@ -1,10 +1,10 @@ //------------------------------------------------------------------------------ // -// This code was generated by a tool. -// Runtime Version:4.0.30319.18033 +// Il codice è stato generato da uno strumento. +// Versione runtime:4.0.30319.42000 // -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. +// Le modifiche apportate a questo file possono provocare un comportamento non corretto e andranno perse se +// il codice viene rigenerato. // //------------------------------------------------------------------------------ @@ -12,7 +12,7 @@ namespace ETS_Data.Properties { [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.1.0.0")] internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); diff --git a/ETS_Data/app.config b/ETS_Data/app.config index 43c710f..b992998 100644 --- a/ETS_Data/app.config +++ b/ETS_Data/app.config @@ -1,16 +1,10 @@ - + - - - + + + - \ No newline at end of file + diff --git a/ETS_Data/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/ETS_Data/obj/Debug/DesignTimeResolveAssemblyReferences.cache index 9745ea8d1206af653e1dc00ceb200fe019577185..595b519794d1b08f5aab9fd2d1999ed801ef1d42 100644 GIT binary patch delta 258 zcmaFK-oQD*hS^llaHG8!qdY4E0|OTqJCNjL0TCd+0Eh*`Y;2RcnNnCmvgwognF3|Z z^o(MHD~n4~bM;(`63a95()Chua@aV43Sxl@f+zoHnk2R4lhD8b1MB6vUq zFOXmbiD^%)R-7!sTsHXzvp@kONC8Nc;c{Qilhv0!xVX63_(5W2CVB>X#sHq)$ delta 162 zcmZqRe91n+hS@~VV57YkqcRHv0|OTqJCNiAF*#X*gaC-e48&|~Kq7YXL#8Osl$;zk zkg9kfFL?5QMqWma$#dGJ2r=0QN;^JcCoy^E0!pJ%KBeOgsHvsSR8ruK> diff --git a/ETS_Data/obj/Debug/TempPE/Ds_ProjEts.Designer.cs.dll b/ETS_Data/obj/Debug/TempPE/Ds_ProjEts.Designer.cs.dll index 86d68505ba1597e91048cbffa06b144657517458..22a468cdf228c3d1aa0a29e3722a0474f85423e1 100644 GIT binary patch delta 17813 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 delta 16030 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 - - - + + + + \ No newline at end of file diff --git a/ETS_Data/user_std.cs b/ETS_Data/user_std.cs index 3a05554..96ce408 100644 --- a/ETS_Data/user_std.cs +++ b/ETS_Data/user_std.cs @@ -8,1019 +8,1046 @@ using NLog; namespace ETS_Data { + /// + /// classe gestione utente: auth e permission/ruoli - versione GENERICA + /// + public class user_std + { + /* Classe che si occupa di: + * ---------------------------------------- + * 1) gestione username + * 2) gestione ruoli da anagrafica + * 3) gestione declinazione ruoli in permessi + * 4) gestione vocabolario + * + * in Standard GENERICO + */ + + #region area protected / private + + + protected Logger lg = LogManager.GetCurrentClassLogger(); + + #region metodi + /// - /// classe gestione utente: auth e permission/ruoli - versione GENERICA + /// cancella da session l'utente /// - public class user_std + protected void clearAllUserData() { - /* Classe che si occupa di: - * ---------------------------------------- - * 1) gestione username - * 2) gestione ruoli da anagrafica - * 3) gestione declinazione ruoli in permessi - * 4) gestione vocabolario - * - * in Standard GENERICO - */ - - #region area protected / private - - - protected Logger lg = LogManager.GetCurrentClassLogger(); - - #region metodi - - /// - /// cancella da session l'utente - /// - protected void clearAllUserData() - { - utils.obj.emptySessionVal("USER_NAME"); - utils.obj.emptySessionVal("DOMINIO"); - utils.obj.emptySessionVal("permessiUtente"); - } - - - /// - /// Carica la tabella diritti dell'utente da db e salva in session - /// - protected virtual void setupDirittiPermessi() - { - DataLayer_AnagGen.DIRITTIDataTable _dirittiUtente = DataWrap.DW.taDiritti.GetByUserDominioModulo(utente, dominio, modulo); - diritti = _dirittiUtente; // salvo in session i diritti.. - setPermessiDaDiritti(); - } - - /// - /// Carica la tabella diritti dell'utente da db e salva in session - /// - protected virtual void setupDirittiPermessiByUsername() - { - DataLayer_AnagGen.DIRITTIDataTable _dirittiUtente = DataWrap.DW.taDiritti.GetByUserModulo(utente, modulo); - diritti = _dirittiUtente; // salvo in session i diritti.. - setPermessiDaDiritti(); - } - /// - /// Carica la tabella diritti dell'utente da db e salva in session SOLO per il CDC indicato - /// - /// - protected virtual void setupDirittiPermessi(string cdc) - { - DataLayer_AnagGen.DIRITTIDataTable _dirittiUtente = DataWrap.DW.taDiritti.GetByUserDominioModuloCdc(utente, dominio, modulo, cdc); - diritti = _dirittiUtente; // salvo in session i diritti.. - setPermessiDaDiritti(); - } - /// - /// Effettua setup dei permessi una volta salvati i diritti - /// - protected virtual void setPermessiDaDiritti() - { - // proseguo coi permessi - DataLayer_AnagGen.PermessiDataTable allPermessi = DataWrap.DW.taPermessi.GetData(); - DataLayer_AnagGen.Permessi2FunzioneDataTable allPerm2Funz = DataWrap.DW.taPermessi2Funzione.GetData(); - DataLayer_AnagGen.PermessiDataTable _permessiUtente = new DataLayer_AnagGen.PermessiDataTable(); - DataLayer_AnagGen.PermessiDataTable _permessiUtenteWrite = new DataLayer_AnagGen.PermessiDataTable(); - string filtroFunz, filtroPerm, filtroPermWrite; - filtroPerm = " COD_PERMESSO IN ("; - filtroPermWrite = " COD_PERMESSO IN ("; - // filtro i diritti utente x non avere duplicati... - Dictionary funzioniUtente = new Dictionary(); - foreach (DataLayer_AnagGen.DIRITTIRow riga in diritti) - { - try - { - funzioniUtente.Add(riga.COD_FUNZIONE, riga.COD_FUNZIONE); - } - catch - { } - } - foreach (KeyValuePair kvp in funzioniUtente) - { - filtroFunz = string.Format("COD_FUNZIONE='{0}'", kvp.Value); - // recupero le righe dei righe2perm - DataLayer_AnagGen.Permessi2FunzioneRow[] righe_p2f = (DataLayer_AnagGen.Permessi2FunzioneRow[])allPerm2Funz.Select(filtroFunz); - foreach (DataLayer_AnagGen.Permessi2FunzioneRow riga_p2f in righe_p2f) - { - filtroPerm += string.Format("'{0}', ", riga_p2f.COD_PERMESSO); - // se è write metto in tab relativa... - try - { - if (riga_p2f.READWRITE == "S") - { - filtroPermWrite += string.Format("'{0}', ", riga_p2f.COD_PERMESSO); - } - } - catch - { - } - } - } - if (filtroPerm == " COD_PERMESSO IN (") - { - filtroPerm += "'PermessiNonTrovati' "; - } - filtroPerm = filtroPerm.Remove(filtroPerm.Length - 2); - filtroPerm += ") "; - DataLayer_AnagGen.PermessiRow[] righePerm = (DataLayer_AnagGen.PermessiRow[])allPermessi.Select(filtroPerm, "GRUPPO, NUMERO"); - foreach (DataLayer_AnagGen.PermessiRow rigaPerm in righePerm) - { - _permessiUtente.ImportRow(rigaPerm); - } - permessi = _permessiUtente; - // salvo, se ci sono, permessi write... - if (filtroPermWrite != " COD_PERMESSO IN (") - { - filtroPermWrite = filtroPermWrite.Remove(filtroPermWrite.Length - 2); - filtroPermWrite += ") "; - DataLayer_AnagGen.PermessiRow[] righePermW = (DataLayer_AnagGen.PermessiRow[])allPermessi.Select(filtroPermWrite, "GRUPPO, NUMERO"); - foreach (DataLayer_AnagGen.PermessiRow rigaPerm in righePermW) - { - _permessiUtenteWrite.ImportRow(rigaPerm); - } - } - permessiWrite = _permessiUtenteWrite; - } - - - - #endregion - - #endregion - - #region area public - - /// - /// utente correntemente connesso (Formato dominio\username) - /// - public string currUserAD - { - get - { - string answ = ""; - try - { - if (HttpContext.Current.User.Identity.IsAuthenticated) - { - answ = HttpContext.Current.User.Identity.Name; - } - } - catch - { } - return answ; - } - } - /// - /// utente correntemente connesso per utilizzo FileSystem (Formato dominio.username) - /// - public string currUser_FS - { - get - { - return currUserAD.Replace(@"\", "."); - } - } - /// - /// utente correntemente connesso (Formato Cognome nome) - /// - public string currUserCognomeNome - { - get - { - string answ = "-"; - try - { - // controllo in sessione... - if (utils.obj.isInSessionObject("currUserCognomeNome")) - { - answ = utils.obj.StringSessionObj("currUserCognomeNome"); - } - else - { - // cerco user da elenco... - DS_Anagrafica.UtentiRow riga = (DS_Anagrafica.UtentiRow)utils.obj.taUtenti.getByKey(currUserAD)[0]; - answ = string.Format("{0} {1}", riga.Cognome, riga.Nome); - utils.obj.setSessionVal("currUserCognomeNome", answ); - } - } - catch - { } - return answ; - } - } - /// - /// utente correntemente connesso (Formato Nome Cognome) - /// - public string currUserNomeCognome - { - get - { - string answ = "-"; - try - { - // controllo in sessione... - if (utils.obj.isInSessionObject("currUserNomeCognome")) - { - answ = utils.obj.StringSessionObj("currUserNomeCognome"); - } - else - { - // cerco user da elenco... - DS_Anagrafica.UtentiRow riga = (DS_Anagrafica.UtentiRow)utils.obj.taUtenti.getByKey(currUserAD)[0]; - answ = string.Format("{0} {1}", riga.Nome, riga.Cognome); - utils.obj.setSessionVal("currUserNomeCognome", answ); - } - } - catch - { } - return answ; - } - } - /// - /// EMAIL utente correntemente connesso - /// - public string currUserEmail - { - get - { - string answ = "info@ets.it"; - try - { - // controllo in sessione... - if (utils.obj.isInSessionObject("currUserEmail")) - { - answ = utils.obj.StringSessionObj("currUserEmail"); - } - else - { - // cerco user da elenco... - DS_Anagrafica.UtentiRow riga = (DS_Anagrafica.UtentiRow)utils.obj.taUtenti.getByKey(currUserAD)[0]; - answ = riga.email; - utils.obj.setSessionVal("currUserEmail", answ); - } - } - catch - { - answ = "info@ets.it"; - } - return answ; - } - } - /// - /// UserId (AD) utente correntemente connesso - /// - public string currUserId - { - get - { - // controllo e salvo in sessione se necessario... - if (!utils.obj.isInSessionObject("currUserId")) - { - utils.obj.setSessionVal("currUserId", currUserAD); - } - return currUserAD; - } - } - /// - /// calcola se l'utente abbia il diritto x la funzione indicata - /// - /// username formato AD - /// codice modulo - /// codice funzione - /// - public bool userHasRight(string utenteAD, string codModulo, string codFunzione) - { - bool answ = false; - try - { - answ = utils.obj.taDiritti.getByUserModFun(utenteAD, codModulo, codFunzione).Rows.Count > 0; - } - catch - { } - return answ; - } - - - #region area utente - - /// - /// restituisce la tabella diritti da session - /// - public DataLayer_AnagGen.DIRITTIDataTable diritti - { - get - { - return (DataLayer_AnagGen.DIRITTIDataTable)utils.obj.objSessionObj("dirittiUtente"); - } - set - { - utils.obj.setSessionVal("dirittiUtente", value); - } - } - /// - /// tabella dei permessi utente - /// - public DataLayer_AnagGen.PermessiDataTable permessi - { - get - { - DataLayer_AnagGen.PermessiDataTable tabPermessi = null; - try - { - tabPermessi = (DataLayer_AnagGen.PermessiDataTable)utils.obj.objSessionObj("permessiUtente"); - } - catch (Exception exc) - { - lg.ErrorException("Errore recupero permessi! {0}", exc); - } - return tabPermessi; - } - set - { - utils.obj.setSessionVal("permessiUtente", value); - } - } - /// - /// tabella dei permessi utente di tipo "WRITE" enabled - /// - public DataLayer_AnagGen.PermessiDataTable permessiWrite - { - get - { - return (DataLayer_AnagGen.PermessiDataTable)utils.obj.objSessionObj("permessiUtenteWrite"); - } - set - { - utils.obj.setSessionVal("permessiUtenteWrite", value); - } - } - - - /// - /// inizializza la gestione utente... - /// - public user_std() - { - } - - /// - /// retituisce username AD - /// - public string userNameAD - { - get - { - return string.Format(@"{0}\{1}", dominio, utente); - } - } - - /// - /// oggetto utente con metodi get/set - /// - public string utente - { - get - { - return utils.obj.StringSessionObj("USER_NAME"); - } - set - { - utils.obj.setSessionVal("USER_NAME", value); - } - } - /// - /// oggetto password con metodi get/set - /// - public string passwd - { - get - { - return utils.obj.StringSessionObj("passwd"); - } - set - { - utils.obj.setSessionVal("passwd", value); - } - } - - /// - /// oggetto dominio con metodi get/set - /// - public string dominio - { - get - { - return utils.obj.StringSessionObj("DOMINIO"); - } - set - { - utils.obj.setSessionVal("DOMINIO", value); - } - } - - /// - /// oggetto modulo (applicazione) con metodi get/set - /// - public string modulo - { - get - { - return utils.obj.confReadString("CodModulo"); - } - } - - /// - /// oggetto lingua utente con metodi get/set - /// - public string lingua - { - get - { - return utils.obj.StringSessionObj("Lingua").ToUpper(); - } - set - { - utils.obj.setSessionVal("Lingua", value); - } - } - - /// - /// restituisce true se utente forzato da forceUser.aspx - /// - public bool isForcedUser - { - get - { - return utils.obj.BoolSessionObj("isForcedUser"); - } - set - { - utils.obj.setSessionVal("isForcedUser", value); - } - } - - /// - /// restituisce i valori della riga utente da db - /// - public DataLayer_AnagGen.UTENTERow rigaUtente - { - get - { - return (DataLayer_AnagGen.UTENTERow)utils.obj.objSessionObj("rigaUtente"); - } - set - { - utils.obj.setSessionVal("rigaUtente", value); - } - } - - /// - /// restituisce riga utente data la matricola... - /// - /// matricola - /// - public DataLayer_AnagGen.UTENTERow rigaUtenteDaMatricola(string matricola) - { - DataLayer_AnagGen.UTENTERow answ = null; - try - { - answ = DataWrap.DW.taUtente.getByMatricola(matricola)[0]; - } - catch - { } - return answ; - } - - /// - /// restituisce una stringa formattata con cognome, nome e matricola - /// - public string CognomeNomeMatr - { - get - { - return string.Format("{0} {1} ({2})", rigaUtente.COGNOME, rigaUtente.NOME, rigaUtente.MATRICOLA); - } - } - - /// - /// restituisce una stringa della sigla dell'utente - /// - public string sigla - { - get - { - string answ = ""; - if (isAuth) - { - answ = rigaUtente.SIGLA; - } - return answ; - } - } - - /// - /// restituisce una stringa formattata con nome e cognome - /// - public string NomeCognome - { - get - { - string answ = ""; - if (isAuth) - { - answ = string.Format("{0} {1}", rigaUtente.NOME, rigaUtente.COGNOME); - } - return answ; - } - } - /// - /// restituisce una stringa formattata con cognome e nome - /// - public string CognomeNome - { - get - { - string answ = ""; - if (isAuth) - { - answ = string.Format("{0} {1}", rigaUtente.COGNOME, rigaUtente.NOME); - } - return answ; - } - } - /// - /// restituisce una stringa formattata con cognome - /// - public string cognome - { - get - { - string answ = ""; - if (isAuth) - { - answ = string.Format("{0}", rigaUtente.COGNOME); - } - return answ; - } - } - /// - /// restituisce una stringa formattata con nome - /// - public string nome - { - get - { - string answ = ""; - if (isAuth) - { - answ = string.Format("{0}", rigaUtente.NOME); - } - return answ; - } - } - - #endregion - - - /// - /// fornisce un file XML della mappa del sito abilitato per l'utente... - /// - public string mappaSito - { - get - { - return utils.obj.StringSessionObj("mappaSito"); - } - set - { - utils.obj.setSessionVal("mappaSito", value); - } - } - /// - /// LogOff utente con reset dati - /// - /// - /// - /// - public bool logOffUtente() - { - bool risultato = false; - clearAllUserData(); - utente = ""; - dominio = ""; - risultato = true; - return risultato; - } - /// - /// Procedura da chiamare DOPO aver messo in session i dati utente/dominio x caricare gli altri dati - /// - /// - /// - /// - public bool startUpUtente(string utenteAD) - { - bool risultato = false; - clearAllUserData(); - if (utenteAD != "") - { - char[] delimiters = new char[] { '\\' }; - string[] datiUt = currUserAD.Split(delimiters, StringSplitOptions.RemoveEmptyEntries); - utente = datiUt[1]; - dominio = datiUt[0]; - setupRiga(); - setupDirittiPermessi(); - risultato = true; - } - return risultato; - } - - /// - /// carica la riga dati utente - /// - protected virtual void setupRiga() - { - //logger.lg.scriviLog(string.Format(@"setupRiga x utente {0}\{1}", dominio, utente), tipoLog.STARTUP); - DataLayer_AnagGen.UTENTERow _rigaUtenteAnagGen = ((DataLayer_AnagGen.UTENTERow)DataWrap.DW.taUtente.GetDataByUtenteDominio(utente, dominio).Rows[0]); - rigaUtente = _rigaUtenteAnagGen; - } - /// - /// verifica nella tab diritti se l'utente abbia il right richiesto e fornisce bool in risposta - /// - /// - /// - public bool userHasRight(string diritto) - { - bool _answ = false; - if (diritti.Select(String.Format("COD_FUNZIONE ='{0}'", diritto)).Length > 0) - { - _answ = true; - } - return _answ; - } - /// - /// verifica le credenziali AD dell'utente... - /// - /// - /// - /// - public virtual bool ADuserOk(string dominio, string username) - { - bool isOk = false; - // ...verifico sia in tabella utenti... - bool isOkUser = false; - // ...e che abbia diritti per l'applicativo... - bool isOkPerm = false; - // controllo se richiesta autenticazione completa dominio + username o solo username... - bool authSenzaDominio = false; - try - { - authSenzaDominio = utils.obj.confReadBool("authSenzaDominio"); - } - catch - { } - if (authSenzaDominio) - { - isOkUser = (DataWrap.DW.taUtente.getByUserName(username).Rows.Count >= 1); - isOkPerm = (DataWrap.DW.taDiritti.GetByUserModulo(username, modulo).Rows.Count >= 1); - } - else - { - isOkUser = (DataWrap.DW.taUtente.GetDataByUtenteDominio(username, dominio).Rows.Count >= 1); - isOkPerm = (DataWrap.DW.taDiritti.GetByUserDominioModulo(username, dominio, modulo).Rows.Count >= 1); - } - // risultato... - isOk = (isOkUser && isOkPerm); - return isOk; - } - /// - /// è un boolean che indica se in session ci siano user/dominio e quindi utente autenticato in precedenza... - /// - public bool isAuth - { - get - { - return (utente != "" && dominio != ""); - } - } - /// - /// conta il numero di permessi utente per la pagina attuale e restituisce true se ne trova almeno 1 - /// - /// - /// - public bool isPageEnabled(string pagina) - { - bool answ = false; - try - { - System.Data.DataRow[] righe = permessi.Select(string.Format("URL = '{0}'", pagina)); - answ = (righe.Length >= 1); - } - catch - { } - return answ; - } - /// - /// verifica se il permesso utente per la pagina attuale sia write per almeno 1 diritto assegnato (restituisce true se ne trova almeno 1 con permessi2funzione.readwrite='S') - /// - /// - /// - public bool isPageWriteEnabled(string pagina) - { - bool answ = false; - try - { - System.Data.DataRow[] righe = permessiWrite.Select(string.Format("URL = '{0}'", pagina)); - answ = (righe.Length >= 1); - } - catch - { } - return answ; - } - /// - /// retituisce il nome apgina dai permessi utente - /// - /// - public string nomePaginaDaPermessi(string url) - { - string answ = ""; - try - { - answ = permessi.Select(string.Format("URL = '{0}'", url))[0]["NOME"].ToString(); - } - catch - { } - return answ; - } - /// - /// restituisce cognome e nome di un utente dato username... - /// - /// username - /// - public string CognomeNomeDaUsername(string userName) - { - string answ = "-"; - try - { - DataLayer_AnagGen.UTENTERow riga = DataWrap.DW.taUtente.getByUserName(userName)[0]; - answ = string.Format("{0} {1}", riga.COGNOME, riga.NOME); - } - catch - { - } - return answ; - } - /// - /// restituisce cognome e nome di un utente data la matricola... - /// - /// matricola - /// - public string CognomeNomeMatrDaMatricola(string matricola) - { - string answ = "-"; - try - { - DataLayer_AnagGen.UTENTERow riga = DataWrap.DW.taUtente.getByMatricola(matricola)[0]; - answ = string.Format("{0} {1} ({2})", riga.COGNOME, riga.NOME, riga.MATRICOLA); - } - catch - { - } - return answ; - } - /// - /// restituisce cognome e nome di un utente dato username e dominio... - /// - /// username - /// dominio - /// - public string CognomeNomeDaUsername(string userName, String dominio) - { - string answ = "-"; - try - { - DataLayer_AnagGen.UTENTERow riga = DataWrap.DW.taUtente.GetDataByUtenteDominio(userName, dominio)[0]; - answ = string.Format("{0} {1}", riga.COGNOME, riga.NOME); - } - catch - { - } - return answ; - } - /// - /// restituisce email di un utente dato username... - /// - /// username - /// - public string emailDaUsername(string userName) - { - string answ = "-"; - try - { - DataLayer_AnagGen.UTENTERow riga = DataWrap.DW.taUtente.getByUserName(userName)[0]; - answ = riga.EMAIL; - } - catch - { - } - return answ; - } - /// - /// restituisce email di un utente dato username e dominio... - /// - /// username - /// dominio - /// - public string emailDaUsername(string userName, String dominio) - { - string answ = "-"; - try - { - DataLayer_AnagGen.UTENTERow riga = DataWrap.DW.taUtente.GetDataByUtenteDominio(userName, dominio)[0]; - answ = riga.EMAIL; - } - catch - { - } - return answ; - } - /// - /// restituisce email di un utente dato username e dominio... - /// - /// Cognome Nome - /// - public string emailDaCognomeNome(string CognomeNome) - { - string answ = "-"; - try - { - DataLayer_AnagGen.UTENTERow riga = DataWrap.DW.taUtente.getByCognomeNome(CognomeNome)[0]; - answ = riga.EMAIL; - } - catch - { - } - return answ; - } - /// - /// restituisce cognome e nome di un utente dato username eventualmente comprensivo di dominio... - /// - /// {dominio\}userName - /// - public string CognomeNomeDaUser(string userNameFull) - { - string answ = "-"; - // se contiene "\" allora è con dominio... - if (userNameFull.IndexOf('\\') > -1) - { - string[] userData = userNameFull.ToString().Split('\\'); - answ = CognomeNomeDaUsername(userData[1], userData[0]); - } - else - { - answ = CognomeNomeDaUsername(userNameFull); - } - return answ; - } - /// - /// restituisce l'elenco delle funzioni abilitate dato modulo ed username partendo dalla radice dell'albero dei diritti - /// - /// - /// - /// - public DataLayer_AnagGen.FUNZIONEDataTable funzioniUtente(string codModulo, string user_name) - { - return DataWrap.DW.taFunzione.getFunByDiritti_999(codModulo, user_name); - } - /// - /// restituisce l'elenco degli utenti dato i diritti che devono avere come modulo/funzione - /// - /// nome del modulo - /// nome della funzione - /// tabella utenti - public DataLayer_AnagGen.UTENTEDataTable elencoDaDiritti(string codModulo, string codFunzione) - { - return DataWrap.DW.taUtente.getElencoByDiritti(codModulo, codFunzione); - } - /// - /// restituisce l'elenco delle email degli utenti dato i diritti che devono avere come modulo/funzione - /// - /// nome del modulo - /// nome della funzione - /// stringa di email separate da "," - public string elencoEmailDaDiritti(string codModulo, string codFunzione) - { - char sep = ','; - string answ = ""; - try - { - foreach (DataLayer_AnagGen.UTENTERow riga in elencoDaDiritti(codModulo, codFunzione)) - { - answ += string.Format("{0}{1} ", riga.EMAIL, sep); - } - if (answ.Length > 2) - { - answ = answ.Substring(0, answ.Length - 2); - } - } - catch - { - } - return answ; - } - /// - /// crea un nuovo utente con le credenziali indicate - /// - /// - /// - /// - /// - /// - /// - /// - public bool creaUtente(string dominio, string username, string cognome, string nome, string cod_cdc, string email, string matricola, string sigla) - { - bool answ = false; - try - { - DataWrap.DW.taUtente.Insert(dominio, username, cognome, nome, "1", matricola, cod_cdc, email, sigla, "IT", "s"); - answ = true; - } - catch { } - return answ; - } - /// - /// assegna il diritto all'utente indicato - /// - /// - /// - /// - /// - /// - /// - public bool assegnaDirittoUtente(string username, string cod_cdc, string cod_modulo, string cod_funzione) - { - bool answ = false; - try - { - DataWrap.DW.taDiritti.Insert(username, cod_cdc, cod_modulo, cod_funzione, "-1"); - answ = true; - } - catch (Exception exc) - { - lg.ErrorException("Eccezione: {0}", exc); - } - return answ; - } - /// - /// toglier il diritto all'utente indicato - /// - /// - /// - /// - /// - /// - /// - public bool rimuoviDirittoUtente(string username, string cod_cdc, string cod_modulo, string cod_funzione) - { - bool answ = false; - try - { - DataWrap.DW.taDiritti.DeleteQuery(username, cod_cdc, cod_modulo, cod_funzione); - answ = true; - } - catch (Exception exc) - { - lg.ErrorException("Eccezione: {0}", exc); - } - return answ; - } - /// - /// restituisce la tabella (per utente corrente) dei CDC abilitati per l'applicazione attuale da sessione (se non c'è salva...) - /// - /// modulo di cui si testano i diritti - /// - public virtual DataLayer_AnagGen.CDCDataTable getEnabledCdc(string cod_modulo) - { - //init tabella - DataLayer_AnagGen.CDCDataTable tabCdc = new DataLayer_AnagGen.CDCDataTable(); - // cerco in sessione elenco CDC - if (utils.obj.isInSessionObject("CdcEnabled4user4module")) - { - tabCdc = (DataLayer_AnagGen.CDCDataTable)utils.obj.objSessionObj("CdcEnabled4user4module"); - } - else - { - tabCdc = DataWrap.DW.taCdc.getEnabledCDC(utente, cod_modulo); - utils.obj.setSessionVal("CdcEnabled4user4module", tabCdc); - } - return tabCdc; - } - - #endregion - - /// - /// versione statica della classe utente come singleton UtenTeSignletoN - /// - public static user_std UtSn = new user_std(); - + utils.obj.emptySessionVal("USER_NAME"); + utils.obj.emptySessionVal("DOMINIO"); + utils.obj.emptySessionVal("permessiUtente"); } + + + /// + /// Carica la tabella diritti dell'utente da db e salva in session + /// + protected virtual void setupDirittiPermessi() + { + DataLayer_AnagGen.DIRITTIDataTable _dirittiUtente = DataWrap.DW.taDiritti.GetByUserDominioModulo(utente, dominio, modulo); + diritti = _dirittiUtente; // salvo in session i diritti.. + setPermessiDaDiritti(); + } + + /// + /// Carica la tabella diritti dell'utente da db e salva in session + /// + protected virtual void setupDirittiPermessiByUsername() + { + DataLayer_AnagGen.DIRITTIDataTable _dirittiUtente = DataWrap.DW.taDiritti.GetByUserModulo(utente, modulo); + diritti = _dirittiUtente; // salvo in session i diritti.. + setPermessiDaDiritti(); + } + /// + /// Carica la tabella diritti dell'utente da db e salva in session SOLO per il CDC indicato + /// + /// + protected virtual void setupDirittiPermessi(string cdc) + { + DataLayer_AnagGen.DIRITTIDataTable _dirittiUtente = DataWrap.DW.taDiritti.GetByUserDominioModuloCdc(utente, dominio, modulo, cdc); + diritti = _dirittiUtente; // salvo in session i diritti.. + setPermessiDaDiritti(); + } + /// + /// Effettua setup dei permessi una volta salvati i diritti + /// + protected virtual void setPermessiDaDiritti() + { + // proseguo coi permessi + DataLayer_AnagGen.PermessiDataTable allPermessi = DataWrap.DW.taPermessi.GetData(); + DataLayer_AnagGen.Permessi2FunzioneDataTable allPerm2Funz = DataWrap.DW.taPermessi2Funzione.GetData(); + DataLayer_AnagGen.PermessiDataTable _permessiUtente = new DataLayer_AnagGen.PermessiDataTable(); + DataLayer_AnagGen.PermessiDataTable _permessiUtenteWrite = new DataLayer_AnagGen.PermessiDataTable(); + string filtroFunz, filtroPerm, filtroPermWrite; + filtroPerm = " COD_PERMESSO IN ("; + filtroPermWrite = " COD_PERMESSO IN ("; + // filtro i diritti utente x non avere duplicati... + Dictionary funzioniUtente = new Dictionary(); + foreach (DataLayer_AnagGen.DIRITTIRow riga in diritti) + { + try + { + funzioniUtente.Add(riga.COD_FUNZIONE, riga.COD_FUNZIONE); + } + catch + { } + } + foreach (KeyValuePair kvp in funzioniUtente) + { + filtroFunz = string.Format("COD_FUNZIONE='{0}'", kvp.Value); + // recupero le righe dei righe2perm + DataLayer_AnagGen.Permessi2FunzioneRow[] righe_p2f = (DataLayer_AnagGen.Permessi2FunzioneRow[])allPerm2Funz.Select(filtroFunz); + foreach (DataLayer_AnagGen.Permessi2FunzioneRow riga_p2f in righe_p2f) + { + filtroPerm += string.Format("'{0}', ", riga_p2f.COD_PERMESSO); + // se è write metto in tab relativa... + try + { + if (riga_p2f.READWRITE == "S") + { + filtroPermWrite += string.Format("'{0}', ", riga_p2f.COD_PERMESSO); + } + } + catch + { + } + } + } + if (filtroPerm == " COD_PERMESSO IN (") + { + filtroPerm += "'PermessiNonTrovati' "; + } + filtroPerm = filtroPerm.Remove(filtroPerm.Length - 2); + filtroPerm += ") "; + DataLayer_AnagGen.PermessiRow[] righePerm = (DataLayer_AnagGen.PermessiRow[])allPermessi.Select(filtroPerm, "GRUPPO, NUMERO"); + foreach (DataLayer_AnagGen.PermessiRow rigaPerm in righePerm) + { + _permessiUtente.ImportRow(rigaPerm); + } + permessi = _permessiUtente; + // salvo, se ci sono, permessi write... + if (filtroPermWrite != " COD_PERMESSO IN (") + { + filtroPermWrite = filtroPermWrite.Remove(filtroPermWrite.Length - 2); + filtroPermWrite += ") "; + DataLayer_AnagGen.PermessiRow[] righePermW = (DataLayer_AnagGen.PermessiRow[])allPermessi.Select(filtroPermWrite, "GRUPPO, NUMERO"); + foreach (DataLayer_AnagGen.PermessiRow rigaPerm in righePermW) + { + _permessiUtenteWrite.ImportRow(rigaPerm); + } + } + permessiWrite = _permessiUtenteWrite; + } + + + + #endregion + + #endregion + + #region area public + + /// + /// utente correntemente connesso (Formato dominio\username) + /// + public string currUserAD + { + get + { + string answ = ""; + try + { + if (HttpContext.Current.User.Identity.IsAuthenticated) + { + answ = HttpContext.Current.User.Identity.Name; + } + } + catch + { } + return answ; + } + } + /// + /// utente correntemente connesso per utilizzo FileSystem (Formato dominio.username) + /// + public string currUser_FS + { + get + { + return currUserAD.Replace(@"\", "."); + } + } + /// + /// utente correntemente connesso (Formato Cognome nome) + /// + public string currUserCognomeNome + { + get + { + string answ = "-"; + try + { + // controllo in sessione... + if (utils.obj.isInSessionObject("currUserCognomeNome")) + { + answ = utils.obj.StringSessionObj("currUserCognomeNome"); + } + else + { + // cerco user da elenco... + DS_Anagrafica.UtentiRow riga = (DS_Anagrafica.UtentiRow)utils.obj.taUtenti.getByKey(currUserAD)[0]; + answ = string.Format("{0} {1}", riga.Cognome, riga.Nome); + utils.obj.setSessionVal("currUserCognomeNome", answ); + } + } + catch + { } + return answ; + } + } + /// + /// utente correntemente connesso (Formato Nome Cognome) + /// + public string currUserNomeCognome + { + get + { + string answ = "-"; + try + { + // controllo in sessione... + if (utils.obj.isInSessionObject("currUserNomeCognome")) + { + answ = utils.obj.StringSessionObj("currUserNomeCognome"); + } + else + { + // cerco user da elenco... + DS_Anagrafica.UtentiRow riga = (DS_Anagrafica.UtentiRow)utils.obj.taUtenti.getByKey(currUserAD)[0]; + answ = string.Format("{0} {1}", riga.Nome, riga.Cognome); + utils.obj.setSessionVal("currUserNomeCognome", answ); + } + } + catch + { } + return answ; + } + } + /// + /// EMAIL utente correntemente connesso + /// + public string currUserEmail + { + get + { + string answ = "info@ets.it"; + try + { + // controllo in sessione... + if (utils.obj.isInSessionObject("currUserEmail")) + { + answ = utils.obj.StringSessionObj("currUserEmail"); + } + else + { + // cerco user da elenco... + DS_Anagrafica.UtentiRow riga = (DS_Anagrafica.UtentiRow)utils.obj.taUtenti.getByKey(currUserAD)[0]; + answ = riga.email; + utils.obj.setSessionVal("currUserEmail", answ); + } + } + catch + { + answ = "info@ets.it"; + } + return answ; + } + } + /// + /// UserId (AD) utente correntemente connesso + /// + public string currUserId + { + get + { + // controllo e salvo in sessione se necessario... + if (!utils.obj.isInSessionObject("currUserId")) + { + utils.obj.setSessionVal("currUserId", currUserAD); + } + return currUserAD; + } + } + /// + /// calcola se l'utente abbia il diritto x la funzione indicata + /// + /// username formato AD + /// codice modulo + /// codice funzione + /// + public bool userHasRight(string utenteAD, string codModulo, string codFunzione) + { + bool answ = false; + try + { + answ = utils.obj.taDiritti.getByUserModFun(utenteAD, codModulo, codFunzione).Rows.Count > 0; + } + catch + { } + return answ; + } + + + #region area utente + + /// + /// restituisce la tabella diritti da session + /// + public DataLayer_AnagGen.DIRITTIDataTable diritti + { + get + { + return (DataLayer_AnagGen.DIRITTIDataTable)utils.obj.objSessionObj("dirittiUtente"); + } + set + { + utils.obj.setSessionVal("dirittiUtente", value); + } + } + /// + /// tabella dei permessi utente + /// + public DataLayer_AnagGen.PermessiDataTable permessi + { + get + { + DataLayer_AnagGen.PermessiDataTable tabPermessi = null; + try + { + tabPermessi = (DataLayer_AnagGen.PermessiDataTable)utils.obj.objSessionObj("permessiUtente"); + } + catch (Exception exc) + { + lg.ErrorException("Errore recupero permessi! {0}", exc); + } + return tabPermessi; + } + set + { + utils.obj.setSessionVal("permessiUtente", value); + } + } + /// + /// tabella dei permessi utente di tipo "WRITE" enabled + /// + public DataLayer_AnagGen.PermessiDataTable permessiWrite + { + get + { + return (DataLayer_AnagGen.PermessiDataTable)utils.obj.objSessionObj("permessiUtenteWrite"); + } + set + { + utils.obj.setSessionVal("permessiUtenteWrite", value); + } + } + + + /// + /// inizializza la gestione utente... + /// + public user_std() + { + } + + /// + /// retituisce username AD + /// + public string userNameAD + { + get + { + return string.Format(@"{0}\{1}", dominio, utente); + } + } + + /// + /// oggetto utente con metodi get/set + /// + public string utente + { + get + { + return utils.obj.StringSessionObj("USER_NAME"); + } + set + { + utils.obj.setSessionVal("USER_NAME", value); + } + } + /// + /// oggetto password con metodi get/set + /// + public string passwd + { + get + { + return utils.obj.StringSessionObj("passwd"); + } + set + { + utils.obj.setSessionVal("passwd", value); + } + } + + /// + /// oggetto dominio con metodi get/set + /// + public string dominio + { + get + { + return utils.obj.StringSessionObj("DOMINIO"); + } + set + { + utils.obj.setSessionVal("DOMINIO", value); + } + } + + /// + /// oggetto modulo (applicazione) con metodi get/set + /// + public string modulo + { + get + { + return utils.obj.confReadString("CodModulo"); + } + } + + /// + /// oggetto lingua utente con metodi get/set + /// + public string lingua + { + get + { + return utils.obj.StringSessionObj("Lingua").ToUpper(); + } + set + { + utils.obj.setSessionVal("Lingua", value); + } + } + + /// + /// restituisce true se utente forzato da forceUser.aspx + /// + public bool isForcedUser + { + get + { + return utils.obj.BoolSessionObj("isForcedUser"); + } + set + { + utils.obj.setSessionVal("isForcedUser", value); + } + } + + /// + /// restituisce i valori della riga utente da db + /// + public DataLayer_AnagGen.UTENTERow rigaUtente + { + get + { + return (DataLayer_AnagGen.UTENTERow)utils.obj.objSessionObj("rigaUtente"); + } + set + { + utils.obj.setSessionVal("rigaUtente", value); + } + } + + /// + /// restituisce riga utente data la matricola... + /// + /// matricola + /// + public DataLayer_AnagGen.UTENTERow rigaUtenteDaMatricola(string matricola) + { + DataLayer_AnagGen.UTENTERow answ = null; + try + { + answ = DataWrap.DW.taUtente.getByMatricola(matricola)[0]; + } + catch + { } + return answ; + } + + /// + /// restituisce una stringa formattata con cognome, nome e matricola + /// + public string CognomeNomeMatr + { + get + { + return string.Format("{0} {1} ({2})", rigaUtente.COGNOME, rigaUtente.NOME, rigaUtente.MATRICOLA); + } + } + + /// + /// restituisce una stringa della sigla dell'utente + /// + public string sigla + { + get + { + string answ = ""; + if (isAuth) + { + answ = rigaUtente.SIGLA; + } + return answ; + } + } + + /// + /// restituisce una stringa formattata con nome e cognome + /// + public string NomeCognome + { + get + { + string answ = ""; + if (isAuth) + { + answ = string.Format("{0} {1}", rigaUtente.NOME, rigaUtente.COGNOME); + } + return answ; + } + } + /// + /// restituisce una stringa formattata con cognome e nome + /// + public string CognomeNome + { + get + { + string answ = ""; + if (isAuth) + { + answ = string.Format("{0} {1}", rigaUtente.COGNOME, rigaUtente.NOME); + } + return answ; + } + } + /// + /// restituisce una stringa formattata con cognome + /// + public string cognome + { + get + { + string answ = ""; + if (isAuth) + { + answ = string.Format("{0}", rigaUtente.COGNOME); + } + return answ; + } + } + /// + /// restituisce una stringa formattata con nome + /// + public string nome + { + get + { + string answ = ""; + if (isAuth) + { + answ = string.Format("{0}", rigaUtente.NOME); + } + return answ; + } + } + + #endregion + + + /// + /// fornisce un file XML della mappa del sito abilitato per l'utente... + /// + public string mappaSito + { + get + { + return utils.obj.StringSessionObj("mappaSito"); + } + set + { + utils.obj.setSessionVal("mappaSito", value); + } + } + /// + /// LogOff utente con reset dati + /// + /// + /// + /// + public bool logOffUtente() + { + bool risultato = false; + clearAllUserData(); + utente = ""; + dominio = ""; + risultato = true; + return risultato; + } + /// + /// Procedura da chiamare DOPO aver messo in session i dati utente/dominio x caricare gli altri dati + /// + /// + /// + /// + public bool startUpUtente(string utenteAD) + { + bool risultato = false; + clearAllUserData(); + if (utenteAD != "") + { + char[] delimiters = new char[] { '\\' }; + string[] datiUt = currUserAD.Split(delimiters, StringSplitOptions.RemoveEmptyEntries); + utente = datiUt[1]; + dominio = datiUt[0]; + setupRiga(); + setupDirittiPermessi(); + risultato = true; + } + return risultato; + } + + /// + /// carica la riga dati utente + /// + protected virtual void setupRiga() + { + //logger.lg.scriviLog(string.Format(@"setupRiga x utente {0}\{1}", dominio, utente), tipoLog.STARTUP); + DataLayer_AnagGen.UTENTERow _rigaUtenteAnagGen = ((DataLayer_AnagGen.UTENTERow)DataWrap.DW.taUtente.GetDataByUtenteDominio(utente, dominio).Rows[0]); + rigaUtente = _rigaUtenteAnagGen; + } + /// + /// verifica nella tab diritti se l'utente abbia il right richiesto e fornisce bool in risposta + /// + /// + /// + public bool userHasRight(string diritto) + { + bool _answ = false; + if (diritti.Select(String.Format("COD_FUNZIONE ='{0}'", diritto)).Length > 0) + { + _answ = true; + } + return _answ; + } + /// + /// verifica le credenziali AD dell'utente... + /// + /// + /// + /// + public virtual bool ADuserOk(string dominio, string username) + { + bool isOk = false; + // ...verifico sia in tabella utenti... + bool isOkUser = false; + // ...e che abbia diritti per l'applicativo... + bool isOkPerm = false; + // controllo se richiesta autenticazione completa dominio + username o solo username... + bool authSenzaDominio = false; + try + { + authSenzaDominio = utils.obj.confReadBool("authSenzaDominio"); + } + catch + { } + if (authSenzaDominio) + { + isOkUser = (DataWrap.DW.taUtente.getByUserName(username).Rows.Count >= 1); + isOkPerm = (DataWrap.DW.taDiritti.GetByUserModulo(username, modulo).Rows.Count >= 1); + } + else + { + isOkUser = (DataWrap.DW.taUtente.GetDataByUtenteDominio(username, dominio).Rows.Count >= 1); + isOkPerm = (DataWrap.DW.taDiritti.GetByUserDominioModulo(username, dominio, modulo).Rows.Count >= 1); + } + // risultato... + isOk = (isOkUser && isOkPerm); + return isOk; + } + /// + /// è un boolean che indica se in session ci siano user/dominio e quindi utente autenticato in precedenza... + /// + public bool isAuth + { + get + { + return (utente != "" && dominio != ""); + } + } + /// + /// conta il numero di permessi utente per la pagina attuale e restituisce true se ne trova almeno 1 + /// + /// + /// + public bool isPageEnabled(string pagina) + { + bool answ = false; + try + { + System.Data.DataRow[] righe = permessi.Select(string.Format("URL = '{0}'", pagina)); + answ = (righe.Length >= 1); + } + catch + { } + return answ; + } + /// + /// verifica se il permesso utente per la pagina attuale sia write per almeno 1 diritto assegnato (restituisce true se ne trova almeno 1 con permessi2funzione.readwrite='S') + /// + /// + /// + public bool isPageWriteEnabled(string pagina) + { + bool answ = false; + try + { + System.Data.DataRow[] righe = permessiWrite.Select(string.Format("URL = '{0}'", pagina)); + answ = (righe.Length >= 1); + } + catch + { } + return answ; + } + /// + /// retituisce il nome apgina dai permessi utente + /// + /// + public string nomePaginaDaPermessi(string url) + { + string answ = ""; + try + { + answ = permessi.Select(string.Format("URL = '{0}'", url))[0]["NOME"].ToString(); + } + catch + { } + return answ; + } + /// + /// restituisce cognome e nome di un utente dato username... + /// + /// username + /// + public string CognomeNomeDaUsername(string userName) + { + string answ = "-"; + try + { + DataLayer_AnagGen.UTENTERow riga = DataWrap.DW.taUtente.getByUserName(userName)[0]; + answ = string.Format("{0} {1}", riga.COGNOME, riga.NOME); + } + catch + { + } + return answ; + } + /// + /// restituisce cognome e nome di un utente data la matricola... + /// + /// matricola + /// + public string CognomeNomeMatrDaMatricola(string matricola) + { + string answ = "-"; + try + { + DataLayer_AnagGen.UTENTERow riga = DataWrap.DW.taUtente.getByMatricola(matricola)[0]; + answ = string.Format("{0} {1} ({2})", riga.COGNOME, riga.NOME, riga.MATRICOLA); + } + catch + { + } + return answ; + } + /// + /// restituisce cognome e nome di un utente dato username e dominio... + /// + /// username + /// dominio + /// + public string CognomeNomeDaUsername(string userName, String dominio) + { + string answ = "-"; + try + { + DataLayer_AnagGen.UTENTERow riga = DataWrap.DW.taUtente.GetDataByUtenteDominio(userName, dominio)[0]; + answ = string.Format("{0} {1}", riga.COGNOME, riga.NOME); + } + catch + { + } + return answ; + } + /// + /// restituisce email di un utente dato username... + /// + /// username + /// + public string emailDaUsername(string userName) + { + string answ = "-"; + try + { + DataLayer_AnagGen.UTENTERow riga = DataWrap.DW.taUtente.getByUserName(userName)[0]; + answ = riga.EMAIL; + } + catch + { + } + return answ; + } + /// + /// restituisce email di un utente dato username e dominio... + /// + /// username + /// dominio + /// + public string emailDaUsername(string userName, String dominio) + { + string answ = "-"; + try + { + DataLayer_AnagGen.UTENTERow riga = DataWrap.DW.taUtente.GetDataByUtenteDominio(userName, dominio)[0]; + answ = riga.EMAIL; + } + catch + { + } + return answ; + } + /// + /// restituisce email di un utente dato username e dominio... + /// + /// Cognome Nome + /// + public string emailDaCognomeNome(string CognomeNome) + { + string answ = "-"; + try + { + DataLayer_AnagGen.UTENTERow riga = DataWrap.DW.taUtente.getByCognomeNome(CognomeNome)[0]; + answ = riga.EMAIL; + } + catch + { + } + return answ; + } + /// + /// restituisce cognome e nome di un utente dato username eventualmente comprensivo di dominio... + /// + /// {dominio\}userName + /// + public string CognomeNomeDaUser(string userNameFull) + { + string answ = "-"; + // se contiene "\" allora è con dominio... + if (userNameFull.IndexOf('\\') > -1) + { + string[] userData = userNameFull.ToString().Split('\\'); + answ = CognomeNomeDaUsername(userData[1], userData[0]); + } + else + { + answ = CognomeNomeDaUsername(userNameFull); + } + return answ; + } + /// + /// restituisce l'elenco delle funzioni abilitate dato modulo ed username partendo dalla radice dell'albero dei diritti + /// + /// + /// + /// + public DataLayer_AnagGen.FUNZIONEDataTable funzioniUtente(string codModulo, string user_name) + { + return DataWrap.DW.taFunzione.getFunByDiritti_999(codModulo, user_name); + } + /// + /// restituisce l'elenco degli utenti dato i diritti che devono avere come modulo/funzione + /// + /// nome del modulo + /// nome della funzione + /// tabella utenti + public DataLayer_AnagGen.UTENTEDataTable elencoDaDiritti(string codModulo, string codFunzione) + { + return DataWrap.DW.taUtente.getElencoByDiritti(codModulo, codFunzione); + } + /// + /// restituisce l'elenco delle email degli utenti dato i diritti che devono avere come modulo/funzione + /// + /// nome del modulo + /// nome della funzione + /// stringa di email separate da "," + public string elencoEmailDaDiritti(string codModulo, string codFunzione) + { + char sep = ','; + string answ = ""; + try + { + foreach (DataLayer_AnagGen.UTENTERow riga in elencoDaDiritti(codModulo, codFunzione)) + { + answ += string.Format("{0}{1} ", riga.EMAIL, sep); + } + if (answ.Length > 2) + { + answ = answ.Substring(0, answ.Length - 2); + } + } + catch + { + } + return answ; + } + /// + /// crea un nuovo utente con le credenziali indicate + /// + /// + /// + /// + /// + /// + /// + /// + public bool creaUtente(string dominio, string username, string cognome, string nome, string cod_cdc, string email, string matricola, string sigla) + { + bool answ = false; + try + { + DataWrap.DW.taUtente.Insert(dominio, username, cognome, nome, "1", matricola, cod_cdc, email, sigla, "IT", "s"); + answ = true; + } + catch { } + return answ; + } + /// + /// assegna il diritto all'utente indicato + /// + /// + /// + /// + /// + /// + /// + public bool assegnaDirittoUtente(string username, string cod_cdc, string cod_modulo, string cod_funzione) + { + bool answ = false; + try + { + DataWrap.DW.taDiritti.Insert(username, cod_cdc, cod_modulo, cod_funzione, "-1"); + answ = true; + } + catch (Exception exc) + { + lg.ErrorException("Eccezione: {0}", exc); + } + return answ; + } + /// + /// toglier il diritto all'utente indicato + /// + /// + /// + /// + /// + /// + /// + public bool rimuoviDirittoUtente(string username, string cod_cdc, string cod_modulo, string cod_funzione) + { + bool answ = false; + try + { + DataWrap.DW.taDiritti.DeleteQuery(username, cod_cdc, cod_modulo, cod_funzione); + answ = true; + } + catch (Exception exc) + { + lg.ErrorException("Eccezione: {0}", exc); + } + return answ; + } + /// + /// restituisce la tabella (per utente corrente) dei CDC abilitati per l'applicazione attuale da sessione (se non c'è salva...) + /// + /// modulo di cui si testano i diritti + /// + public virtual DataLayer_AnagGen.CDCDataTable getEnabledCdc(string cod_modulo) + { + //init tabella + DataLayer_AnagGen.CDCDataTable tabCdc = new DataLayer_AnagGen.CDCDataTable(); + // cerco in sessione elenco CDC + if (utils.obj.isInSessionObject("CdcEnabled4user4module")) + { + tabCdc = (DataLayer_AnagGen.CDCDataTable)utils.obj.objSessionObj("CdcEnabled4user4module"); + } + else + { + tabCdc = DataWrap.DW.taCdc.getEnabledCDC(utente, cod_modulo); + utils.obj.setSessionVal("CdcEnabled4user4module", tabCdc); + } + return tabCdc; + } + /// + /// pagina correntemente visualizzata (URL in sessione) + /// + public static string pagCorrente + { + get + { + return utils.obj.StringSessionObj("pagCorrente"); + } + set + { + utils.obj.setSessionVal("pagCorrente", value); + } + } + /// + /// pagina precedentemente visualizzata (URL in sessione) + /// + public static string pagPrecedente + { + get + { + return utils.obj.StringSessionObj("pagPrecedente"); + } + set + { + utils.obj.setSessionVal("pagPrecedente", value); + } + } + #endregion + + /// + /// versione statica della classe utente come singleton UtenTeSignletoN + /// + public static user_std UtSn = new user_std(); + + } } diff --git a/ETS_Data/utils.cs b/ETS_Data/utils.cs index bcf43ce..c3b68b1 100644 --- a/ETS_Data/utils.cs +++ b/ETS_Data/utils.cs @@ -458,16 +458,572 @@ namespace ETS_Data return answ; } - #endregion + #endregion - #region gestione file config - /// - /// legge dalla config un valore bool - /// - /// - /// - public bool confReadBool(string nomeParam) + //#region cache + + ///// + ///// carica dalla Cache un dato di tipo object generico + ///// + ///// + ///// + //public object objCacheObj(string nomeVar) + //{ + // if (HttpContext.Current.Cache[nomeVar] != null) + // { + // return HttpContext.Current.Cache[nomeVar]; + // } + // else + // { + // return ""; + // } + //} + + ///// + ///// carica dalla Cachee un dato di tipo boolean (se vuoto false) + ///// + ///// + ///// + //public bool BoolCacheObj(string nomeVar) + //{ + // if (HttpContext.Current.Cache[nomeVar] != null) + // { + // return (bool)HttpContext.Current.Cache[nomeVar]; + // } + // else + // { + // return false; + // } + //} + + ///// + ///// carica dalla Cachee un dato di tipo string + ///// + ///// + ///// + //public string StringCacheObj(string nomeVar) + //{ + // if (HttpContext.Current.Cache[nomeVar] != null) + // { + // return HttpContext.Current.Cache[nomeVar].ToString(); + // } + // else + // { + // return ""; + // } + //} + + ///// + ///// inserisce in Cache un valore + ///// + ///// nome della variabile + ///// valore + //public bool setCacheVal(string nome, object valore) + //{ + // bool _done = false; + // try + // { + // HttpContext.Current.Cache[nome] = valore; + // _done = true; + // } + // catch + // { } + // return _done; + //} + ///// + ///// inserisce in Cache un valore e su richiesta regitra tra le tab in cache da svuotare on update.. + ///// + ///// nome della variabile + ///// valore + ///// da registrare come tabella da svuotare on update + ///// + //public bool setCacheVal(string nome, object valore, bool setInTabInCache) + //{ + // bool _done = setCacheVal(nome, valore); + // if (setInTabInCache) + // { + // addTabInCache(nome); + // } + // return _done; + //} + ///// + ///// svuota una variabile dalla Cache + ///// + ///// + //public bool emptyCacheVal(string nome) + //{ + // bool _done = false; + // try + // { + // HttpContext.Current.Cache.Remove(nome); + // _done = true; + // } + // catch + // { } + // return _done; + //} + + ///// + ///// restituisce true se è presente in cache l'oggetto richiesto + ///// + ///// + ///// + //public bool isInCacheObject(string nomeVar) + //{ + // bool answ = false; + // bool stringAnsw = false; + // // cerco di fare cast a stringa... + // try + // { + // stringAnsw = (string)HttpContext.Current.Cache[nomeVar].ToString() != ""; + // } + // catch + // { } + // // infine condizione doppia... + // try + // { + // answ = (HttpContext.Current.Cache[nomeVar] != null && stringAnsw); + // } + // catch + // { } + // return answ; + //} + ///// + ///// elenco dictionary delle tab in cache da aggiornare con update svuotando da cache... + ///// + //public Dictionary tabelleInCache + //{ + // get + // { + // try + // { + // return (Dictionary)objCacheObj("tabelleInCache"); + // } + // catch + // { + // return new Dictionary(); + // } + // } + // set + // { + // setCacheVal("tabelleInCache", value); + // } + //} + ///// + ///// aggiunge la stringa corrente nel dictionary delle tabelle messe in cache e da aggiornare su comando update + ///// + ///// + //public void addTabInCache(string nuovaTab) + //{ + // // provo ad aggiungere nuova tab in elenco... + // Dictionary _tabelleInCache = tabelleInCache; + // try + // { + // _tabelleInCache.Add(nuovaTab, nuovaTab); + // tabelleInCache = _tabelleInCache; + // } + // catch + // { } + //} + + ///// + ///// elenco dictionary dei valori in session da NON aggiornare con update... + ///// + //public Dictionary valSess2SurvUpd + //{ + // get + // { + // try + // { + // return (Dictionary)objSessionObj("valoriInSession2Survive"); + // } + // catch + // { + // return new Dictionary(); + // } + // } + // set + // { + // setSessionVal("valoriInSession2Survive", value); + // } + //} + ///// + ///// aggiunge la stringa corrente nel dictionary delle tabelle messe in session che vanno preservate da comando update (es: oggetto selezionato...) + ///// + ///// + ///// + //public void addValInSession(string nomePar, string valore) + //{ + // // provo ad aggiungere nuova tab in elenco... + // Dictionary _valoriInSession2Survive = valSess2SurvUpd; + // // verifico se fare update o insert... + // if (_valoriInSession2Survive.ContainsKey(nomePar)) + // { + // // update, rimuovo vecchio valore... + // try + // { + // _valoriInSession2Survive.Remove(nomePar); + // } + // catch + // { } + // } + // // insert + // try + // { + // _valoriInSession2Survive.Add(nomePar, valore); + // valSess2SurvUpd = _valoriInSession2Survive; + // } + // catch + // { } + //} + ///// + ///// forza lo svuotamento delle tabelle indicate come in cache... + ///// + //public void flushRegisteredCache() + //{ + // // elimino tutte le tab nella pos tabInCache... + // foreach (KeyValuePair kvp in tabelleInCache) + // { + // HttpContext.Current.Cache.Remove(kvp.Value); + // } + // HttpContext.Current.Cache.Remove("tabelleInCache"); + //} + + //#endregion + + + //#region gestione valori in RedisCache + + ///// + ///// Connessione lazy a redis... + ///// + //private static Lazy lazyConnection = new Lazy(() => + //{ + // return ConnectionMultiplexer.Connect("127.0.0.1,abortConnect=false,ssl=false"); + //}); + ///// + ///// Oggetto statico connessione redis + ///// + //public static ConnectionMultiplexer connRedis + //{ + // get + // { + // return lazyConnection.Value; + // } + //} + ///// + ///// Restituisce una chiave salvata in RedisCache + ///// + ///// + ///// + //public string getRSV(string chiave) + //{ + // string answ = ""; + // try + // { + // IDatabase cache = connRedis.GetDatabase(); + // answ = cache.StringGet(chiave); + // } + // catch (Exception exc) + // { + // logger.lg.scriviLog(string.Format("Errore in getRSV:{0}{1}", Environment.NewLine, exc)); + // } + // return answ; + //} + ///// + ///// Salva una chiave in RedisCache + ///// + ///// + ///// + ///// + //public bool setRSV(string chiave, string valore) + //{ + // bool answ = false; + // try + // { + // IDatabase cache = connRedis.GetDatabase(); + // cache.StringSet(chiave, valore); + // answ = true; + // } + // catch (Exception exc) + // { + // logger.lg.scriviLog(string.Format("Errore in setRSV:{0}{1}", Environment.NewLine, exc)); + // } + // return answ; + //} + ///// + ///// Incrementa un contatore in Redis + ///// + ///// + ///// + //public long setRCntI(string chiave) + //{ + // long answ = 0; + // try + // { + // IDatabase cache = connRedis.GetDatabase(); + // answ = cache.StringIncrement(chiave, 1); + // } + // catch (Exception exc) + // { + // logger.lg.scriviLog(string.Format("Errore in setRCI:{0}{1}", Environment.NewLine, exc)); + // } + // return answ; + //} + ///// + ///// Decrementa un contatore in Redis + ///// + ///// + ///// + //public long setRCntD(string chiave) + //{ + // long answ = 0; + // try + // { + // IDatabase cache = connRedis.GetDatabase(); + // answ = cache.StringDecrement(chiave, 1); + // } + // catch (Exception exc) + // { + // logger.lg.scriviLog(string.Format("Errore in setRCD:{0}{1}", Environment.NewLine, exc)); + // } + // return answ; + //} + ///// + ///// Restituisce una chiave COUNTER in RedisCache + ///// + ///// + ///// + //public int getRCnt(string chiave) + //{ + // int answInt = 0; + // string answ = ""; + // try + // { + // IDatabase cache = connRedis.GetDatabase(); + // answ = cache.StringGet(chiave); + // answInt = Convert.ToInt32(answ); + // } + // catch (Exception exc) + // { + // logger.lg.scriviLog(string.Format("Errore in getRSV:{0}{1}", Environment.NewLine, exc)); + // } + // return answInt; + //} + ///// + ///// Resetta (elimina) un contatore in Redis + ///// + ///// + ///// + //public bool resetRCnt(string chiave) + //{ + // bool answ = false; + // try + // { + // IDatabase cache = connRedis.GetDatabase(); + // answ = cache.KeyDelete(chiave); + // } + // catch (Exception exc) + // { + // logger.lg.scriviLog(string.Format("Errore in resetRCnt:{0}{1}", Environment.NewLine, exc)); + // } + // return answ; + //} + ///// + ///// Restituisce un set KVP (Key Value Pair) salvati in RedisCache + ///// + ///// + ///// + //public RedisValue[] getRKeys(RedisKey[] chiavi) + //{ + // RedisValue[] answ = null; + // try + // { + // IDatabase cache = connRedis.GetDatabase(); + // answ = cache.StringGet(chiavi); + // } + // catch (Exception exc) + // { + // logger.lg.scriviLog(string.Format("Errore in getRKeys:{0}{1}", Environment.NewLine, exc)); + // } + // return answ; + //} + ///// + ///// Salva un set KVP (Key Value Pair) in RedisCache + ///// + ///// Set KVP chiave-valore da salvare + ///// + //public bool setRKeys(KeyValuePair[] valori) + //{ + // bool answ = false; + // try + // { + // IDatabase cache = connRedis.GetDatabase(); + // cache.StringSet(valori); + // answ = true; + // } + // catch (Exception exc) + // { + // logger.lg.scriviLog(string.Format("Errore in setRKeys:{0}{1}", Environment.NewLine, exc)); + // } + // return answ; + //} + ///// + ///// Verifica se ci siano valori nella hash indicata... + ///// + ///// + ///// + //public bool redHashPresent(RedisKey key) + //{ + // bool answ = false; + // // cerco se ci sia valore in redis... + // IDatabase cache = connRedis.GetDatabase(); + // try + // { + // answ = cache.HashGetAll(key).Length > 0; + // } + // catch + // { } + // return answ; + //} + ///// + ///// Recupera tutti i valori dalla hash + ///// + ///// + ///// + //public KeyValuePair[] redGetHash(string hashKey) + //{ + // KeyValuePair[] answ = new KeyValuePair[1]; + // // cerco se ci sia valore in redis... + // IDatabase cache = connRedis.GetDatabase(); + // try + // { + // RedisKey chiave = hashKey; + // HashEntry[] valori = cache.HashGetAll(chiave); + // answ = new KeyValuePair[valori.Length]; + // int i = 0; + // foreach (HashEntry item in valori) + // { + // answ[i] = new KeyValuePair(item.Name, item.Value); + // i++; + // } + // } + // catch + // { } + // return answ; + //} + ///// + ///// Salvataggio di una hash di valori + ///// + ///// + ///// + ///// + //public bool redSaveHash(string hashKey, KeyValuePair[] hashFields) + //{ + // bool answ = false; + // // cerco se ci sia valore in redis... + // IDatabase cache = connRedis.GetDatabase(); + // try + // { + // RedisKey chiave = hashKey; + // HashEntry[] valori = new HashEntry[hashFields.Length]; + // int i = 0; + // foreach (KeyValuePair kvp in hashFields) + // { + // valori[i] = new HashEntry(kvp.Key, kvp.Value); + // i++; + // } + // cache.HashSet(chiave, valori); + // answ = true; + // } + // catch + // { } + // return answ; + //} + ///// + ///// Elimina una key (hash, string) + ///// + ///// + ///// + //public bool redDelKey(string key) + //{ + // bool answ = false; + // // cerco se ci sia valore in redis... + // IDatabase cache = connRedis.GetDatabase(); + // try + // { + // RedisKey chiave = key; + // cache.KeyDelete(chiave); + // answ = true; + // } + // catch + // { } + // return answ; + //} + ///// + ///// Flush completo cache redis + ///// + ///// ** = tutti + ///// + //public bool redFlushKey(string keyPattern) + //{ + // bool answ = false; + // // cerco se ci sia valore in redis... + // IDatabase cache = connRedis.GetDatabase(); + // // se vuoto = ALL... + // keyPattern = keyPattern == "" ? "**" : keyPattern; + // try + // { + // foreach (var ep in connRedis.GetEndPoints()) + // { + // var server = connRedis.GetServer(ep); + // foreach (var key in server.Keys(pattern: keyPattern)) + // { + // cache.KeyDelete(key); + // } + // } + // answ = true; + // } + // catch (Exception exc) + // { + // logger.lg.scriviLog(string.Format("{0}", exc), tipoLog.EXCEPTION); + // } + // return answ; + //} + ///// + ///// Restituisce numero record in Redis DB + ///// + //public long numRecRedis + //{ + // get + // { + // long answ = 0; + // try + // { + // foreach (var ep in connRedis.GetEndPoints()) + // { + // var server = connRedis.GetServer(ep); + // answ += server.DatabaseSize(); + // } + // } + // catch + // { } + // return answ; + // } + //} + + + //#endregion + + #region gestione file config + + /// + /// legge dalla config un valore bool + /// + /// + /// + public bool confReadBool(string nomeParam) { bool answ = false; try diff --git a/PROJ-ETS/PROJ-ETS/BazaarImport.aspx b/PROJ-ETS/PROJ-ETS/BazaarImport.aspx new file mode 100644 index 0000000..cd8bc5f --- /dev/null +++ b/PROJ-ETS/PROJ-ETS/BazaarImport.aspx @@ -0,0 +1,3 @@ +<%@ Page Title="" Language="C#" MasterPageFile="~/WebMasterPages/Bazaar.master" AutoEventWireup="true" CodeBehind="BazaarImport.aspx.cs" Inherits="PROJ_ETS.BazaarImport" %> + + diff --git a/PROJ-ETS/PROJ-ETS/BazaarImport.aspx.cs b/PROJ-ETS/PROJ-ETS/BazaarImport.aspx.cs new file mode 100644 index 0000000..4cd033e --- /dev/null +++ b/PROJ-ETS/PROJ-ETS/BazaarImport.aspx.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +namespace PROJ_ETS +{ + public partial class BazaarImport : System.Web.UI.Page + { + protected void Page_Load(object sender, EventArgs e) + { + + } + } +} \ No newline at end of file diff --git a/PROJ-ETS/PROJ-ETS/BazaarImport.aspx.designer.cs b/PROJ-ETS/PROJ-ETS/BazaarImport.aspx.designer.cs new file mode 100644 index 0000000..28328fa --- /dev/null +++ b/PROJ-ETS/PROJ-ETS/BazaarImport.aspx.designer.cs @@ -0,0 +1,17 @@ +//------------------------------------------------------------------------------ +// +// Codice generato da uno strumento. +// +// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se +// il codice viene rigenerato. +// +//------------------------------------------------------------------------------ + +namespace PROJ_ETS +{ + + + public partial class BazaarImport + { + } +} diff --git a/PROJ-ETS/PROJ-ETS/Reset.aspx b/PROJ-ETS/PROJ-ETS/Reset.aspx new file mode 100644 index 0000000..d74e39c --- /dev/null +++ b/PROJ-ETS/PROJ-ETS/Reset.aspx @@ -0,0 +1,18 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Reset.aspx.cs" Inherits="PROJ_ETS.Reset" %> + + + + + + + + + +
+
+

Reset applicativo

+ +
+
+ + diff --git a/PROJ-ETS/PROJ-ETS/Reset.aspx.cs b/PROJ-ETS/PROJ-ETS/Reset.aspx.cs new file mode 100644 index 0000000..e73a12c --- /dev/null +++ b/PROJ-ETS/PROJ-ETS/Reset.aspx.cs @@ -0,0 +1,72 @@ +using ETS_Data; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +namespace PROJ_ETS +{ + public partial class Reset : System.Web.UI.Page + { + protected void Page_Load(object sender, EventArgs e) + { + //string paginaPrec = user_std.UtSn.pag; + string action = utils.obj.QSS("Action"); + string nextPage = utils.obj.StringSessionObj("nextPage"); + string testo = ""; + long recPrev = 0; + long recPost = 0; + if (action != "") + { + //if (action.Contains("C")) + //{ + // recPrev = Cache.Count; + // // reset dati in cache... + // utils.obj.flushRegisteredCache(); + // recPost = Cache.Count; + // testo += string.Format("
Reset Cache: {0} --> {1}
", recPrev, recPost); + //} + //if (action.Contains("D")) + //{ + // recPrev = utils.obj.numRecAppConf; + // // reset dati in cache x DbConfig... + // utils.obj.resetAppConf(); + // recPost = utils.obj.numRecAppConf; + // testo += string.Format("
Reset DB AppConf: {0} --> {1}
", recPrev, recPost); + //} + //if (action.Contains("R")) + //{ + // recPrev = utils.obj.numRecRedis; + // // reset dati in cache x DbConfig... + // utils.obj.redFlushKey("**"); + // recPost = utils.obj.numRecRedis; + // testo += string.Format("
Reset Redis: {0} --> {1}
", recPrev, recPost); + //} + if (action.Contains("S")) + { + recPrev = Session.Count; + // reset dati in sessione... + Session.Clear(); + recPost = Session.Count; + testo += string.Format("
Reset Sessione: {0} --> {1}
", recPrev, recPost); + } + //if (action.Contains("V")) + //{ + // recPrev = DataWrap.DW.numRecVoc; + // // aggiorno vocabolario + // DataWrap.DW.resetVocabolario(); + // recPost = DataWrap.DW.numRecVoc; + // testo += string.Format("
Reset Vocabolario: {0} --> {1}
", recPrev, recPost); + //} + } + lblOut.Text = testo; + if (nextPage != "") + { + //logger.lg.scriviLog(string.Format("Reset {0} OK: redirect a pag {1}", action, nextPage), tipoLog.INFO); + Response.Redirect(nextPage); + } + } + } +} \ No newline at end of file diff --git a/PROJ-ETS/PROJ-ETS/Reset.aspx.designer.cs b/PROJ-ETS/PROJ-ETS/Reset.aspx.designer.cs new file mode 100644 index 0000000..85f7712 --- /dev/null +++ b/PROJ-ETS/PROJ-ETS/Reset.aspx.designer.cs @@ -0,0 +1,33 @@ +//------------------------------------------------------------------------------ +// +// Codice generato da uno strumento. +// +// Le modifiche a questo file possono causare un comportamento non corretto e verranno perse se +// il codice viene rigenerato. +// +//------------------------------------------------------------------------------ + +namespace PROJ_ETS { + + + public partial class Reset { + + /// + /// Controllo form1. + /// + /// + /// Campo generato automaticamente. + /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// Controllo lblOut. + /// + /// + /// Campo generato automaticamente. + /// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind. + /// + protected global::System.Web.UI.WebControls.Label lblOut; + } +} diff --git a/PROJ-ETS/packages/NLog.4.2.3/NLog.4.2.3.nupkg b/PROJ-ETS/packages/NLog.4.2.3/NLog.4.2.3.nupkg deleted file mode 100644 index c0b3c810601815bd9d2e73c8b0004cb9a658f700..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1166223 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%0D*R)n(FO})-yJ3B51zO``KYy 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%0A# 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�(LM%cM1b!DP4~L7!LY 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

3US7Nm*P+@xu- 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 z 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 tzrUyY9d`dp|LHUSF>(VM9u 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 - - - 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. - - - - 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. - - - - 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. - - - - - Gets the log event. - - - - - Gets the continuation. - - - - - NLog internal logger. - - - - - Initializes static members of the InternalLogger class. - - - - - Logs the specified message at the specified level. - - Log level. - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the specified level. - - Log level. - Log message. - - - - Logs the specified message at the Trace level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Trace level. - - Log message. - - - - Logs the specified message at the Debug level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Debug level. - - Log message. - - - - Logs the specified message at the Info level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Info level. - - Log message. - - - - Logs the specified message at the Warn level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Warn level. - - Log message. - - - - Logs the specified message at the Error level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Error level. - - Log message. - - - - Logs the specified message at the Fatal level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Fatal level. - - Log message. - - - - Logs the assembly version and file version of the given Assembly. - - The assembly to log. - - - - Gets or sets the internal log level. - - - - - Gets or sets a value indicating whether internal messages should be written to the console output stream. - - - - - Gets or sets a value indicating whether internal messages should be written to the console error stream. - - - - - 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. - - - - - 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. - - - - - 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. - - - - 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. - - - - Gets the number of items in the array. - - - - - Condition and expression. - - - - - 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. - - - - Initializes a new instance of the class. - - Left hand side of the AND expression. - 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. - - - - Gets the left hand side of the AND expression. - - - - - Gets the right hand side of the AND expression. - - - - - 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). - - - - - Condition layout expression (represented by a string literal - with embedded ${}). - - - - - Initializes a new instance of the class. - - 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. - - - - Gets the layout. - - 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. - - - - Returns a string representation of the expression. - - The literal value. - - - - Evaluates the expression. - - Evaluation context. - The literal value as passed in the constructor. - - - - Gets the literal value. - - The literal value. - - - - 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. - - - - - 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. - - - - 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. - - - - Returns a string representation of the expression. - - - A that represents the condition expression. - - - - - Evaluates the expression. - - Evaluation context. - Expression result. - - - - Gets the method info. - - - - - Gets the method parameters. - - The method parameters. - - - - 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. - - - - Marks the class as containing condition methods. - - - - - Condition not expression. - - - - - Initializes a new instance of the class. - - The expression. - - - - Returns a string representation of the expression. - - - A that represents the condition expression. - - - - - Evaluates the expression. - - Evaluation context. - Expression result. - - - - Gets the expression to be negated. - - The expression. - - - - Condition or expression. - - - - - Initializes a new instance of the class. - - Left hand side of the OR expression. - Right hand side of the OR expression. - - - - 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. - - - - Gets the left expression. - - The left expression. - - - - Gets the right expression. - - The right expression. - - - - 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. - - - - - Condition relational (==, !=, <, <=, - > or >=) expression. - - - - - Initializes a new instance of the class. - - The left expression. - The right expression. - The relational 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. - - - - Gets the left expression. - - The left expression. - - - - Gets the right expression. - - The right expression. - - - - Gets the relational operator. - - The operator. - - - - 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. - - - - 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 - - - - Gets the token position. - - The token position. - - - - 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. - - - - 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. - - - - - 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. - - - - - 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. - - - - - Initializes a new instance of the class. - - The assemblies to scan for named items. - - - - Registers named items from the assembly. - - The assembly. - - - - Registers named items from the assembly. - - The assembly. - Item name prefix. - - - - 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. - - - - - 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. - - The layout renderer factory. - - - - Gets the factory. - - The layout factory. - - - - Gets the ambient property factory. - - The ambient property factory. - - - - Gets the time source factory. - - The time source factory. - - - - Gets the condition method factory. - - The condition method factory. - - - - Attribute used to mark the default parameters for layout renderers. - - - - - Initializes a new instance of the class. - - - - - Factory for class-based items. - - The base type of each item. - The type of the attribute used to annotate items. - - - - 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 means to populate factories of named items (such as targets, layouts, layout renderers, etc.). - - - - - 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. - - - - 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. - - - - - 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. - - - - 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. - - - - Gets or sets the installation log level. - - - - - Gets or sets a value indicating whether to ignore failures during installation. - - - - - Gets the installation parameters. - - - - - Gets or sets the log output. - - - - - Keeps logging configuration and provides simple API - to modify it. - - - - - Variables defined in xml or in API. name is case case insensitive. - - - - - Initializes a new instance of the class. - - - - - 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. - - - - - 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 - - - - - 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. - - - - - Use the old exception log handling of NLog 3.0? - - - - - 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. - - - - - Arguments for events. - - - - - Initializes a new instance of the class. - - The old configuration. - The new configuration. - - - - Gets the old configuration. - - The old configuration. - - - - Gets the new configuration. - - The new configuration. - - - - Arguments for . - - - - - 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 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 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. - - - - Enables logging for a particular level. - - Level to be enabled. - - - - Disables logging for a particular level. - - Level to be disabled. - - - - 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. - - - - 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. - - - - - Factory for locating methods. - - The type of the class marker attribute. - The type of the method marker attribute. - - - - 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 . - The result. - A value of true if the method was found, false otherwise. - - - - 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. - - - - - 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. - - - - - 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 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. - - - - Gets the element name. - - - - - Gets the dictionary of attribute values. - - - - - Gets the collection of child elements. - - - - - Gets the value of the element. - - - - - Attribute used to mark the required parameters for targets, - layout targets and filters. - - - - - Provides simple programmatic configuration API used for trivial logging cases. - - - - - 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 producing correct results regardless of the thread - it's running on. - - - - - A class for configuring NLog through an XML configuration file - (App.config style or App.nlog style). - - - - - Initializes a new instance of the class. - - Configuration file to be read. - - - - Initializes a new instance of the class. - - Configuration file to be read. - 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). - - - - 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. - - 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. - - - - Re-reads the original configuration file and returns the new object. - - The new object. - - - - 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. - - - - Parse the root - - - path to directory of config file. - - - - Parse {configuration} xml element. - - - path to directory of config file. - - - - Parse {NLog} xml element. - - - path to directory of config file. - - - - Parse {Rules} xml element - - - Rules are added to this parameter. - - - - Parse {Logger} xml element - - - Rules are added to this parameter. - - - - Replace a simple variable with a value. The orginal value is removed and thus we cannot redo this in a later stage. - - Use for that: - - - - - - - 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 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. - - - - - Matches when the specified condition is met. - - - Conditions are expressed using a simple language - described
here. - - - - - 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 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
- .
-
- - - Gets or sets the action to be taken when filter matches. - - - - - - 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
- .
-
- - - Gets or sets the condition expression. - - - - - - 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. - - - - - 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
- .
-
- - - Gets or sets a value indicating whether to ignore case when comparing strings. - - - - - - Gets or sets the substring to be matched. - - - - - - Matches when the calculated layout is equal to the specified substring. - This filter is deprecated in favor of <when /> which is based on conditions. - - - - - 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
- .
-
- - - Gets or sets a value indicating whether to ignore case when comparing strings. - - - - - - Gets or sets a string to compare the layout to. - - - - - - Matches when the calculated layout does NOT contain the specified substring. - This filter is deprecated in favor of <when /> which is based on conditions. - - - - - 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
- .
-
- - - Gets or sets the substring to be matched. - - - - - - Gets or sets a value indicating whether to ignore case when comparing strings. - - - - - - Matches when the calculated layout is NOT equal to the specified substring. - This filter is deprecated in favor of <when /> which is based on conditions. - - - - - Initializes a new instance of the class. - - - - - 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
- .
-
- - - Gets or sets a string to compare the layout to. - - - - - - Gets or sets a value indicating whether to ignore case when comparing strings. - - - - - - 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. - - - - Sets the information of the logging event. - - The exception information of the logging event. - - - - - Sets the level of the logging event. - - The level of the logging event. - - - - - Sets the logger name of the logging event. - - The logger name of the logging event. - - - - - Sets the log message on the logging event. - - The log message for the logging event. - - - - - Sets the log message and parameters for formatting on the logging event. - - A composite format string. - The object to format. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - Sets a per-event context property on the logging event. - - The name of the context property. - The value of the context property. - - - - - Sets multiple per-event context properties on the logging event. - - The properties to set. - - - - - Sets the timestamp of the logging event. - - The timestamp of the logging event. - - - - - Sets the stack trace for the event info. - - The stack trace. - Index of the first user stack frame within the stack trace. - - - - - Writes the log event to the underlying logger. - - - - - Writes the log event to the underlying logger. - - If condition is true, write log event; otherwise ignore event. - - - - Writes the log event to the underlying logger. - - If condition is true, write log event; otherwise ignore event. - - - - Gets the created by the builder. - - - - - Extension methods for NLog . - - - - - Starts building a log event with the specified . - - The logger to write the log event to. - The log level. - - - - - Starts building a log event at the Trace level. - - The logger to write the log event to. - - - - - Starts building a log event at the Debug level. - - The logger to write the log event to. - - - - - Starts building a log event at the Info level. - - The logger to write the log event to. - - - - - Starts building a log event at the Warn level. - - The logger to write the log event to. - - - - - Starts building a log event at the Error level. - - The logger to write the log event to. - - - - - Starts building a log event at the Fatal level. - - The logger to write the log event to. - - - - - Global Diagnostics Context - used for log4net compatibility. - - - - - 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 . - - - - 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 . - - - - 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 . - - - - 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 . - - - - Gets the Global Diagnostics Context named item. - - Item name. - The item value, 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. - - - - - Provides logging interface and utility functions. - - - Auto-generated Logger members for binary compatibility with NLog 1.0. - - - - - Logger with only generic methods (passing 'LogLevel' to methods) and core properties. - - - Auto-generated Logger members for binary compatibility with NLog 1.0. - - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - - Provides an interface to execute System.Actions without surfacing any exceptions raised for that action. - - - - - Runs 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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 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 . - - - - Various helper methods for accessing state of ASP application. - - - - - Internal configuration manager used to read .NET configuration files. - Just a wrapper around the BCL ConfigurationManager, but used to enable - unit testing. - - - - - Interface for the wrapper around System.Configuration.ConfigurationManager. - - - - - Gets the wrapper around ConfigurationManager.AppSettings. - - - - - 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. - - - - 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. - - - - - 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 - - - - Wrapper IDictionaryEnumerator. - - - - - Initializes a new instance of the class. - - The wrapped. - - - - 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. - - - - - 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. - - - - - UTF-8 BOM 239, 187, 191 - - - - - 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 - - - - IsNullOrWhiteSpace for .net 3.5 - - - - - - - Safe way to get environment variables. - - - - - Helper class for dealing with exceptions. - - - - - Determines whether the exception must be rethrown. - - The exception. - True if the exception must be rethrown, false otherwise. - - - - Object construction helper. - - - - - Adapter for to - - - - - 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. - - - - - Process exit event. - - - - - Domain unloaded event. - - - - - Initializes a new instance of the class. - - The to wrap. - - - - Gets a the current wrappered in a . - - - - - 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. - - - - - 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. - - - - Writes the specified bytes. - - The bytes. - - - - Flushes this instance. - - - - - Closes this instance. - - - - - Gets the file info. - - The last file write time. The value must be of UTC kind. - Length of the file in bytes. - True if the operation succeeded, false otherwise. - - - - 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. - - - - Records the last write time for a file. - - - - - Records the last write time for a file to be specific date. - - Date and time when the last write occurred. The value must be of UTC kind. - - - - 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. - - - - Gets the path of the file, including file extension. - - The name of the file. - - - - Gets the last write time. - - The last write time. DateTime value must be of UTC kind. - - - - Gets the open time of the file. - - The open time. DateTime value must be of UTC kind. - - - - Gets the file creation parameters. - - The file creation parameters. - - - - 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 file info. - - The last file write time. The value must be of UTC kind. - Length of the file. - True if the operation succeeded, false otherwise. - - - - Writes the specified bytes to a file. - - The bytes to be written. - - - - Factory class which creates objects. - - - - - 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. - - - - 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. - - - - - Initializes a new "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. - - - - 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. - - - - - Gets the file info for a particular appender. - - The file name associated with a particular appender. - The last file write time. The value must be of UTC kind. - Length of the file. - when the operation succeeded; otherwise. - - - - Closes the specified appender and removes it from the list. - - File name of the appender to be closed. - - - - 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. - - - - - 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 used the native implementation. - - - - - Gets or sets the file attributes (Windows only). - - - - - 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 to be written. - - - - Closes this instance. - - - - - Flushes this instance. - - - - - Gets the file info. - - The last file write time. The value must be of UTC kind. - Length of the file. - - True if the operation succeeded, false otherwise. - - - - - 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. - - - - Flushes this instance. - - - - - Closes this instance. - - - - - Gets the file info. - - The last file write time. The value must be of UTC kind. - Length of the file. - - True if the operation succeeded, false otherwise. - - - - - 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. - - - - Flushes this instance. - - - - - Closes this instance. - - - - - Gets the file info. - - The last file write time. The value must be of UTC kind. - Length of the file. - - True if the operation succeeded, false otherwise. - - - - - 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 routines to get the size and last write time of the specified file. - - - - - Initializes static members of the FileInfoHelper class. - - - - - Gets the information about a file. - - Name of the file. - The file handle. - The last write time of the file in UTC. - Length of the file. - A value of true if file information was retrieved successfully, false otherwise. - - - - toString(format) if the object is a - - value to be converted - format value - provider, for example culture - - - - - 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. - - - - - 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. - - - - 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. - - - - - 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. - - - - - Logger configuration. - - - - - Initializes a new instance of the class. - - The targets by level. - Use the old exception log handling of NLog 3.0? - - - - - 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. - - - - - Use the old exception log handling of NLog 3.0? - - - - - Watches multiple files at the same time and raises an event whenever - a single change is detected in any of those files. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Stops the watching. - - - - - Watches the specified files for changes. - - The file names. - - - - Occurs when a change is detected in one of the monitored files. - - - - - Supports mocking of SMTP Client code. - - - - - Sends a QUIT message to the SMTP server, gracefully ends the TCP connection, and releases all resources used by the current instance of the class. - - - - - Network sender which uses HTTP or HTTPS POST. - - - - - 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. - - - - Finalizes an instance of the NetworkSender class. - - - - - 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. - - - - Gets the address of the network endpoint. - - - - - Gets the last send time. - - - - - 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. - - - - - 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. - - - - 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. - - - - - Gets underlying socket instance. - - - - - 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. - The root objects. - Ordered list of objects implementing T. - - - - Parameter validation utilities. - - - - - Asserts that the value is not null and throws otherwise. - - The value to check. - Name of the parameter. - - - - 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. - - - - - Portable implementation of . - - - - - Gets the information about a file. - - Name of the file. - The file handle. - The last write time of the file in UTC. - Length of the file. - - A value of true if file information was retrieved successfully, false otherwise. - - - - - Portable implementation of . - - - - - 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). - - - - - Initializes a new instance of the class. - - - - - Gets the name of the process. - - - - - Gets current process ID. - - - - - - Gets current process name. - - - - - - Gets current process name (excluding filename extension, if any). - - - - - - Reflection helpers for accessing properties. - - - - - 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 - - - - - 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. - - - - Check current char while not changing the position. - - - - - - Read the current char and change position - - - - - - Get the substring of the - - - - - - - - Current position in - - - - - Full text to be parsed - - - - - 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. - - - - Provides helpers to sort log events and associated continuations. - - - - - 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 . - - - - - Key selector delegate. - - The type of the value. - The type of the key. - Value to extract key information from. - Key selected from log event. - - - - Utilities for dealing with values. - - - - - Stream helpers - - - - - Copy stream input to output. Skip the first bytes - - stream to read from - stream to write to - first bytes to skip (optional) - - - - Represents target with a chain of filters which determine - whether logging should happen. - - - - - Initializes a new instance of the class. - - The target. - The filter chain. - - - - Gets the stack trace usage. - - A value that determines stack trace handling. - - - - 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. - - - - 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. - - 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. - - - - - Win32-optimized implementation of . - - - - - Gets the information about a file. - - Name of the file. - The file handle. - The last write time of the file in UTC. - Length of the file. - - A value of true if file information was retrieved successfully, false otherwise. - - - - - 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 - - - - - Safe version of WriteAttributeString - - - - - - - - - - Safe version of WriteAttributeString - - - - - - - - Safe version of WriteElementSafeString - - - - - - - - - - Safe version of WriteCData - - - - - - - Log event context data. - - - - - Render environmental information related to logging events. - - - - - 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 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. - - - - Gets the logging configuration this target is part of. - - - - - Initializes a new instance of the class. - - - - - Renders all log event's properties and appends them to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets string that will be used to separate key/value pairs. - - - - - - Gets or sets how key/value pairs will be formatted. - - - - - - Designates a property of the class as an ambient property. - - - - - 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 - - - - - Render the layout - - - - - - - Convert the formatting string - - - - - - - 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 - - - - - ASP Application variable. - - - - - Renders the specified ASP Application variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the ASP Application variable name. - - - - - - ASP Request variable. - - - - - Renders the specified ASP Request variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the item name. The QueryString, Form, Cookies, or ServerVariables collection variables having the specified name are rendered. - - - - - - Gets or sets the QueryString variable to be rendered. - - - - - - Gets or sets the form variable to be rendered. - - - - - - Gets or sets the cookie to be rendered. - - - - - - Gets or sets the ServerVariables item to be rendered. - - - - - - ASP Session variable. - - - - - Renders the specified ASP Session variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the session variable name. - - - - - - Assembly version. - - - - - Renders assembly version and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - The current application domain's base directory. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Renders the application base directory and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - The call site (class name, method name and source information). - - - - - Initializes a new instance of the class. - - - - - Renders the call site and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to render the class name. - - - - - - 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 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. - - - - - The call site source line number. Full callsite - - - - - Renders the call site and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the number of frames to skip. - - - - - Gets the level of stack trace information required by the implementing class. - - - - - A counter value (increases on each layout rendering). - - - - - Initializes a new instance of the class. - - - - - Renders the specified counter value and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - Current date and time. - - - - - Initializes a new instance of the class. - - - - - Renders the current date and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the culture used for rendering. - - - - - - Gets or sets the date format. Can be any argument accepted by DateTime.ToString(format). - - - - - - Gets or sets a value indicating whether to output UTC time instead of local time. - - - - - - The environment variable. - - - - - Renders the specified environment variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - Log event context data. - - - - - Renders the specified log event context item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the item. - - - - - - Log event context data. See . - - - - - Log event context data with default options. - - - - - Renders the specified log event context item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the item. - - - - - - Format string for conversion from object to string. - - - - - Gets or sets the culture used for rendering. - - - - - - Exception information provided through - a call to one of the Logger.*Exception() methods. - - - - - Initializes a new instance of the class. - - - - - 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. - - - - 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 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. - - - - - - Renders contents of the specified file. - - - - - Initializes a new instance of the class. - - - - - Renders the contents of the specified file and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the file. - - - - - - Gets or sets the encoding used in the file. - - The encoding. - - - - - The information about the garbage collector. - - - - - Initializes a new instance of the class. - - - - - Renders the selected process information. - - The to append the rendered data to. - Logging event. - - - - Gets or sets the property to retrieve. - - - - - - 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. - - - - - Renders the specified Global Diagnostics Context item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the item. - - - - - - Globally-unique identifier (GUID). - - - - - Initializes a new instance of the class. - - - - - Renders a newly generated GUID string and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the GUID format as accepted by Guid.ToString() method. - - - - - - Thread identity information (name and authentication information). - - - - - Initializes a new instance of the class. - - - - - Renders the specified identity information and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the separator to be used when concatenating - parts of identity information. - - - - - - Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.Name. - - - - - - Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.AuthenticationType. - - - - - - Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.IsAuthenticated. - - - - - - Installation parameter (passed to InstallNLogConfig). - - - - - Renders the specified installation parameter and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the parameter. - - - - - - Marks class as a layout renderer and assigns a format string to it. - - - - - Initializes a new instance of the class. - - Name of the layout renderer. - - - - The log 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. - - - - Renders the specified string literal and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the literal text. - - - - - - XML event description compatible with log4j, Chainsaw and NLogViewer. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Renders the XML logging event and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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 stack. - - - - - - Gets or sets the NDC item separator. - - - - - - Gets the level of stack trace information required by the implementing class. - - - - - The logger name. - - - - - Renders the logger name and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to render short logger name (the part after the trailing dot character). - - - - - - The date and time in a long, sortable format yyyy-MM-dd HH:mm:ss.mmm. - - - - - Renders the date in the long format (yyyy-MM-dd HH:mm:ss.mmm) and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to output UTC time instead of local time. - - - - - - 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. - - - - - Renders the specified MDC item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the item. - - - - - - The formatted log message. - - - - - Initializes a new instance of the class. - - - - - Renders the log message including any positional parameters and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to log exception along with message. - - - - - - Gets or sets the string that separates message from the exception. - - - - - - Nested Diagnostic Context item. Provided for compatibility with log4net. - - - - - Initializes a new instance of the class. - - - - - Renders the specified Nested Diagnostics Context item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - 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. - - - - - Renders the directory where NLog is located and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the file to be Path.Combine()'d with the directory name. - - - - - - Gets or sets the name of the directory to be Path.Combine()'d with the directory name. - - - - - - The performance counter. - - - - - 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. - - - - 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. - - - - - - 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. - - - - - Initializes the layout renderer. - - - - - Closes the layout renderer. - - - - - Renders the selected process information. - - The to append the rendered data to. - Logging event. - - - - Gets or sets the property to retrieve. - - - - - - 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. - - - - - Renders the current process name (optionally with a full path). - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to write the full path to the process executable. - - - - - - The process time in format HH:mm:ss.mmm. - - - - - Renders the current process running time and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - High precision timer, based on the value returned from QueryPerformanceCounter() optionally converted to seconds. - - - - - Initializes a new instance of the class. - - - - - 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. - - - - 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). - - - - - - A value from the Registry. - - - - - Reads the specified registry key and value and appends it to - the passed . - - The to append the rendered data to. - Logging event. Ignored. - - - - 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. - - - - - - Gets or sets the registry key. - - - Must have one of the forms: -
    -
  • HKLM\Key\Full\Name
  • -
  • HKEY_LOCAL_MACHINE\Key\Full\Name
  • -
  • HKCU\Key\Full\Name
  • -
  • HKEY_CURRENT_USER\Key\Full\Name
  • -
-
- -
- - - The short date in a sortable format yyyy-MM-dd. - - - - - Renders the current short date string (yyyy-MM-dd) and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to output UTC time instead of local time. - - - - - - System special folder path (includes My Documents, My Music, Program Files, Desktop, and more). - - - - - Renders the directory where NLog is located and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - 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. - - - - - Renders the call site and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - A temporary directory. - - - - - Renders the directory where NLog is located and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the file to be Path.Combine()'d with the directory name. - - - - - - Gets or sets the name of the directory to be Path.Combine()'d with the directory name. - - - - - - The 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.mmm. - - - - - 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. - - - - Gets or sets a value indicating whether to output UTC time instead of local time. - - - - - - 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) - - - - - Renders the specified variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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 - - - - - Thread Windows identity information (username). - - - - - Initializes a new instance of the class. - - - - - Renders the current thread windows identity information and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether domain name should be included. - - - - - - Gets or sets a value indicating whether username should be included. - - - - - - Applies caching to another layout output. - - - The value of the inner layout will be rendered only once and reused subsequently. - - - - - Decodes text "encrypted" with ROT-13. - - - See http://en.wikipedia.org/wiki/ROT13. - - - - - Renders the inner message, processes it and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Renders the inner layout contents. - - The log event. - Contents of inner layout. - - - - Gets or sets the wrapped layout. - - - - - - Initializes a new instance of the class. - - - - - 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. - - - - Gets or sets a value indicating whether this is enabled. - - - - - - Gets or sets a value indicating when the cache is cleared. - - - - - 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. - - - - Filters characters not allowed in the file names by replacing them with safe character. - - - - - Initializes a new instance of the class. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Padded and trimmed string. - - - - 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. - - - - - Post-processes the rendered message. - - The text to be post-processed. - JSON-encoded string. - - - - Gets or sets a value indicating whether to apply JSON encoding. - - - - - - Converts the result of another layout output to lower case. - - - - - Initializes a new instance of the class. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Padded and trimmed string. - - - - 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. - - - - Renders the inner layout contents. - - The log event. - - Contents of inner layout. - - - - - 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. - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - 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. - - - - - Replaces a string in the output of another layout with another string. - - - - - Initializes the layout renderer. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Post-processed text. - - - - A match evaluator for Regular Expression based replacing - - - - - - - - - - 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. - - - - - This class was created instead of simply using a lambda expression so that the "ThreadAgnosticAttributeTest" will pass - - - - - Replaces newline characters from the result of another layout renderer with spaces. - - - - - Initializes a new instance of the class. - - - - - Post-processes the rendered message. - - The text to be post-processed. - String with newline characters replaced with spaces. - - - - 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. - - - - - Encodes/Decodes ROT-13-encoded string. - - The string to be encoded/decoded. - Encoded/Decoded text. - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Gets or sets the layout to be wrapped. - - The layout to be wrapped. - This variable is for backwards compatibility - - - - - Trims the whitespace from the result of another layout renderer. - - - - - Initializes a new instance of the class. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Trimmed string. - - - - 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. - - - - - Initializes a new instance of the class. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Padded and trimmed string. - - - - 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. - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - 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. - - - - - Outputs alternative layout when the inner layout produces empty result. - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Renders the inner layout contents. - - The log event. - - Contents of inner layout. - - - - - 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. - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Renders the inner layout contents. - - The log event. - - Contents of inner layout. - - - - - Gets or sets the condition that must be met for the inner layout to be printed. - - - - - - Converts the result of another layout output to be XML-compliant. - - - - - Initializes a new instance of the class. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Padded and trimmed string. - - - - Gets or sets a value indicating whether to apply XML encoding. - - - - - - 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. - - - - - A specialized layout that supports header and footer. - - - - - Abstract interface that layouts must implement. - - - - - 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. - - 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. - - - - 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. - - - - 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 logging configuration this target is part of. - - - - - Renders the layout for the specified logging event by invoking layout renderers. - - The logging event. - The rendered layout. - - - - Gets or sets the body layout (can be repeated multiple times). - - - - - - Gets or sets the header layout. - - - - - - Gets or sets the footer layout. - - - - - - Initializes a new instance of the class. - - - - - Initializes the layout. - - - - - Formats the log event for write. - - The log event to be formatted. - A string representation of the log event. - - - - 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'). - - - - - - Header 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. - - - - 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. - - - - - A specialized layout that renders JSON-formatted events. - - - - - Initializes a new instance of the class. - - - - - Formats the log event as a JSON document for writing. - - The log event to be formatted. - A JSON string representation of the log event. - - - - Gets the array of attributes' configurations. - - - - - - Gets or sets the option to suppress the extra spaces in the output json - - - - - 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. - - - - - 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. - - - - - Renders the layout for the specified logging event by invoking layout renderers. - - The logging event. - The rendered layout. - - - - Gets the instance that renders log events. - - - - - 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. - - - - 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. - - - - - Renders the layout for the specified logging event by invoking layout renderers - that make up the event. - - The logging event. - The rendered layout. - - - - 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. - - - - - Represents the logging event. - - - - - Gets the date of the first log event created. - - - - - 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. - 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. - - - - 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 . - - - - 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. - - - - 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 or sets the exception information. - - - - - Gets or sets the logger name. - - - - - Gets the logger short name. - - - - - 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 the formatted message. - - - - - Gets the dictionary of per-event context properties. - - - - - Gets the dictionary of per-event context properties. - - - - - Creates and manages instances of objects. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The config. - - - - 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 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 - NLog.Logger. - 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. 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). - - - - - 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 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. - - - - 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. - - - - Invoke the Changed event; called whenever list changes - - Event arguments. - - - - Releases unmanaged and - optionally - managed resources. - - True to release both managed and unmanaged resources; - false to release only unmanaged resources. - - - - Currenty this logfactory is disposing? - - - - - Occurs when logging changes. - - - - - Occurs when logging gets reloaded. - - - - - Gets the current . - - - - - Gets or sets a value indicating whether exceptions should be thrown. - - A value of true if exception should be thrown; otherwise, false. - By default exceptions are not thrown under any circumstances. - - - - Gets or sets the current logging configuration. After setting this property all - existing loggers will be re-configured, so that there is no need to call - manually. - - - - - Gets or sets the global log threshold. Log events below this threshold are not logged. - - - - - Gets the default culture info to use as . - - - Specific culture info or null to use - - - - - 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. - - - - - 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. - - - - Provides logging interface and utility functions. - - - Provides logging interface and utility functions. - - - Logging methods which only are executed when the DEBUG conditional compilation symbol is set. - - - 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 - - - Auto-generated Logger members for binary compatibility with NLog 1.0. - - - - - Initializes a new instance of the class. - - - - - 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. - - - - 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. - - - - 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 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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 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. - - - - 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. - - - - 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 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 . - - - - 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 - Index of the first user stack frame or 0 if all stack frames are non-user - - - - - Defines whether a stack frame belongs to non-user code - - Method of the stack frame - Type of the logger or logger wrapper - , if the method is from non-user code and should be skipped - - The method is classified as non-user if its declaring assembly is from hidden assemblies list - or its declaring type is or one of its subtypes. - - - - - 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. - - - - - Initializes a new instance of . - - The log level name. - The log level ordinal number. - - - - 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. - - - - - Gets the name of the log level. - - - - - Gets the ordinal of the log level. - - - - - Creates and manages instances of objects. - - - - - Initializes static members of the LogManager class. - - - - - Prevents a default instance of the LogManager class from being created. - - - - - 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). - - - - - 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. - - - - - Gets the fully qualified name of the class invoking the LogManager, including the - namespace but not the assembly. - - - - - 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 the current logging configuration. - - - - - - Gets or sets the global log threshold. Log events below this threshold are not logged. - - - - - Gets or sets the default culture to use. - - - - - Delegate used to set/get the culture in use. - - - - - 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. - - - - - 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 - - - - - 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. - - - - - 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. - - - - - 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. - - - - - Converts the to . - - The object this is part of.. - The logger name prefix to prepend in front of the logger name. - Converted . - - - - 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. - - - - - Wire format for NLog event package. - - - - - 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. - - - - - 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. - - - - List of strings annotated for more terse serialization. - - - - - Initializes a new instance of the class. - - - - - Log Receiver Client using WCF. - - - This will be removed when ILogReceiverClient is removed. - This provides an implementation of the legacy interface. - - - - 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. - - - - - 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. - - - - 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. - - - - Occurs when the log message processing has completed. - - - - - Occurs when Open operation has completed. - - - - - Occurs when Close operation has completed. - - - - - 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. - - - - - - 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 . - - - - - 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. - - - - - Instructs the inner channel to display a user interface if one is required to initialize the channel prior to using it. - - - - - Completes an asynchronous operation to close a communication object. - - The that is returned by a call to the method. was called on an object in the state.The timeout elapsed before the was able to close gracefully. - - - - Completes an asynchronous operation to open a communication object. - - The that is returned by a call to the method.The was unable to be opened and has entered the state.The timeout elapsed before the was able to enter the state and has entered the state. - - - - Ends asynchronous processing of log messages. - - The result. - - - - 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. - - - - Processes the log messages asynchronously. - - The events to send. - - - - Processes the log messages asynchronously. - - The events to send. - User-specific state. - - - - Causes a communication object to transition from its current state into the closed state. - - - - - The client getting proxied - - - - - Do we use one-way or two-way messaging? - - - - - Enables the user to configure client and service credentials as well as service credential authentication settings for use on the client side of communication. - - - - - 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. - - - - - Gets the target endpoint for the service to which the WCF client can connect. - - - - - Occurs when the communication object first enters the faulted state. - - - - - Gets the underlying implementation. - - - - - 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. - - - - - Occurs when the log message processing has completed. - - - - - Gets the current state of the communication-oriented object. - - - The value of the of the object. - - - - - 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. - - - - - 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 . - - - - Gets the current thread MDC named item, as . - - Item name. - The to use when converting a value to a string. - The value of , if defined; otherwise . - - - - Gets the current thread MDC named item, as . - - 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 exists in current thread MDC. - - - - Removes the specified from current thread MDC. - - Item name. - - - - Clears the content of current thread MDC. - - - - - Mapped Diagnostics Context - used for log4net compatibility. - - - - - 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 . - - - - 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. - - - - - Nested Diagnostics Context - for log4net compatibility. - - - - - 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. - - - - 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. - - - - 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. - - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - - 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. - 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. - - - - - 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 buffer. - - - - - 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. - - - - - 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. - - - - - 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). - - - - - Outputs log messages through the ASP Response object. - - Documentation on NLog Wiki - - - - Represents target that supports string formatting using layouts. - - - - - Represents logging target. - - - - - 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. - - - 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. - - - - 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. - classes. - - - Logging event to be written out. - - - - - Writes log event to the log target. Must be overridden in inheriting - classes. - - Log event 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. - - - - 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. - - - - Gets or sets the name of the target. - - - - - - 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. - - - - - 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. - - - - - - Outputs the rendered logging event through the OutputDebugString() Win32 API. - - The logging event. - - - - Gets or sets a value indicating whether to add <!-- --> comments around all written texts. - - - - - - 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. -

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

-
-
- - - 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} - - - - - 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. - - - - 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 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. - - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - 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 the NDC item separator. - - - - - - 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. - - - - - - Initializes a new instance of the class. - - - - - Writes log messages to the console with customizable coloring. - - Documentation on NLog Wiki - - - - 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. - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - 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. - - - - 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 the row highlighting rules. - - - - - - Gets the word highlighting rules. - - - - - - 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. - - - - 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. - - - - - 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. - - - - - - 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: -

- -
-
- - - 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. - - - - 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 - - - - 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. - - - - - - 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 the compiled regular expression that matches either Text or Regex property. - - - - - Gets or sets the foreground color. - - - - - - Gets or sets the background color. - - - - - - 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. - - 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. - - - - - 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. - - - - - 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. - - - - 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. - - - - 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. - - - - - - A descriptor for an archive created with the DateAndSequence numbering mode. - - - - - 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. - - - - - The full name of the archive file. - - - - - The parsed date contained in the file name. - - - - - The parsed sequence number contained in the file name. - - - - - 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 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} - - - - - Increases the number of messages. - - The logging event. - - - - Gets the number of times this target has been called. - - - - - - Gets the last message rendered by this target. - - - - - - 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. - - - - - 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 - - - - 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. - - - - - - 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. - - - - - 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 at any one time. Once this number is exceeded clean up procedures - are initiated to reduce the number of initialised files. - - - - - This value disables file archiving based on the size. - - - - - Gets or sets a value indicating whether to compress archive files into the zip archive format. - - - - - 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. - - - - - 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). - - - - Factory used to create the file appeanders in the instance. - - File appenders are stored in an instance of . - - - - 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. - - - - - It holds the file names of existing archives in order for the oldest archives to be removed when the list of - filenames becomes too long. - - - - - The filename as target - - - - - The filename if is a fixed string - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - 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. - - - - - Writes the specified logging event to a file specified in the FileName - parameter. - - The logging event. - - - - 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. - - - - - 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. - - - - 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 numberic pattern. - - - - 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. - - Occationally, this method can identify the existance of the {#} pattern incorrectly. - File name to be checked. - when the pattern is found; otherwise. - - - - Archives the 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. - - - This method is called recursively. This is the reason the is required. - - File name to be archived. - File name template which contains the numeric pattern to be replaced. - Value which will replace the numeric pattern. - - - - Archives the 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. - - File name to be archived. - File name template which contains the numeric pattern to be replaced. - - - - Creates an archive copy of source file either by compressing it or moving to a new location in the file - system. Which action will be used is determined by the value of parameter. - - File name to be archived. - Name of the archive file. - Enables file compression - - - - - Archives the 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. - - - File name to be archived. - File name template which contains the numeric pattern to be replaced. - Log event that the instance is currently processing. - - - - Determines whether a file with a different name from is needed to receive the - . This is determined based on the last date and time which the file has been - written compared to the time the log event was initiated. - - - when log event time is "different" than the last write time; otherwise. - - - - - Deletes files among a given list, and stops as soon as the remaining files are fewer than the setting. - - List of the file archives. - - Items are deleted in the same order as in . No file is deleted if property is zero. - - - - - Searches a given directory for archives that comply with the current archive pattern. - - An enumeration of archive infos, ordered by their file creation date. - - - - Gets the collection of files in the specified directory which they match the . - - Directory to searched. - Pattern whihc the files will be searched against. - Lisf of files matching the pattern. - - - - Replaces the string-based pattern i.e. {#} in a file name with the value passed in parameter. - - File name which contains the string-based pattern. - Value which will replace the string-based pattern. - - File name with the value of in the position of the string-based pattern. - - - - - Archives the 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. - - File name to be archived. - File name template which contains the numeric pattern to be replaced. - - - - Deletes archive files in reverse chronological order until only the - MaxArchiveFiles number of archive files remain. - - The pattern that archive filenames will match - - - - Gets the correct formating 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. - - - - 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. - - - - 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 - - - - 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. - when archiving should be executed; otherwise. - - - - Indicates if the automatic archiving process should be executed based on file size constrains. - - File name to be written. - The size in bytes of the next chunk of data to be written in the file. - when archiving should be executed; otherwise. - - - - Indicates if the automatic archiving process should be executed based on date/time constrains. - - File name to be written. - Log event that the instance is currently processing. - when archiving should be executed; otherwise. - - - - The sequence of to be written for the file header. - - Sequence of to be written. - - - - The sequence of to be written for the file footer. - - Sequence of to be written. - - - - 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. - Log event that the instance is currently processing. - Raw sequence of to be written into the content part of the file. - Indicates that only content section should be written in the file. - - - - 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. - Indicates that only content section should be written in the file. - when file header should be written; otherwise. - - - - Writes the file footer and uninitialise the file in instance internal structures. - - File name to be written. - - - - 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. - This method is used when the content of the log file is re-written on every write. - - - - Writes the header information to a file. - - File appender associated with the file. - - - - Returns the length of a specified file and the last time it has been written. File appender is queried before the file system. - - File which the information are requested. - The last time the file has been written is returned. - The length of the file is returned. - when file details returned; otherwise. - - - - 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. - - - - Replaces any invalid characters found in the with underscore i.e _ character. - Invalid characters are defined by .NET framework and they returned by method. - Note: not implemented in Silverlight - - The original file name which might contain invalid characters. - The cleaned up file name without any invalid characters. - - - - 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. - - - - - 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 log file buffer size in bytes. - - - - - - Gets or sets the file encoding. - - - - - - 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 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 archving 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. -

-
- -
- - - 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. - - - - - - Gets or set a value indicating whether a managed file stream is forced, instead of used the native implementation. - - - - - Gets the characters that are appended after each line. - - - - - Creates an instance of class. - - Maximum number of archive files to be kept. - - - - Adds a file into archive. - - File name of the archive - Original file name - Create a directory, if it does not exist - Enables file compression - if the file has been moved successfully; otherwise. - - - - Creates an instance of class. - - - - - Archives the file, either by copying it to a new file system location or by compressing it, and add the file name into the list of archives. - - Target file name. - Original file name. - Create a directory, if it does not exist. - Enables file compression. - - - - Remove old archive files when the files on the queue are more than the . - - - - - Creates a new unique filename by appending a number to it. This method tests that - the filename created does not exist. - - This process can be slow as it increments the number sequentially from a specified - starting point until it finds a number which produces a filename which does not - exist. - - Example: - Original Filename trace.log - Target Filename trace.15.log - - Original file name. - Number starting point - File name suitable for archiving - - - - Gets or sets the maximum number of archive files that should be kept. - - - - - Characters determining the start of the . - - - - - Characters determining the end of the . - - - - - Replace the pattern with the specified String. - - - - - - - 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. - - - - - 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. - - - - - 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. - - - - - Gets the name of the LineEndingMode instance. - - - - - Gets the new line characters (value) of the LineEndingMode instance. - - - - - 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. - - - - - 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. - - - - 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. - - - - Creating a new instance of WcfLogReceiverClient - - Inheritors can override this method and provide their own - service configuration - binding and endpoint address - - - - - - 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 - - - - 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. - - - - - - 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} - - - - - Renders the logging event message and adds it to the internal ArrayList of log messages. - - The logging event. - - - - 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 - - - - 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? - - - - 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 - - - - 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} - - - - - Renders the logging event message and adds it to the internal ArrayList of log messages. - - The logging event. - - - - Gets the list of logs gathered in the . - - - - - 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. - - - - - - 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: -

- -
-
- - - The base class for all targets which call methods (local or remote). - Manages parameters and type coercion. - - - - - Initializes a new instance of the class. - - - - - Prepares an array of parameters to be passed based on the logging event and calls DoInvoke(). - - - The logging event. - - - - - Calls the target method. Must be implemented in concrete classes. - - Method call parameters. - The continuation. - - - - Calls the target method. Must be implemented in concrete classes. - - Method call parameters. - - - - Gets the array of parameters to be passed. - - - - - - Initializes the target. - - - - - Calls the specified Method. - - Method parameters. - - - - Gets or sets the class name. - - - - - - Gets or sets the method name. The method must be public and static. - - - - - - 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. - - - - - - 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: -

- -
-
- - - Does nothing. Optionally it calculates the layout text but - discards the results. - - The logging event. - - - - Gets or sets a value indicating whether to perform layout calculation. - - - - - - 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: -

- -
-
- - - 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. - - - - - 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. - - - - 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. - - - - - - SMTP authentication modes. - - - - - No authentication. - - - - - Basic - username and password. - - - - - NTLM Authentication. - - - - - Marks class as a logging target and assigns a name to it. - - - - - 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). - - - - - 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: -

- -
-
- - - Writes the specified logging event to the facility. - If the log level is greater than or equal to it uses the - method, otherwise it uses - method. - - The logging event. - - - - Web service protocol. - - - - - Use SOAP 1.1 Protocol. - - - - - Use SOAP 1.2 Protocol. - - - - - Use HTTP POST Protocol. - - - - - Use HTTP GET Protocol. - - - - - 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

- -
-
- - - Initializes a new instance of the class. - - - - - Calls the target method. Must be implemented in concrete classes. - - Method call parameters. - - - - Invokes the web service method. - - Parameters to be passed. - The continuation. - - - - Helper for creating soap POST-XML request - - - - - - - - - - Write from input to output. Fix the UTF-8 bom - - - - - - - - - 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. - - - - - - 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. - - - - - - 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. - - - - Enqueues another item. If the queue is overflown the appropriate - action is taken as specified by . - - The log event info. - - - - Dequeues a maximum of count items from the queue - and adds returns the list containing them. - - Maximum number of items to be dequeued. - The array of log events. - - - - Clears the queue. - - - - - 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. - - - - - 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: -

- -
-
- - - Base class for targets wrap other (single) targets. - - - - - 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. - - - - Gets or sets the target that is wrapped by this target. - - - - - - Initializes a new instance of the class. - - - - - 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. - - - - Waits for the lazy writer thread to finish writing messages. - - 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. - - - - - Starts 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. - - - - - 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 the queue of lazy writer thread requests. - - - - - 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 after each write on a wrapped target. - - 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: -

- -
-
- - - 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 wrapped target. - - - - Forwards the call to the .Write() - and calls on it. - - Logging event to be written out. - - - - 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. - - 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. - - - - Flushes pending events in the buffer (if any). - - 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. - - - - 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. - - - - - - 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. - - - - 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. - - - - Gets the collection of targets managed by this compound target. - - - - - 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. - - The targets. - - - - 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 . - - - - - Gets or sets a value indicating whether to return to the first target after any successful write. - - - - - - 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. - - The wrapped target. - The condition. - - - - Checks the condition against the passed log event. - If the condition is met, the log event is forwarded to - the wrapped target. - - Log event. - - - - Gets or sets the condition expression. Log events who meet this condition will be forwarded - to the wrapped target. - - - - - - 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. - - The wrapped target. - - - - 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. - - - - 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. - - - - 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. - - - - - - 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. - - - - - 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. - - - - - 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. - - - - 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. - - - - - - 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. - - 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. - - The wrapped target. - The repeat count. - - - - Forwards the log message to the by calling the method times. - - The log event. - - - - Gets or sets the number of times to repeat each log message. - - - - - - 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. - - The wrapped target. - The retry count. - The retry delay milliseconds. - - - - Writes the specified log event to the wrapped target, retrying and pausing in case of an error. - - The log event. - - - - 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. - - - - - - 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. - - The targets. - - - - 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. - - The targets. - - - - Forwards the specified log event to all sub-targets. - - The log event. - - - - 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. - - - - Current local time retrieved directly from DateTime.Now. - - - - - Defines source of current time. - - - - - 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 . - - - - - - Gets current time. - - - - - Gets or sets current global time source used in all log events. - - - Default time source is . - - - - - 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. - - - - - Gets current local time directly from DateTime.Now. - - - - - Current UTC time retrieved 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. - - - - - Gets current UTC time directly from DateTime.UtcNow. - - - - - 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). - - - - - 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. - - - - - Gets uncached local time directly from DateTime.Now. - - - - - Fast UTC time source that is updated once per tick (15.6 milliseconds). - - - - - 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. - - - - - Gets uncached UTC time directly from DateTime.UtcNow. - - - - - 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/PROJ-ETS/packages/NLog.4.2.3/lib/net40/NLog.dll b/PROJ-ETS/packages/NLog.4.2.3/lib/net40/NLog.dll deleted file mode 100644 index e3747be28524cef3c11e9276125eb2a620eaae47..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 493056 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%0D6neDDcNPkTEgF4qb@xJVbO1@2 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 ZmJk7P?% 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 fhS?MUXUqG$IXs(V - - - 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. - - - - 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. - - - - 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. - - - - - Gets the log event. - - - - - Gets the continuation. - - - - - NLog internal logger. - - - - - Initializes static members of the InternalLogger class. - - - - - Logs the specified message at the specified level. - - Log level. - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the specified level. - - Log level. - Log message. - - - - Logs the specified message at the Trace level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Trace level. - - Log message. - - - - Logs the specified message at the Debug level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Debug level. - - Log message. - - - - Logs the specified message at the Info level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Info level. - - Log message. - - - - Logs the specified message at the Warn level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Warn level. - - Log message. - - - - Logs the specified message at the Error level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Error level. - - Log message. - - - - Logs the specified message at the Fatal level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Fatal level. - - Log message. - - - - Logs the assembly version and file version of the given Assembly. - - The assembly to log. - - - - Gets or sets the internal log level. - - - - - Gets or sets a value indicating whether internal messages should be written to the console output stream. - - - - - Gets or sets a value indicating whether internal messages should be written to the console error stream. - - - - - 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. - - - - - 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. - - - - - 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. - - - - 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. - - - - Gets the number of items in the array. - - - - - Condition and expression. - - - - - 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. - - - - Initializes a new instance of the class. - - Left hand side of the AND expression. - 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. - - - - Gets the left hand side of the AND expression. - - - - - Gets the right hand side of the AND expression. - - - - - 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). - - - - - Condition layout expression (represented by a string literal - with embedded ${}). - - - - - Initializes a new instance of the class. - - 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. - - - - Gets the layout. - - 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. - - - - Returns a string representation of the expression. - - The literal value. - - - - Evaluates the expression. - - Evaluation context. - The literal value as passed in the constructor. - - - - Gets the literal value. - - The literal value. - - - - 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. - - - - - 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. - - - - 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. - - - - Returns a string representation of the expression. - - - A that represents the condition expression. - - - - - Evaluates the expression. - - Evaluation context. - Expression result. - - - - Gets the method info. - - - - - Gets the method parameters. - - The method parameters. - - - - 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. - - - - Marks the class as containing condition methods. - - - - - Condition not expression. - - - - - Initializes a new instance of the class. - - The expression. - - - - Returns a string representation of the expression. - - - A that represents the condition expression. - - - - - Evaluates the expression. - - Evaluation context. - Expression result. - - - - Gets the expression to be negated. - - The expression. - - - - Condition or expression. - - - - - Initializes a new instance of the class. - - Left hand side of the OR expression. - Right hand side of the OR expression. - - - - 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. - - - - Gets the left expression. - - The left expression. - - - - Gets the right expression. - - The right expression. - - - - 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. - - - - - Condition relational (==, !=, <, <=, - > or >=) expression. - - - - - Initializes a new instance of the class. - - The left expression. - The right expression. - The relational 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. - - - - Gets the left expression. - - The left expression. - - - - Gets the right expression. - - The right expression. - - - - Gets the relational operator. - - The operator. - - - - 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. - - - - 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 - - - - Gets the token position. - - The token position. - - - - 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. - - - - 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. - - - - - 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. - - - - - 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. - - - - - Initializes a new instance of the class. - - The assemblies to scan for named items. - - - - Registers named items from the assembly. - - The assembly. - - - - Registers named items from the assembly. - - The assembly. - Item name prefix. - - - - 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. - - - - - 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. - - The layout renderer factory. - - - - Gets the factory. - - The layout factory. - - - - Gets the ambient property factory. - - The ambient property factory. - - - - Gets the time source factory. - - The time source factory. - - - - Gets the condition method factory. - - The condition method factory. - - - - Attribute used to mark the default parameters for layout renderers. - - - - - Initializes a new instance of the class. - - - - - Factory for class-based items. - - The base type of each item. - The type of the attribute used to annotate items. - - - - 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 means to populate factories of named items (such as targets, layouts, layout renderers, etc.). - - - - - 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. - - - - 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. - - - - - 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. - - - - 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. - - - - Gets or sets the installation log level. - - - - - Gets or sets a value indicating whether to ignore failures during installation. - - - - - Gets the installation parameters. - - - - - Gets or sets the log output. - - - - - Keeps logging configuration and provides simple API - to modify it. - - - - - Variables defined in xml or in API. name is case case insensitive. - - - - - Initializes a new instance of the class. - - - - - 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. - - - - - 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 - - - - - 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. - - - - - Use the old exception log handling of NLog 3.0? - - - - - 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. - - - - - Arguments for events. - - - - - Initializes a new instance of the class. - - The old configuration. - The new configuration. - - - - Gets the old configuration. - - The old configuration. - - - - Gets the new configuration. - - The new configuration. - - - - Arguments for . - - - - - 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 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 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. - - - - Enables logging for a particular level. - - Level to be enabled. - - - - Disables logging for a particular level. - - Level to be disabled. - - - - 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. - - - - 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. - - - - - Factory for locating methods. - - The type of the class marker attribute. - The type of the method marker attribute. - - - - 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 . - The result. - A value of true if the method was found, false otherwise. - - - - 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. - - - - - 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. - - - - - 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 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. - - - - Gets the element name. - - - - - Gets the dictionary of attribute values. - - - - - Gets the collection of child elements. - - - - - Gets the value of the element. - - - - - Attribute used to mark the required parameters for targets, - layout targets and filters. - - - - - Provides simple programmatic configuration API used for trivial logging cases. - - - - - 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 producing correct results regardless of the thread - it's running on. - - - - - A class for configuring NLog through an XML configuration file - (App.config style or App.nlog style). - - - - - Initializes a new instance of the class. - - Configuration file to be read. - - - - Initializes a new instance of the class. - - Configuration file to be read. - 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). - - - - 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. - - 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. - - - - Re-reads the original configuration file and returns the new object. - - The new object. - - - - 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. - - - - Parse the root - - - path to directory of config file. - - - - Parse {configuration} xml element. - - - path to directory of config file. - - - - Parse {NLog} xml element. - - - path to directory of config file. - - - - Parse {Rules} xml element - - - Rules are added to this parameter. - - - - Parse {Logger} xml element - - - Rules are added to this parameter. - - - - Replace a simple variable with a value. The orginal value is removed and thus we cannot redo this in a later stage. - - Use for that: - - - - - - - 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 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. - - - - - Matches when the specified condition is met. - - - Conditions are expressed using a simple language - described here. - - - - - 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 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
- .
-
- - - Gets or sets the action to be taken when filter matches. - - - - - - 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
- .
-
- - - Gets or sets the condition expression. - - - - - - 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. - - - - - 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
- .
-
- - - Gets or sets a value indicating whether to ignore case when comparing strings. - - - - - - Gets or sets the substring to be matched. - - - - - - Matches when the calculated layout is equal to the specified substring. - This filter is deprecated in favor of <when /> which is based on conditions. - - - - - 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
- .
-
- - - Gets or sets a value indicating whether to ignore case when comparing strings. - - - - - - Gets or sets a string to compare the layout to. - - - - - - Matches when the calculated layout does NOT contain the specified substring. - This filter is deprecated in favor of <when /> which is based on conditions. - - - - - 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
- .
-
- - - Gets or sets the substring to be matched. - - - - - - Gets or sets a value indicating whether to ignore case when comparing strings. - - - - - - Matches when the calculated layout is NOT equal to the specified substring. - This filter is deprecated in favor of <when /> which is based on conditions. - - - - - Initializes a new instance of the class. - - - - - 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
- .
-
- - - Gets or sets a string to compare the layout to. - - - - - - Gets or sets a value indicating whether to ignore case when comparing strings. - - - - - - 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. - - - - Sets the information of the logging event. - - The exception information of the logging event. - - - - - Sets the level of the logging event. - - The level of the logging event. - - - - - Sets the logger name of the logging event. - - The logger name of the logging event. - - - - - Sets the log message on the logging event. - - The log message for the logging event. - - - - - Sets the log message and parameters for formatting on the logging event. - - A composite format string. - The object to format. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - Sets a per-event context property on the logging event. - - The name of the context property. - The value of the context property. - - - - - Sets multiple per-event context properties on the logging event. - - The properties to set. - - - - - Sets the timestamp of the logging event. - - The timestamp of the logging event. - - - - - Sets the stack trace for the event info. - - The stack trace. - Index of the first user stack frame within the stack trace. - - - - - Writes the log event to the underlying logger. - - - - - Writes the log event to the underlying logger. - - If condition is true, write log event; otherwise ignore event. - - - - Writes the log event to the underlying logger. - - If condition is true, write log event; otherwise ignore event. - - - - Gets the created by the builder. - - - - - Extension methods for NLog . - - - - - Starts building a log event with the specified . - - The logger to write the log event to. - The log level. - - - - - Starts building a log event at the Trace level. - - The logger to write the log event to. - - - - - Starts building a log event at the Debug level. - - The logger to write the log event to. - - - - - Starts building a log event at the Info level. - - The logger to write the log event to. - - - - - Starts building a log event at the Warn level. - - The logger to write the log event to. - - - - - Starts building a log event at the Error level. - - The logger to write the log event to. - - - - - Starts building a log event at the Fatal level. - - The logger to write the log event to. - - - - - Global Diagnostics Context - used for log4net compatibility. - - - - - 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 . - - - - 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 . - - - - 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 . - - - - 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 . - - - - Gets the Global Diagnostics Context named item. - - Item name. - The item value, 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. - - - - - Provides logging interface and utility functions. - - - Auto-generated Logger members for binary compatibility with NLog 1.0. - - - - - Logger with only generic methods (passing 'LogLevel' to methods) and core properties. - - - Auto-generated Logger members for binary compatibility with NLog 1.0. - - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - - Provides an interface to execute System.Actions without surfacing any exceptions raised for that action. - - - - - Runs 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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 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 . - - - - Various helper methods for accessing state of ASP application. - - - - - Internal configuration manager used to read .NET configuration files. - Just a wrapper around the BCL ConfigurationManager, but used to enable - unit testing. - - - - - Interface for the wrapper around System.Configuration.ConfigurationManager. - - - - - Gets the wrapper around ConfigurationManager.AppSettings. - - - - - 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. - - - - 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. - - - - - 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 - - - - Wrapper IDictionaryEnumerator. - - - - - Initializes a new instance of the class. - - The wrapped. - - - - 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. - - - - - 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. - - - - - UTF-8 BOM 239, 187, 191 - - - - - 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 - - - - IsNullOrWhiteSpace for .net 3.5 - - - - - - - Safe way to get environment variables. - - - - - Helper class for dealing with exceptions. - - - - - Determines whether the exception must be rethrown. - - The exception. - True if the exception must be rethrown, false otherwise. - - - - Object construction helper. - - - - - Adapter for to - - - - - 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. - - - - - Process exit event. - - - - - Domain unloaded event. - - - - - Initializes a new instance of the class. - - The to wrap. - - - - Gets a the current wrappered in a . - - - - - 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. - - - - - 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. - - - - Writes the specified bytes. - - The bytes. - - - - Flushes this instance. - - - - - Closes this instance. - - - - - Gets the file info. - - The last file write time. The value must be of UTC kind. - Length of the file in bytes. - True if the operation succeeded, false otherwise. - - - - 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. - - - - Records the last write time for a file. - - - - - Records the last write time for a file to be specific date. - - Date and time when the last write occurred. The value must be of UTC kind. - - - - 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. - - - - Gets the path of the file, including file extension. - - The name of the file. - - - - Gets the last write time. - - The last write time. DateTime value must be of UTC kind. - - - - Gets the open time of the file. - - The open time. DateTime value must be of UTC kind. - - - - Gets the file creation parameters. - - The file creation parameters. - - - - 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 file info. - - The last file write time. The value must be of UTC kind. - Length of the file. - True if the operation succeeded, false otherwise. - - - - Writes the specified bytes to a file. - - The bytes to be written. - - - - Factory class which creates objects. - - - - - 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. - - - - 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. - - - - - Initializes a new "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. - - - - 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. - - - - - Gets the file info for a particular appender. - - The file name associated with a particular appender. - The last file write time. The value must be of UTC kind. - Length of the file. - when the operation succeeded; otherwise. - - - - Closes the specified appender and removes it from the list. - - File name of the appender to be closed. - - - - 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. - - - - - 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 used the native implementation. - - - - - Gets or sets the file attributes (Windows only). - - - - - 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 to be written. - - - - Closes this instance. - - - - - Flushes this instance. - - - - - Gets the file info. - - The last file write time. The value must be of UTC kind. - Length of the file. - - True if the operation succeeded, false otherwise. - - - - - 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. - - - - Flushes this instance. - - - - - Closes this instance. - - - - - Gets the file info. - - The last file write time. The value must be of UTC kind. - Length of the file. - - True if the operation succeeded, false otherwise. - - - - - 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. - - - - Flushes this instance. - - - - - Closes this instance. - - - - - Gets the file info. - - The last file write time. The value must be of UTC kind. - Length of the file. - - True if the operation succeeded, false otherwise. - - - - - 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 routines to get the size and last write time of the specified file. - - - - - Initializes static members of the FileInfoHelper class. - - - - - Gets the information about a file. - - Name of the file. - The file handle. - The last write time of the file in UTC. - Length of the file. - A value of true if file information was retrieved successfully, false otherwise. - - - - toString(format) if the object is a - - value to be converted - format value - provider, for example culture - - - - - 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. - - - - - 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. - - - - 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. - - - - - 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. - - - - - Logger configuration. - - - - - Initializes a new instance of the class. - - The targets by level. - Use the old exception log handling of NLog 3.0? - - - - - 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. - - - - - Use the old exception log handling of NLog 3.0? - - - - - Watches multiple files at the same time and raises an event whenever - a single change is detected in any of those files. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Stops the watching. - - - - - Watches the specified files for changes. - - The file names. - - - - Occurs when a change is detected in one of the monitored files. - - - - - Supports mocking of SMTP Client code. - - - - - Network sender which uses HTTP or HTTPS POST. - - - - - 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. - - - - Finalizes an instance of the NetworkSender class. - - - - - 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. - - - - Gets the address of the network endpoint. - - - - - Gets the last send time. - - - - - 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. - - - - - 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. - - - - 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. - - - - - Gets underlying socket instance. - - - - - 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. - The root objects. - Ordered list of objects implementing T. - - - - Parameter validation utilities. - - - - - Asserts that the value is not null and throws otherwise. - - The value to check. - Name of the parameter. - - - - 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. - - - - - Portable implementation of . - - - - - Gets the information about a file. - - Name of the file. - The file handle. - The last write time of the file in UTC. - Length of the file. - - A value of true if file information was retrieved successfully, false otherwise. - - - - - Portable implementation of . - - - - - 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). - - - - - Initializes a new instance of the class. - - - - - Gets the name of the process. - - - - - Gets current process ID. - - - - - - Gets current process name. - - - - - - Gets current process name (excluding filename extension, if any). - - - - - - Reflection helpers for accessing properties. - - - - - 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 - - - - - 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. - - - - Check current char while not changing the position. - - - - - - Read the current char and change position - - - - - - Get the substring of the - - - - - - - - Current position in - - - - - Full text to be parsed - - - - - 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. - - - - Provides helpers to sort log events and associated continuations. - - - - - 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 . - - - - - Key selector delegate. - - The type of the value. - The type of the key. - Value to extract key information from. - Key selected from log event. - - - - Utilities for dealing with values. - - - - - Stream helpers - - - - - Copy stream input to output. Skip the first bytes - - stream to read from - stream to write to - first bytes to skip (optional) - - - - Represents target with a chain of filters which determine - whether logging should happen. - - - - - Initializes a new instance of the class. - - The target. - The filter chain. - - - - Gets the stack trace usage. - - A value that determines stack trace handling. - - - - 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. - - - - 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. - - 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. - - - - - Win32-optimized implementation of . - - - - - Gets the information about a file. - - Name of the file. - The file handle. - The last write time of the file in UTC. - Length of the file. - - A value of true if file information was retrieved successfully, false otherwise. - - - - - 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 - - - - - Safe version of WriteAttributeString - - - - - - - - - - Safe version of WriteAttributeString - - - - - - - - Safe version of WriteElementSafeString - - - - - - - - - - Safe version of WriteCData - - - - - - - Log event context data. - - - - - Render environmental information related to logging events. - - - - - 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 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. - - - - Gets the logging configuration this target is part of. - - - - - Initializes a new instance of the class. - - - - - Renders all log event's properties and appends them to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets string that will be used to separate key/value pairs. - - - - - - Gets or sets how key/value pairs will be formatted. - - - - - - Designates a property of the class as an ambient property. - - - - - 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 - - - - - Render the layout - - - - - - - Convert the formatting string - - - - - - - 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 - - - - - ASP Application variable. - - - - - Renders the specified ASP Application variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the ASP Application variable name. - - - - - - ASP Request variable. - - - - - Renders the specified ASP Request variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the item name. The QueryString, Form, Cookies, or ServerVariables collection variables having the specified name are rendered. - - - - - - Gets or sets the QueryString variable to be rendered. - - - - - - Gets or sets the form variable to be rendered. - - - - - - Gets or sets the cookie to be rendered. - - - - - - Gets or sets the ServerVariables item to be rendered. - - - - - - ASP Session variable. - - - - - Renders the specified ASP Session variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the session variable name. - - - - - - Assembly version. - - - - - Renders assembly version and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - The current application domain's base directory. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Renders the application base directory and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - The call site (class name, method name and source information). - - - - - Initializes a new instance of the class. - - - - - Renders the call site and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to render the class name. - - - - - - 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 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. - - - - - The call site source line number. Full callsite - - - - - Renders the call site and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the number of frames to skip. - - - - - Gets the level of stack trace information required by the implementing class. - - - - - A counter value (increases on each layout rendering). - - - - - Initializes a new instance of the class. - - - - - Renders the specified counter value and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - Current date and time. - - - - - Initializes a new instance of the class. - - - - - Renders the current date and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the culture used for rendering. - - - - - - Gets or sets the date format. Can be any argument accepted by DateTime.ToString(format). - - - - - - Gets or sets a value indicating whether to output UTC time instead of local time. - - - - - - The environment variable. - - - - - Renders the specified environment variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - Log event context data. - - - - - Renders the specified log event context item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the item. - - - - - - Log event context data. See . - - - - - Log event context data with default options. - - - - - Renders the specified log event context item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the item. - - - - - - Format string for conversion from object to string. - - - - - Gets or sets the culture used for rendering. - - - - - - Exception information provided through - a call to one of the Logger.*Exception() methods. - - - - - Initializes a new instance of the class. - - - - - 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. - - - - 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 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. - - - - - - Renders contents of the specified file. - - - - - Initializes a new instance of the class. - - - - - Renders the contents of the specified file and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the file. - - - - - - Gets or sets the encoding used in the file. - - The encoding. - - - - - The information about the garbage collector. - - - - - Initializes a new instance of the class. - - - - - Renders the selected process information. - - The to append the rendered data to. - Logging event. - - - - Gets or sets the property to retrieve. - - - - - - 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. - - - - - Renders the specified Global Diagnostics Context item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the item. - - - - - - Globally-unique identifier (GUID). - - - - - Initializes a new instance of the class. - - - - - Renders a newly generated GUID string and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the GUID format as accepted by Guid.ToString() method. - - - - - - Thread identity information (name and authentication information). - - - - - Initializes a new instance of the class. - - - - - Renders the specified identity information and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the separator to be used when concatenating - parts of identity information. - - - - - - Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.Name. - - - - - - Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.AuthenticationType. - - - - - - Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.IsAuthenticated. - - - - - - Installation parameter (passed to InstallNLogConfig). - - - - - Renders the specified installation parameter and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the parameter. - - - - - - Marks class as a layout renderer and assigns a format string to it. - - - - - Initializes a new instance of the class. - - Name of the layout renderer. - - - - The log 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. - - - - Renders the specified string literal and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the literal text. - - - - - - XML event description compatible with log4j, Chainsaw and NLogViewer. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Renders the XML logging event and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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 stack. - - - - - - Gets or sets the NDC item separator. - - - - - - Gets the level of stack trace information required by the implementing class. - - - - - The logger name. - - - - - Renders the logger name and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to render short logger name (the part after the trailing dot character). - - - - - - The date and time in a long, sortable format yyyy-MM-dd HH:mm:ss.mmm. - - - - - Renders the date in the long format (yyyy-MM-dd HH:mm:ss.mmm) and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to output UTC time instead of local time. - - - - - - 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. - - - - - Renders the specified MDC item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the item. - - - - - - Mapped Diagnostic Logical Context item (based on CallContext). - - - - - Renders the specified MDLC item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the item. - - - - - - The formatted log message. - - - - - Initializes a new instance of the class. - - - - - Renders the log message including any positional parameters and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to log exception along with message. - - - - - - Gets or sets the string that separates message from the exception. - - - - - - Nested Diagnostic Context item. Provided for compatibility with log4net. - - - - - Initializes a new instance of the class. - - - - - Renders the specified Nested Diagnostics Context item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - 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. - - - - - Renders the directory where NLog is located and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the file to be Path.Combine()'d with the directory name. - - - - - - Gets or sets the name of the directory to be Path.Combine()'d with the directory name. - - - - - - The performance counter. - - - - - 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. - - - - 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. - - - - - - 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. - - - - - Initializes the layout renderer. - - - - - Closes the layout renderer. - - - - - Renders the selected process information. - - The to append the rendered data to. - Logging event. - - - - Gets or sets the property to retrieve. - - - - - - 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. - - - - - Renders the current process name (optionally with a full path). - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to write the full path to the process executable. - - - - - - The process time in format HH:mm:ss.mmm. - - - - - Renders the current process running time and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - High precision timer, based on the value returned from QueryPerformanceCounter() optionally converted to seconds. - - - - - Initializes a new instance of the class. - - - - - 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. - - - - 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). - - - - - - A value from the Registry. - - - - - Reads the specified registry key and value and appends it to - the passed . - - The to append the rendered data to. - Logging event. Ignored. - - - - 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. - - - - - - Gets or sets the registry key. - - - Must have one of the forms: -
    -
  • HKLM\Key\Full\Name
  • -
  • HKEY_LOCAL_MACHINE\Key\Full\Name
  • -
  • HKCU\Key\Full\Name
  • -
  • HKEY_CURRENT_USER\Key\Full\Name
  • -
-
- -
- - - The short date in a sortable format yyyy-MM-dd. - - - - - Renders the current short date string (yyyy-MM-dd) and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to output UTC time instead of local time. - - - - - - System special folder path (includes My Documents, My Music, Program Files, Desktop, and more). - - - - - Renders the directory where NLog is located and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - 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. - - - - - Renders the call site and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - A temporary directory. - - - - - Renders the directory where NLog is located and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the file to be Path.Combine()'d with the directory name. - - - - - - Gets or sets the name of the directory to be Path.Combine()'d with the directory name. - - - - - - The 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.mmm. - - - - - 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. - - - - Gets or sets a value indicating whether to output UTC time instead of local time. - - - - - - 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) - - - - - Renders the specified variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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 - - - - - Thread Windows identity information (username). - - - - - Initializes a new instance of the class. - - - - - Renders the current thread windows identity information and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether domain name should be included. - - - - - - Gets or sets a value indicating whether username should be included. - - - - - - Applies caching to another layout output. - - - The value of the inner layout will be rendered only once and reused subsequently. - - - - - Decodes text "encrypted" with ROT-13. - - - See http://en.wikipedia.org/wiki/ROT13. - - - - - Renders the inner message, processes it and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Renders the inner layout contents. - - The log event. - Contents of inner layout. - - - - Gets or sets the wrapped layout. - - - - - - Initializes a new instance of the class. - - - - - 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. - - - - Gets or sets a value indicating whether this is enabled. - - - - - - Gets or sets a value indicating when the cache is cleared. - - - - - 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. - - - - Filters characters not allowed in the file names by replacing them with safe character. - - - - - Initializes a new instance of the class. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Padded and trimmed string. - - - - 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. - - - - - Post-processes the rendered message. - - The text to be post-processed. - JSON-encoded string. - - - - Gets or sets a value indicating whether to apply JSON encoding. - - - - - - Converts the result of another layout output to lower case. - - - - - Initializes a new instance of the class. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Padded and trimmed string. - - - - 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. - - - - Renders the inner layout contents. - - The log event. - - Contents of inner layout. - - - - - 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. - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - 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. - - - - - Replaces a string in the output of another layout with another string. - - - - - Initializes the layout renderer. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Post-processed text. - - - - A match evaluator for Regular Expression based replacing - - - - - - - - - - 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. - - - - - This class was created instead of simply using a lambda expression so that the "ThreadAgnosticAttributeTest" will pass - - - - - Replaces newline characters from the result of another layout renderer with spaces. - - - - - Initializes a new instance of the class. - - - - - Post-processes the rendered message. - - The text to be post-processed. - String with newline characters replaced with spaces. - - - - 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. - - - - - Encodes/Decodes ROT-13-encoded string. - - The string to be encoded/decoded. - Encoded/Decoded text. - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Gets or sets the layout to be wrapped. - - The layout to be wrapped. - This variable is for backwards compatibility - - - - - Trims the whitespace from the result of another layout renderer. - - - - - Initializes a new instance of the class. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Trimmed string. - - - - 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. - - - - - Initializes a new instance of the class. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Padded and trimmed string. - - - - 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. - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - 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. - - - - - Outputs alternative layout when the inner layout produces empty result. - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Renders the inner layout contents. - - The log event. - - Contents of inner layout. - - - - - 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. - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Renders the inner layout contents. - - The log event. - - Contents of inner layout. - - - - - Gets or sets the condition that must be met for the inner layout to be printed. - - - - - - Converts the result of another layout output to be XML-compliant. - - - - - Initializes a new instance of the class. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Padded and trimmed string. - - - - Gets or sets a value indicating whether to apply XML encoding. - - - - - - 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. - - - - - A specialized layout that supports header and footer. - - - - - Abstract interface that layouts must implement. - - - - - 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. - - 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. - - - - 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. - - - - 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 logging configuration this target is part of. - - - - - Renders the layout for the specified logging event by invoking layout renderers. - - The logging event. - The rendered layout. - - - - Gets or sets the body layout (can be repeated multiple times). - - - - - - Gets or sets the header layout. - - - - - - Gets or sets the footer layout. - - - - - - Initializes a new instance of the class. - - - - - Initializes the layout. - - - - - Formats the log event for write. - - The log event to be formatted. - A string representation of the log event. - - - - 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'). - - - - - - Header 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. - - - - 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. - - - - - A specialized layout that renders JSON-formatted events. - - - - - Initializes a new instance of the class. - - - - - Formats the log event as a JSON document for writing. - - The log event to be formatted. - A JSON string representation of the log event. - - - - Gets the array of attributes' configurations. - - - - - - Gets or sets the option to suppress the extra spaces in the output json - - - - - 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. - - - - - 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. - - - - - Renders the layout for the specified logging event by invoking layout renderers. - - The logging event. - The rendered layout. - - - - Gets the instance that renders log events. - - - - - 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. - - - - 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. - - - - - Renders the layout for the specified logging event by invoking layout renderers - that make up the event. - - The logging event. - The rendered layout. - - - - 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. - - - - - Represents the logging event. - - - - - Gets the date of the first log event created. - - - - - 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. - 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. - - - - 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 . - - - - 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. - - - - 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 or sets the exception information. - - - - - Gets or sets the logger name. - - - - - Gets the logger short name. - - - - - 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 the formatted message. - - - - - Gets the dictionary of per-event context properties. - - - - - Gets the dictionary of per-event context properties. - - - - - Creates and manages instances of objects. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The config. - - - - 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 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 - NLog.Logger. - 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. 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). - - - - - 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 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. - - - - 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. - - - - Invoke the Changed event; called whenever list changes - - Event arguments. - - - - Releases unmanaged and - optionally - managed resources. - - True to release both managed and unmanaged resources; - false to release only unmanaged resources. - - - - Currenty this logfactory is disposing? - - - - - Occurs when logging changes. - - - - - Occurs when logging gets reloaded. - - - - - Gets the current . - - - - - Gets or sets a value indicating whether exceptions should be thrown. - - A value of true if exception should be thrown; otherwise, false. - By default exceptions are not thrown under any circumstances. - - - - Gets or sets the current logging configuration. After setting this property all - existing loggers will be re-configured, so that there is no need to call - manually. - - - - - Gets or sets the global log threshold. Log events below this threshold are not logged. - - - - - Gets the default culture info to use as . - - - Specific culture info or null to use - - - - - 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. - - - - - 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. - - - - Provides logging interface and utility functions. - - - Provides logging interface and utility functions. - - - Logging methods which only are executed when the DEBUG conditional compilation symbol is set. - - - 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 - - - Auto-generated Logger members for binary compatibility with NLog 1.0. - - - - - Initializes a new instance of the class. - - - - - 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. - - - - 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. - - - - 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 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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 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. - - - - 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. - - - - 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 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 . - - - - 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 - Index of the first user stack frame or 0 if all stack frames are non-user - - - - - Defines whether a stack frame belongs to non-user code - - Method of the stack frame - Type of the logger or logger wrapper - , if the method is from non-user code and should be skipped - - The method is classified as non-user if its declaring assembly is from hidden assemblies list - or its declaring type is or one of its subtypes. - - - - - 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. - - - - - Initializes a new instance of . - - The log level name. - The log level ordinal number. - - - - 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. - - - - - Gets the name of the log level. - - - - - Gets the ordinal of the log level. - - - - - Creates and manages instances of objects. - - - - - Initializes static members of the LogManager class. - - - - - Prevents a default instance of the LogManager class from being created. - - - - - 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). - - - - - 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. - - - - - Gets the fully qualified name of the class invoking the LogManager, including the - namespace but not the assembly. - - - - - 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 the current logging configuration. - - - - - - Gets or sets the global log threshold. Log events below this threshold are not logged. - - - - - Gets or sets the default culture to use. - - - - - Delegate used to set/get the culture in use. - - - - - 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. - - - - - 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 - - - - - 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. - - - - - 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. - - - - - 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. - - - - - Converts the to . - - The object this is part of.. - The logger name prefix to prepend in front of the logger name. - Converted . - - - - 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. - - - - - Wire format for NLog event package. - - - - - 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. - - - - - 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. - - - - List of strings annotated for more terse serialization. - - - - - Initializes a new instance of the class. - - - - - Log Receiver Client using WCF. - - - This will be removed when ILogReceiverClient is removed. - This provides an implementation of the legacy interface. - - - - 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. - - - - - 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. - - - - 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. - - - - Occurs when the log message processing has completed. - - - - - Occurs when Open operation has completed. - - - - - Occurs when Close operation has completed. - - - - - 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. - - - - - - 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 . - - - - - 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. - - - - - Instructs the inner channel to display a user interface if one is required to initialize the channel prior to using it. - - - - - Completes an asynchronous operation to close a communication object. - - The that is returned by a call to the method. was called on an object in the state.The timeout elapsed before the was able to close gracefully. - - - - Completes an asynchronous operation to open a communication object. - - The that is returned by a call to the method.The was unable to be opened and has entered the state.The timeout elapsed before the was able to enter the state and has entered the state. - - - - Ends asynchronous processing of log messages. - - The result. - - - - 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. - - - - Processes the log messages asynchronously. - - The events to send. - - - - Processes the log messages asynchronously. - - The events to send. - User-specific state. - - - - Causes a communication object to transition from its current state into the closed state. - - - - - The client getting proxied - - - - - Do we use one-way or two-way messaging? - - - - - Enables the user to configure client and service credentials as well as service credential authentication settings for use on the client side of communication. - - - - - 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. - - - - - Gets the target endpoint for the service to which the WCF client can connect. - - - - - Occurs when the communication object first enters the faulted state. - - - - - Gets the underlying implementation. - - - - - 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. - - - - - Occurs when the log message processing has completed. - - - - - Gets the current state of the communication-oriented object. - - - The value of the of the object. - - - - - 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. - - - - - 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 . - - - - Gets the current thread MDC named item, as . - - Item name. - The to use when converting a value to a string. - The value of , if defined; otherwise . - - - - Gets the current thread MDC named item, as . - - 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 exists in current thread MDC. - - - - Removes the specified from current thread MDC. - - Item name. - - - - Clears the content of current thread MDC. - - - - - Async version of Mapped Diagnostics Context - a logical context structure that keeps a dictionary - of strings and provides methods to output them in layouts. Allows for maintaining state across - asynchronous tasks and call contexts. - - - Ideally, these changes should be incorporated as a new version of the MappedDiagnosticsContext class in the original - NLog library so that state can be maintained for multiple threads in asynchronous situations. - - - - - Gets the current logical context named item, as . - - Item name. - The value of , if defined; otherwise . - - - - 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 . - - - - 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. - - - - Sets the current logical context item to the specified value. - - Item name. - Item value. - - - - 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. - - - - - Mapped Diagnostics Context - used for log4net compatibility. - - - - - 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 . - - - - 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. - - - - - Nested Diagnostics Context - for log4net compatibility. - - - - - 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. - - - - 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. - - - - 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. - - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - - 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. - 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. - - - - - 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 buffer. - - - - - 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. - - - - - 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. - - - - - 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). - - - - - Outputs log messages through the ASP Response object. - - Documentation on NLog Wiki - - - - Represents target that supports string formatting using layouts. - - - - - Represents logging target. - - - - - 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. - - - 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. - - - - 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. - classes. - - - Logging event to be written out. - - - - - Writes log event to the log target. Must be overridden in inheriting - classes. - - Log event 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. - - - - 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. - - - - Gets or sets the name of the target. - - - - - - 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. - - - - - 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. - - - - - - Outputs the rendered logging event through the OutputDebugString() Win32 API. - - The logging event. - - - - Gets or sets a value indicating whether to add <!-- --> comments around all written texts. - - - - - - 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. -

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

-
-
- - - 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} - - - - - 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. - - - - 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 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. - - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - 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 the NDC item separator. - - - - - - 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. - - - - - - Initializes a new instance of the class. - - - - - Writes log messages to the console with customizable coloring. - - Documentation on NLog Wiki - - - - 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. - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - 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. - - - - 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 the row highlighting rules. - - - - - - Gets the word highlighting rules. - - - - - - 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. - - - - 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. - - - - - 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. - - - - - - 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: -

- -
-
- - - 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. - - - - 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 - - - - 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. - - - - - - 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 the compiled regular expression that matches either Text or Regex property. - - - - - Gets or sets the foreground color. - - - - - - Gets or sets the background color. - - - - - - 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. - - 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. - - - - - 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. - - - - - 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. - - - - 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. - - - - 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. - - - - - - A descriptor for an archive created with the DateAndSequence numbering mode. - - - - - 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. - - - - - The full name of the archive file. - - - - - The parsed date contained in the file name. - - - - - The parsed sequence number contained in the file name. - - - - - 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 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} - - - - - Increases the number of messages. - - The logging event. - - - - Gets the number of times this target has been called. - - - - - - Gets the last message rendered by this target. - - - - - - 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. - - - - - 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 - - - - 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. - - - - - - 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. - - - - - 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 at any one time. Once this number is exceeded clean up procedures - are initiated to reduce the number of initialised files. - - - - - This value disables file archiving based on the size. - - - - - Gets or sets a value indicating whether to compress archive files into the zip archive format. - - - - - 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. - - - - - 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). - - - - Factory used to create the file appeanders in the instance. - - File appenders are stored in an instance of . - - - - 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. - - - - - It holds the file names of existing archives in order for the oldest archives to be removed when the list of - filenames becomes too long. - - - - - The filename as target - - - - - The filename if is a fixed string - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - 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. - - - - - Writes the specified logging event to a file specified in the FileName - parameter. - - The logging event. - - - - 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. - - - - - 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. - - - - 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 numberic pattern. - - - - 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. - - Occationally, this method can identify the existance of the {#} pattern incorrectly. - File name to be checked. - when the pattern is found; otherwise. - - - - Archives the 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. - - - This method is called recursively. This is the reason the is required. - - File name to be archived. - File name template which contains the numeric pattern to be replaced. - Value which will replace the numeric pattern. - - - - Archives the 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. - - File name to be archived. - File name template which contains the numeric pattern to be replaced. - - - - Creates an archive copy of source file either by compressing it or moving to a new location in the file - system. Which action will be used is determined by the value of parameter. - - File name to be archived. - Name of the archive file. - Enables file compression - - - - - Archives the 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. - - - File name to be archived. - File name template which contains the numeric pattern to be replaced. - Log event that the instance is currently processing. - - - - Determines whether a file with a different name from is needed to receive the - . This is determined based on the last date and time which the file has been - written compared to the time the log event was initiated. - - - when log event time is "different" than the last write time; otherwise. - - - - - Deletes files among a given list, and stops as soon as the remaining files are fewer than the setting. - - List of the file archives. - - Items are deleted in the same order as in . No file is deleted if property is zero. - - - - - Searches a given directory for archives that comply with the current archive pattern. - - An enumeration of archive infos, ordered by their file creation date. - - - - Gets the collection of files in the specified directory which they match the . - - Directory to searched. - Pattern whihc the files will be searched against. - Lisf of files matching the pattern. - - - - Replaces the string-based pattern i.e. {#} in a file name with the value passed in parameter. - - File name which contains the string-based pattern. - Value which will replace the string-based pattern. - - File name with the value of in the position of the string-based pattern. - - - - - Archives the 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. - - File name to be archived. - File name template which contains the numeric pattern to be replaced. - - - - Deletes archive files in reverse chronological order until only the - MaxArchiveFiles number of archive files remain. - - The pattern that archive filenames will match - - - - Gets the correct formating 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. - - - - 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. - - - - 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 - - - - 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. - when archiving should be executed; otherwise. - - - - Indicates if the automatic archiving process should be executed based on file size constrains. - - File name to be written. - The size in bytes of the next chunk of data to be written in the file. - when archiving should be executed; otherwise. - - - - Indicates if the automatic archiving process should be executed based on date/time constrains. - - File name to be written. - Log event that the instance is currently processing. - when archiving should be executed; otherwise. - - - - The sequence of to be written for the file header. - - Sequence of to be written. - - - - The sequence of to be written for the file footer. - - Sequence of to be written. - - - - 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. - Log event that the instance is currently processing. - Raw sequence of to be written into the content part of the file. - Indicates that only content section should be written in the file. - - - - 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. - Indicates that only content section should be written in the file. - when file header should be written; otherwise. - - - - Writes the file footer and uninitialise the file in instance internal structures. - - File name to be written. - - - - 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. - This method is used when the content of the log file is re-written on every write. - - - - Writes the header information to a file. - - File appender associated with the file. - - - - Returns the length of a specified file and the last time it has been written. File appender is queried before the file system. - - File which the information are requested. - The last time the file has been written is returned. - The length of the file is returned. - when file details returned; otherwise. - - - - 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. - - - - Replaces any invalid characters found in the with underscore i.e _ character. - Invalid characters are defined by .NET framework and they returned by method. - Note: not implemented in Silverlight - - The original file name which might contain invalid characters. - The cleaned up file name without any invalid characters. - - - - 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. - - - - - 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 log file buffer size in bytes. - - - - - - Gets or sets the file encoding. - - - - - - 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 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 archving 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. -

-
- -
- - - 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. - - - - - - Gets or set a value indicating whether a managed file stream is forced, instead of used the native implementation. - - - - - Gets the characters that are appended after each line. - - - - - Creates an instance of class. - - Maximum number of archive files to be kept. - - - - Adds a file into archive. - - File name of the archive - Original file name - Create a directory, if it does not exist - Enables file compression - if the file has been moved successfully; otherwise. - - - - Creates an instance of class. - - - - - Archives the file, either by copying it to a new file system location or by compressing it, and add the file name into the list of archives. - - Target file name. - Original file name. - Create a directory, if it does not exist. - Enables file compression. - - - - Remove old archive files when the files on the queue are more than the . - - - - - Creates a new unique filename by appending a number to it. This method tests that - the filename created does not exist. - - This process can be slow as it increments the number sequentially from a specified - starting point until it finds a number which produces a filename which does not - exist. - - Example: - Original Filename trace.log - Target Filename trace.15.log - - Original file name. - Number starting point - File name suitable for archiving - - - - Gets or sets the maximum number of archive files that should be kept. - - - - - Characters determining the start of the . - - - - - Characters determining the end of the . - - - - - Replace the pattern with the specified String. - - - - - - - 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. - - - - - 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. - - - - - 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. - - - - - Gets the name of the LineEndingMode instance. - - - - - Gets the new line characters (value) of the LineEndingMode instance. - - - - - 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. - - - - - 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. - - - - 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. - - - - Creating a new instance of WcfLogReceiverClient - - Inheritors can override this method and provide their own - service configuration - binding and endpoint address - - - - - - 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 - - - - 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. - - - - - - 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} - - - - - Renders the logging event message and adds it to the internal ArrayList of log messages. - - The logging event. - - - - 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 - - - - 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? - - - - 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 - - - - 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} - - - - - Renders the logging event message and adds it to the internal ArrayList of log messages. - - The logging event. - - - - Gets the list of logs gathered in the . - - - - - 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. - - - - - - 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: -

- -
-
- - - The base class for all targets which call methods (local or remote). - Manages parameters and type coercion. - - - - - Initializes a new instance of the class. - - - - - Prepares an array of parameters to be passed based on the logging event and calls DoInvoke(). - - - The logging event. - - - - - Calls the target method. Must be implemented in concrete classes. - - Method call parameters. - The continuation. - - - - Calls the target method. Must be implemented in concrete classes. - - Method call parameters. - - - - Gets the array of parameters to be passed. - - - - - - Initializes the target. - - - - - Calls the specified Method. - - Method parameters. - - - - Gets or sets the class name. - - - - - - Gets or sets the method name. The method must be public and static. - - - - - - 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. - - - - - - 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: -

- -
-
- - - Does nothing. Optionally it calculates the layout text but - discards the results. - - The logging event. - - - - Gets or sets a value indicating whether to perform layout calculation. - - - - - - 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: -

- -
-
- - - 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. - - - - - 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. - - - - 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. - - - - - - SMTP authentication modes. - - - - - No authentication. - - - - - Basic - username and password. - - - - - NTLM Authentication. - - - - - Marks class as a logging target and assigns a name to it. - - - - - 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). - - - - - 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: -

- -
-
- - - Writes the specified logging event to the facility. - If the log level is greater than or equal to it uses the - method, otherwise it uses - method. - - The logging event. - - - - Web service protocol. - - - - - Use SOAP 1.1 Protocol. - - - - - Use SOAP 1.2 Protocol. - - - - - Use HTTP POST Protocol. - - - - - Use HTTP GET Protocol. - - - - - 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

- -
-
- - - Initializes a new instance of the class. - - - - - Calls the target method. Must be implemented in concrete classes. - - Method call parameters. - - - - Invokes the web service method. - - Parameters to be passed. - The continuation. - - - - Helper for creating soap POST-XML request - - - - - - - - - - Write from input to output. Fix the UTF-8 bom - - - - - - - - - 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. - - - - - - 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. - - - - - - 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. - - - - Enqueues another item. If the queue is overflown the appropriate - action is taken as specified by . - - The log event info. - - - - Dequeues a maximum of count items from the queue - and adds returns the list containing them. - - Maximum number of items to be dequeued. - The array of log events. - - - - Clears the queue. - - - - - 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. - - - - - 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: -

- -
-
- - - Base class for targets wrap other (single) targets. - - - - - 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. - - - - Gets or sets the target that is wrapped by this target. - - - - - - Initializes a new instance of the class. - - - - - 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. - - - - Waits for the lazy writer thread to finish writing messages. - - 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. - - - - - Starts 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. - - - - - 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 the queue of lazy writer thread requests. - - - - - 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 after each write on a wrapped target. - - 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: -

- -
-
- - - 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 wrapped target. - - - - Forwards the call to the .Write() - and calls on it. - - Logging event to be written out. - - - - 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. - - 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. - - - - Flushes pending events in the buffer (if any). - - 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. - - - - 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. - - - - - - 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. - - - - 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. - - - - Gets the collection of targets managed by this compound target. - - - - - 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. - - The targets. - - - - 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 . - - - - - Gets or sets a value indicating whether to return to the first target after any successful write. - - - - - - 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. - - The wrapped target. - The condition. - - - - Checks the condition against the passed log event. - If the condition is met, the log event is forwarded to - the wrapped target. - - Log event. - - - - Gets or sets the condition expression. Log events who meet this condition will be forwarded - to the wrapped target. - - - - - - 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. - - The wrapped target. - - - - 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. - - - - 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. - - - - 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. - - - - - - 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. - - - - - 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. - - - - - 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. - - - - 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. - - - - - - 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. - - 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. - - The wrapped target. - The repeat count. - - - - Forwards the log message to the by calling the method times. - - The log event. - - - - Gets or sets the number of times to repeat each log message. - - - - - - 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. - - The wrapped target. - The retry count. - The retry delay milliseconds. - - - - Writes the specified log event to the wrapped target, retrying and pausing in case of an error. - - The log event. - - - - 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. - - - - - - 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. - - The targets. - - - - 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. - - The targets. - - - - Forwards the specified log event to all sub-targets. - - The log event. - - - - 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. - - - - Current local time retrieved directly from DateTime.Now. - - - - - Defines source of current time. - - - - - 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 . - - - - - - Gets current time. - - - - - Gets or sets current global time source used in all log events. - - - Default time source is . - - - - - 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. - - - - - Gets current local time directly from DateTime.Now. - - - - - Current UTC time retrieved 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. - - - - - Gets current UTC time directly from DateTime.UtcNow. - - - - - 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). - - - - - 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. - - - - - Gets uncached local time directly from DateTime.Now. - - - - - Fast UTC time source that is updated once per tick (15.6 milliseconds). - - - - - 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. - - - - - Gets uncached UTC time directly from DateTime.UtcNow. - - - - - 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/PROJ-ETS/packages/NLog.4.2.3/lib/net45/NLog.dll b/PROJ-ETS/packages/NLog.4.2.3/lib/net45/NLog.dll deleted file mode 100644 index 4f801d7d90ba49bedce15f81be8383fd6526a56a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 500736 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 cP5jrU_wFCQm1EXXbRRE3{>Oj+;bGwa1 - - - 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. - - - - 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. - - - - 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. - - - - - Gets the log event. - - - - - Gets the continuation. - - - - - NLog internal logger. - - - - - Initializes static members of the InternalLogger class. - - - - - Logs the specified message at the specified level. - - Log level. - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the specified level. - - Log level. - Log message. - - - - Logs the specified message at the Trace level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Trace level. - - Log message. - - - - Logs the specified message at the Debug level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Debug level. - - Log message. - - - - Logs the specified message at the Info level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Info level. - - Log message. - - - - Logs the specified message at the Warn level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Warn level. - - Log message. - - - - Logs the specified message at the Error level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Error level. - - Log message. - - - - Logs the specified message at the Fatal level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Fatal level. - - Log message. - - - - Logs the assembly version and file version of the given Assembly. - - The assembly to log. - - - - Gets or sets the internal log level. - - - - - Gets or sets a value indicating whether internal messages should be written to the console output stream. - - - - - Gets or sets a value indicating whether internal messages should be written to the console error stream. - - - - - 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. - - - - - 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. - - - - - 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. - - - - 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. - - - - Gets the number of items in the array. - - - - - Condition and expression. - - - - - 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. - - - - Initializes a new instance of the class. - - Left hand side of the AND expression. - 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. - - - - Gets the left hand side of the AND expression. - - - - - Gets the right hand side of the AND expression. - - - - - 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). - - - - - Condition layout expression (represented by a string literal - with embedded ${}). - - - - - Initializes a new instance of the class. - - 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. - - - - Gets the layout. - - 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. - - - - Returns a string representation of the expression. - - The literal value. - - - - Evaluates the expression. - - Evaluation context. - The literal value as passed in the constructor. - - - - Gets the literal value. - - The literal value. - - - - 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. - - - - - 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. - - - - 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. - - - - Returns a string representation of the expression. - - - A that represents the condition expression. - - - - - Evaluates the expression. - - Evaluation context. - Expression result. - - - - Gets the method info. - - - - - Gets the method parameters. - - The method parameters. - - - - 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. - - - - Marks the class as containing condition methods. - - - - - Condition not expression. - - - - - Initializes a new instance of the class. - - The expression. - - - - Returns a string representation of the expression. - - - A that represents the condition expression. - - - - - Evaluates the expression. - - Evaluation context. - Expression result. - - - - Gets the expression to be negated. - - The expression. - - - - Condition or expression. - - - - - Initializes a new instance of the class. - - Left hand side of the OR expression. - Right hand side of the OR expression. - - - - 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. - - - - Gets the left expression. - - The left expression. - - - - Gets the right expression. - - The right expression. - - - - 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. - - - - - Condition relational (==, !=, <, <=, - > or >=) expression. - - - - - Initializes a new instance of the class. - - The left expression. - The right expression. - The relational 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. - - - - Gets the left expression. - - The left expression. - - - - Gets the right expression. - - The right expression. - - - - Gets the relational operator. - - The operator. - - - - 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. - - - - 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 - - - - Gets the token position. - - The token position. - - - - 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. - - - - 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. - - - - - 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. - - - - - 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. - - - - - Initializes a new instance of the class. - - The assemblies to scan for named items. - - - - Registers named items from the assembly. - - The assembly. - - - - Registers named items from the assembly. - - The assembly. - Item name prefix. - - - - 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. - - - - - 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. - - The layout renderer factory. - - - - Gets the factory. - - The layout factory. - - - - Gets the ambient property factory. - - The ambient property factory. - - - - Gets the time source factory. - - The time source factory. - - - - Gets the condition method factory. - - The condition method factory. - - - - Attribute used to mark the default parameters for layout renderers. - - - - - Initializes a new instance of the class. - - - - - Factory for class-based items. - - The base type of each item. - The type of the attribute used to annotate items. - - - - 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 means to populate factories of named items (such as targets, layouts, layout renderers, etc.). - - - - - 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. - - - - 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. - - - - - 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. - - - - 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. - - - - Gets or sets the installation log level. - - - - - Gets or sets a value indicating whether to ignore failures during installation. - - - - - Gets the installation parameters. - - - - - Gets or sets the log output. - - - - - Keeps logging configuration and provides simple API - to modify it. - - - - - Variables defined in xml or in API. name is case case insensitive. - - - - - Initializes a new instance of the class. - - - - - 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. - - - - - 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 - - - - - 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. - - - - - Use the old exception log handling of NLog 3.0? - - - - - 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. - - - - - Arguments for events. - - - - - Initializes a new instance of the class. - - The old configuration. - The new configuration. - - - - Gets the old configuration. - - The old configuration. - - - - Gets the new configuration. - - The new configuration. - - - - Arguments for . - - - - - 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 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 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. - - - - Enables logging for a particular level. - - Level to be enabled. - - - - Disables logging for a particular level. - - Level to be disabled. - - - - 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. - - - - 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. - - - - - Factory for locating methods. - - The type of the class marker attribute. - The type of the method marker attribute. - - - - 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 . - The result. - A value of true if the method was found, false otherwise. - - - - 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. - - - - - 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. - - - - - 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 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. - - - - Gets the element name. - - - - - Gets the dictionary of attribute values. - - - - - Gets the collection of child elements. - - - - - Gets the value of the element. - - - - - Attribute used to mark the required parameters for targets, - layout targets and filters. - - - - - Provides simple programmatic configuration API used for trivial logging cases. - - - - - 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 producing correct results regardless of the thread - it's running on. - - - - - A class for configuring NLog through an XML configuration file - (App.config style or App.nlog style). - - - - - Initializes a new instance of the class. - - Configuration file to be read. - - - - Initializes a new instance of the class. - - Configuration file to be read. - 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). - - - - 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. - - 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. - - - - Re-reads the original configuration file and returns the new object. - - The new object. - - - - 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. - - - - Parse the root - - - path to directory of config file. - - - - Parse {configuration} xml element. - - - path to directory of config file. - - - - Parse {NLog} xml element. - - - path to directory of config file. - - - - Parse {Rules} xml element - - - Rules are added to this parameter. - - - - Parse {Logger} xml element - - - Rules are added to this parameter. - - - - Replace a simple variable with a value. The orginal value is removed and thus we cannot redo this in a later stage. - - Use for that: - - - - - - - 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 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. - - - - - Matches when the specified condition is met. - - - Conditions are expressed using a simple language - described
here. - - - - - 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 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
- .
-
- - - Gets or sets the action to be taken when filter matches. - - - - - - 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
- .
-
- - - Gets or sets the condition expression. - - - - - - 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. - - - - - 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
- .
-
- - - Gets or sets a value indicating whether to ignore case when comparing strings. - - - - - - Gets or sets the substring to be matched. - - - - - - Matches when the calculated layout is equal to the specified substring. - This filter is deprecated in favor of <when /> which is based on conditions. - - - - - 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
- .
-
- - - Gets or sets a value indicating whether to ignore case when comparing strings. - - - - - - Gets or sets a string to compare the layout to. - - - - - - Matches when the calculated layout does NOT contain the specified substring. - This filter is deprecated in favor of <when /> which is based on conditions. - - - - - 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
- .
-
- - - Gets or sets the substring to be matched. - - - - - - Gets or sets a value indicating whether to ignore case when comparing strings. - - - - - - Matches when the calculated layout is NOT equal to the specified substring. - This filter is deprecated in favor of <when /> which is based on conditions. - - - - - Initializes a new instance of the class. - - - - - 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
- .
-
- - - Gets or sets a string to compare the layout to. - - - - - - Gets or sets a value indicating whether to ignore case when comparing strings. - - - - - - 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. - - - - Sets the information of the logging event. - - The exception information of the logging event. - - - - - Sets the level of the logging event. - - The level of the logging event. - - - - - Sets the logger name of the logging event. - - The logger name of the logging event. - - - - - Sets the log message on the logging event. - - The log message for the logging event. - - - - - Sets the log message and parameters for formatting on the logging event. - - A composite format string. - The object to format. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - Sets a per-event context property on the logging event. - - The name of the context property. - The value of the context property. - - - - - Sets multiple per-event context properties on the logging event. - - The properties to set. - - - - - Sets the timestamp of the logging event. - - The timestamp of the logging event. - - - - - Sets the stack trace for the event info. - - The stack trace. - Index of the first user stack frame within the stack trace. - - - - - 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. - - - - Gets the created by the builder. - - - - - Extension methods for NLog . - - - - - Starts building a log event with the specified . - - The logger to write the log event to. - The log level. - - - - - Starts building a log event at the Trace level. - - The logger to write the log event to. - - - - - Starts building a log event at the Debug level. - - The logger to write the log event to. - - - - - Starts building a log event at the Info level. - - The logger to write the log event to. - - - - - Starts building a log event at the Warn level. - - The logger to write the log event to. - - - - - Starts building a log event at the Error level. - - The logger to write the log event to. - - - - - Starts building a log event at the Fatal level. - - The logger to write the log event to. - - - - - Global Diagnostics Context - used for log4net compatibility. - - - - - 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 . - - - - 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 . - - - - 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 . - - - - 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 . - - - - Gets the Global Diagnostics Context named item. - - Item name. - The item value, 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. - - - - - Provides logging interface and utility functions. - - - Auto-generated Logger members for binary compatibility with NLog 1.0. - - - - - Logger with only generic methods (passing 'LogLevel' to methods) and core properties. - - - Auto-generated Logger members for binary compatibility with NLog 1.0. - - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - - Provides an interface to execute System.Actions without surfacing any exceptions raised for that action. - - - - - Runs 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. - - - - 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 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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 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 . - - - - Various helper methods for accessing state of ASP application. - - - - - Internal configuration manager used to read .NET configuration files. - Just a wrapper around the BCL ConfigurationManager, but used to enable - unit testing. - - - - - Interface for the wrapper around System.Configuration.ConfigurationManager. - - - - - Gets the wrapper around ConfigurationManager.AppSettings. - - - - - 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. - - - - 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. - - - - - 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 - - - - Wrapper IDictionaryEnumerator. - - - - - Initializes a new instance of the class. - - The wrapped. - - - - 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. - - - - - 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. - - - - - UTF-8 BOM 239, 187, 191 - - - - - 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 - - - - IsNullOrWhiteSpace for .net 3.5 - - - - - - - Safe way to get environment variables. - - - - - Helper class for dealing with exceptions. - - - - - Determines whether the exception must be rethrown. - - The exception. - True if the exception must be rethrown, false otherwise. - - - - Object construction helper. - - - - - Adapter for to - - - - - 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. - - - - - Process exit event. - - - - - Domain unloaded event. - - - - - Initializes a new instance of the class. - - The to wrap. - - - - Gets a the current wrappered in a . - - - - - 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. - - - - - 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. - - - - Writes the specified bytes. - - The bytes. - - - - Flushes this instance. - - - - - Closes this instance. - - - - - Gets the file info. - - The last file write time. The value must be of UTC kind. - Length of the file in bytes. - True if the operation succeeded, false otherwise. - - - - 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. - - - - Records the last write time for a file. - - - - - Records the last write time for a file to be specific date. - - Date and time when the last write occurred. The value must be of UTC kind. - - - - 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. - - - - Gets the path of the file, including file extension. - - The name of the file. - - - - Gets the last write time. - - The last write time. DateTime value must be of UTC kind. - - - - Gets the open time of the file. - - The open time. DateTime value must be of UTC kind. - - - - Gets the file creation parameters. - - The file creation parameters. - - - - 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 file info. - - The last file write time. The value must be of UTC kind. - Length of the file. - True if the operation succeeded, false otherwise. - - - - Writes the specified bytes to a file. - - The bytes to be written. - - - - Factory class which creates objects. - - - - - 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. - - - - 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. - - - - - Initializes a new "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. - - - - 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. - - - - - Gets the file info for a particular appender. - - The file name associated with a particular appender. - The last file write time. The value must be of UTC kind. - Length of the file. - when the operation succeeded; otherwise. - - - - Closes the specified appender and removes it from the list. - - File name of the appender to be closed. - - - - 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. - - - - - 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 used the native implementation. - - - - - Gets or sets the file attributes (Windows only). - - - - - 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 to be written. - - - - Closes this instance. - - - - - Flushes this instance. - - - - - Gets the file info. - - The last file write time. The value must be of UTC kind. - Length of the file. - - True if the operation succeeded, false otherwise. - - - - - 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. - - - - Flushes this instance. - - - - - Closes this instance. - - - - - Gets the file info. - - The last file write time. The value must be of UTC kind. - Length of the file. - - True if the operation succeeded, false otherwise. - - - - - 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. - - - - Flushes this instance. - - - - - Closes this instance. - - - - - Gets the file info. - - The last file write time. The value must be of UTC kind. - Length of the file. - - True if the operation succeeded, false otherwise. - - - - - 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 routines to get the size and last write time of the specified file. - - - - - Initializes static members of the FileInfoHelper class. - - - - - Gets the information about a file. - - Name of the file. - The file handle. - The last write time of the file in UTC. - Length of the file. - A value of true if file information was retrieved successfully, false otherwise. - - - - toString(format) if the object is a - - value to be converted - format value - provider, for example culture - - - - - 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. - - - - - 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. - - - - 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. - - - - - 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. - - - - - Logger configuration. - - - - - Initializes a new instance of the class. - - The targets by level. - Use the old exception log handling of NLog 3.0? - - - - - 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. - - - - - Use the old exception log handling of NLog 3.0? - - - - - Watches multiple files at the same time and raises an event whenever - a single change is detected in any of those files. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Stops the watching. - - - - - Watches the specified files for changes. - - The file names. - - - - Occurs when a change is detected in one of the monitored files. - - - - - Supports mocking of SMTP Client code. - - - - - Network sender which uses HTTP or HTTPS POST. - - - - - 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. - - - - Finalizes an instance of the NetworkSender class. - - - - - 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. - - - - Gets the address of the network endpoint. - - - - - Gets the last send time. - - - - - 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. - - - - - 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. - - - - 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. - - - - - Gets underlying socket instance. - - - - - 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. - The root objects. - Ordered list of objects implementing T. - - - - Parameter validation utilities. - - - - - Asserts that the value is not null and throws otherwise. - - The value to check. - Name of the parameter. - - - - 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. - - - - - Portable implementation of . - - - - - Gets the information about a file. - - Name of the file. - The file handle. - The last write time of the file in UTC. - Length of the file. - - A value of true if file information was retrieved successfully, false otherwise. - - - - - Portable implementation of . - - - - - 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). - - - - - Initializes a new instance of the class. - - - - - Gets the name of the process. - - - - - Gets current process ID. - - - - - - Gets current process name. - - - - - - Gets current process name (excluding filename extension, if any). - - - - - - Reflection helpers for accessing properties. - - - - - 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 - - - - - 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. - - - - Check current char while not changing the position. - - - - - - Read the current char and change position - - - - - - Get the substring of the - - - - - - - - Current position in - - - - - Full text to be parsed - - - - - 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. - - - - Provides helpers to sort log events and associated continuations. - - - - - 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 . - - - - - Key selector delegate. - - The type of the value. - The type of the key. - Value to extract key information from. - Key selected from log event. - - - - Utilities for dealing with values. - - - - - Stream helpers - - - - - Copy stream input to output. Skip the first bytes - - stream to read from - stream to write to - first bytes to skip (optional) - - - - Represents target with a chain of filters which determine - whether logging should happen. - - - - - Initializes a new instance of the class. - - The target. - The filter chain. - - - - Gets the stack trace usage. - - A value that determines stack trace handling. - - - - 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. - - - - 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. - - 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. - - - - - Win32-optimized implementation of . - - - - - Gets the information about a file. - - Name of the file. - The file handle. - The last write time of the file in UTC. - Length of the file. - - A value of true if file information was retrieved successfully, false otherwise. - - - - - 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 - - - - - Safe version of WriteAttributeString - - - - - - - - - - Safe version of WriteAttributeString - - - - - - - - Safe version of WriteElementSafeString - - - - - - - - - - Safe version of WriteCData - - - - - - - Log event context data. - - - - - Render environmental information related to logging events. - - - - - 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 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. - - - - Gets the logging configuration this target is part of. - - - - - Initializes a new instance of the class. - - - - - 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 - - - - - Also render the call attributes? (, - , ). - - - - - - 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. - - - - - - Designates a property of the class as an ambient property. - - - - - 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 - - - - - Render the layout - - - - - - - Convert the formatting string - - - - - - - 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 - - - - - ASP Application variable. - - - - - Renders the specified ASP Application variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the ASP Application variable name. - - - - - - ASP Request variable. - - - - - Renders the specified ASP Request variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the item name. The QueryString, Form, Cookies, or ServerVariables collection variables having the specified name are rendered. - - - - - - Gets or sets the QueryString variable to be rendered. - - - - - - Gets or sets the form variable to be rendered. - - - - - - Gets or sets the cookie to be rendered. - - - - - - Gets or sets the ServerVariables item to be rendered. - - - - - - ASP Session variable. - - - - - Renders the specified ASP Session variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the session variable name. - - - - - - Assembly version. - - - - - Renders assembly version and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - The current application domain's base directory. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Renders the application base directory and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - The call site (class name, method name and source information). - - - - - Initializes a new instance of the class. - - - - - Renders the call site and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to render the class name. - - - - - - 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 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. - - - - - The call site source line number. Full callsite - - - - - Renders the call site and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the number of frames to skip. - - - - - Gets the level of stack trace information required by the implementing class. - - - - - A counter value (increases on each layout rendering). - - - - - Initializes a new instance of the class. - - - - - Renders the specified counter value and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - Current date and time. - - - - - Initializes a new instance of the class. - - - - - Renders the current date and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the culture used for rendering. - - - - - - Gets or sets the date format. Can be any argument accepted by DateTime.ToString(format). - - - - - - Gets or sets a value indicating whether to output UTC time instead of local time. - - - - - - The environment variable. - - - - - Renders the specified environment variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - Log event context data. - - - - - Renders the specified log event context item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the item. - - - - - - Log event context data. See . - - - - - Log event context data with default options. - - - - - Renders the specified log event context item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the item. - - - - - - Format string for conversion from object to string. - - - - - Gets or sets the culture used for rendering. - - - - - - Exception information provided through - a call to one of the Logger.*Exception() methods. - - - - - Initializes a new instance of the class. - - - - - 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. - - - - 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 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. - - - - - - Renders contents of the specified file. - - - - - Initializes a new instance of the class. - - - - - Renders the contents of the specified file and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the file. - - - - - - Gets or sets the encoding used in the file. - - The encoding. - - - - - The information about the garbage collector. - - - - - Initializes a new instance of the class. - - - - - Renders the selected process information. - - The to append the rendered data to. - Logging event. - - - - Gets or sets the property to retrieve. - - - - - - 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. - - - - - Renders the specified Global Diagnostics Context item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the item. - - - - - - Globally-unique identifier (GUID). - - - - - Initializes a new instance of the class. - - - - - Renders a newly generated GUID string and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the GUID format as accepted by Guid.ToString() method. - - - - - - Thread identity information (name and authentication information). - - - - - Initializes a new instance of the class. - - - - - Renders the specified identity information and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the separator to be used when concatenating - parts of identity information. - - - - - - Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.Name. - - - - - - Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.AuthenticationType. - - - - - - Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.IsAuthenticated. - - - - - - Installation parameter (passed to InstallNLogConfig). - - - - - Renders the specified installation parameter and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the parameter. - - - - - - Marks class as a layout renderer and assigns a format string to it. - - - - - Initializes a new instance of the class. - - Name of the layout renderer. - - - - The log 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. - - - - Renders the specified string literal and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the literal text. - - - - - - XML event description compatible with log4j, Chainsaw and NLogViewer. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Renders the XML logging event and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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 stack. - - - - - - Gets or sets the NDC item separator. - - - - - - Gets the level of stack trace information required by the implementing class. - - - - - The logger name. - - - - - Renders the logger name and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to render short logger name (the part after the trailing dot character). - - - - - - The date and time in a long, sortable format yyyy-MM-dd HH:mm:ss.mmm. - - - - - Renders the date in the long format (yyyy-MM-dd HH:mm:ss.mmm) and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to output UTC time instead of local time. - - - - - - 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. - - - - - Renders the specified MDC item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the item. - - - - - - Mapped Diagnostic Logical Context item (based on CallContext). - - - - - Renders the specified MDLC item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the item. - - - - - - The formatted log message. - - - - - Initializes a new instance of the class. - - - - - Renders the log message including any positional parameters and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to log exception along with message. - - - - - - Gets or sets the string that separates message from the exception. - - - - - - Nested Diagnostic Context item. Provided for compatibility with log4net. - - - - - Initializes a new instance of the class. - - - - - Renders the specified Nested Diagnostics Context item and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - 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. - - - - - Renders the directory where NLog is located and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the file to be Path.Combine()'d with the directory name. - - - - - - Gets or sets the name of the directory to be Path.Combine()'d with the directory name. - - - - - - The performance counter. - - - - - 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. - - - - 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. - - - - - - 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. - - - - - Initializes the layout renderer. - - - - - Closes the layout renderer. - - - - - Renders the selected process information. - - The to append the rendered data to. - Logging event. - - - - Gets or sets the property to retrieve. - - - - - - 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. - - - - - Renders the current process name (optionally with a full path). - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to write the full path to the process executable. - - - - - - The process time in format HH:mm:ss.mmm. - - - - - Renders the current process running time and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - High precision timer, based on the value returned from QueryPerformanceCounter() optionally converted to seconds. - - - - - Initializes a new instance of the class. - - - - - 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. - - - - 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). - - - - - - A value from the Registry. - - - - - Reads the specified registry key and value and appends it to - the passed . - - The to append the rendered data to. - Logging event. Ignored. - - - - 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. - - - - - - Gets or sets the registry key. - - - Must have one of the forms: -
    -
  • HKLM\Key\Full\Name
  • -
  • HKEY_LOCAL_MACHINE\Key\Full\Name
  • -
  • HKCU\Key\Full\Name
  • -
  • HKEY_CURRENT_USER\Key\Full\Name
  • -
-
- -
- - - The short date in a sortable format yyyy-MM-dd. - - - - - Renders the current short date string (yyyy-MM-dd) and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether to output UTC time instead of local time. - - - - - - System special folder path (includes My Documents, My Music, Program Files, Desktop, and more). - - - - - Renders the directory where NLog is located and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - 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. - - - - - Renders the call site and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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. - - - - - - A temporary directory. - - - - - Renders the directory where NLog is located and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets the name of the file to be Path.Combine()'d with the directory name. - - - - - - Gets or sets the name of the directory to be Path.Combine()'d with the directory name. - - - - - - The 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.mmm. - - - - - 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. - - - - Gets or sets a value indicating whether to output UTC time instead of local time. - - - - - - 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) - - - - - Renders the specified variable and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - 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 - - - - - Thread Windows identity information (username). - - - - - Initializes a new instance of the class. - - - - - Renders the current thread windows identity information and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Gets or sets a value indicating whether domain name should be included. - - - - - - Gets or sets a value indicating whether username should be included. - - - - - - Applies caching to another layout output. - - - The value of the inner layout will be rendered only once and reused subsequently. - - - - - Decodes text "encrypted" with ROT-13. - - - See http://en.wikipedia.org/wiki/ROT13. - - - - - Renders the inner message, processes it and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Renders the inner layout contents. - - The log event. - Contents of inner layout. - - - - Gets or sets the wrapped layout. - - - - - - Initializes a new instance of the class. - - - - - 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. - - - - Gets or sets a value indicating whether this is enabled. - - - - - - Gets or sets a value indicating when the cache is cleared. - - - - - 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. - - - - Filters characters not allowed in the file names by replacing them with safe character. - - - - - Initializes a new instance of the class. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Padded and trimmed string. - - - - 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. - - - - - Post-processes the rendered message. - - The text to be post-processed. - JSON-encoded string. - - - - Gets or sets a value indicating whether to apply JSON encoding. - - - - - - Converts the result of another layout output to lower case. - - - - - Initializes a new instance of the class. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Padded and trimmed string. - - - - 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. - - - - Renders the inner layout contents. - - The log event. - - Contents of inner layout. - - - - - 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. - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - 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. - - - - - Replaces a string in the output of another layout with another string. - - - - - Initializes the layout renderer. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Post-processed text. - - - - A match evaluator for Regular Expression based replacing - - - - - - - - - - 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. - - - - - This class was created instead of simply using a lambda expression so that the "ThreadAgnosticAttributeTest" will pass - - - - - Replaces newline characters from the result of another layout renderer with spaces. - - - - - Initializes a new instance of the class. - - - - - Post-processes the rendered message. - - The text to be post-processed. - String with newline characters replaced with spaces. - - - - 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. - - - - - Encodes/Decodes ROT-13-encoded string. - - The string to be encoded/decoded. - Encoded/Decoded text. - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Gets or sets the layout to be wrapped. - - The layout to be wrapped. - This variable is for backwards compatibility - - - - - Trims the whitespace from the result of another layout renderer. - - - - - Initializes a new instance of the class. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Trimmed string. - - - - 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. - - - - - Initializes a new instance of the class. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Padded and trimmed string. - - - - 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. - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - 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. - - - - - Outputs alternative layout when the inner layout produces empty result. - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Renders the inner layout contents. - - The log event. - - Contents of inner layout. - - - - - 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. - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Renders the inner layout contents. - - The log event. - - Contents of inner layout. - - - - - Gets or sets the condition that must be met for the inner layout to be printed. - - - - - - Converts the result of another layout output to be XML-compliant. - - - - - Initializes a new instance of the class. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Padded and trimmed string. - - - - Gets or sets a value indicating whether to apply XML encoding. - - - - - - 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. - - - - - A specialized layout that supports header and footer. - - - - - Abstract interface that layouts must implement. - - - - - 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. - - 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. - - - - 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. - - - - 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 logging configuration this target is part of. - - - - - Renders the layout for the specified logging event by invoking layout renderers. - - The logging event. - The rendered layout. - - - - Gets or sets the body layout (can be repeated multiple times). - - - - - - Gets or sets the header layout. - - - - - - Gets or sets the footer layout. - - - - - - Initializes a new instance of the class. - - - - - Initializes the layout. - - - - - Formats the log event for write. - - The log event to be formatted. - A string representation of the log event. - - - - 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'). - - - - - - Header 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. - - - - 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. - - - - - A specialized layout that renders JSON-formatted events. - - - - - Initializes a new instance of the class. - - - - - Formats the log event as a JSON document for writing. - - The log event to be formatted. - A JSON string representation of the log event. - - - - Gets the array of attributes' configurations. - - - - - - Gets or sets the option to suppress the extra spaces in the output json - - - - - 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. - - - - - 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. - - - - - Renders the layout for the specified logging event by invoking layout renderers. - - The logging event. - The rendered layout. - - - - Gets the instance that renders log events. - - - - - 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. - - - - 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. - - - - - Renders the layout for the specified logging event by invoking layout renderers - that make up the event. - - The logging event. - The rendered layout. - - - - 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. - - - - - Represents the logging event. - - - - - Gets the date of the first log event created. - - - - - 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. - 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. - - - - 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 . - - - - 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. - - - - 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 or sets the exception information. - - - - - Gets or sets the logger name. - - - - - Gets the logger short name. - - - - - 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 the formatted message. - - - - - Gets the dictionary of per-event context properties. - - - - - Gets the dictionary of per-event context properties. - - - - - Creates and manages instances of objects. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The config. - - - - 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 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 - NLog.Logger. - 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. 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). - - - - - 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 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. - - - - 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. - - - - Invoke the Changed event; called whenever list changes - - Event arguments. - - - - Releases unmanaged and - optionally - managed resources. - - True to release both managed and unmanaged resources; - false to release only unmanaged resources. - - - - Currenty this logfactory is disposing? - - - - - Occurs when logging changes. - - - - - Occurs when logging gets reloaded. - - - - - Gets the current . - - - - - Gets or sets a value indicating whether exceptions should be thrown. - - A value of true if exception should be thrown; otherwise, false. - By default exceptions are not thrown under any circumstances. - - - - Gets or sets the current logging configuration. After setting this property all - existing loggers will be re-configured, so that there is no need to call - manually. - - - - - Gets or sets the global log threshold. Log events below this threshold are not logged. - - - - - Gets the default culture info to use as . - - - Specific culture info or null to use - - - - - 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. - - - - - 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. - - - - Provides logging interface and utility functions. - - - Provides logging interface and utility functions. - - - Logging methods which only are executed when the DEBUG conditional compilation symbol is set. - - - 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 - - - Auto-generated Logger members for binary compatibility with NLog 1.0. - - - - - Initializes a new instance of the class. - - - - - 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. - - - - 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. - - - - 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 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. - - - - 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 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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 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. - - - - 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. - - - - 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 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 . - - - - 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 - Index of the first user stack frame or 0 if all stack frames are non-user - - - - - Defines whether a stack frame belongs to non-user code - - Method of the stack frame - Type of the logger or logger wrapper - , if the method is from non-user code and should be skipped - - The method is classified as non-user if its declaring assembly is from hidden assemblies list - or its declaring type is or one of its subtypes. - - - - - 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. - - - - - Initializes a new instance of . - - The log level name. - The log level ordinal number. - - - - 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. - - - - - Gets the name of the log level. - - - - - Gets the ordinal of the log level. - - - - - Creates and manages instances of objects. - - - - - Initializes static members of the LogManager class. - - - - - Prevents a default instance of the LogManager class from being created. - - - - - 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). - - - - - 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. - - - - - Gets the fully qualified name of the class invoking the LogManager, including the - namespace but not the assembly. - - - - - 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 the current logging configuration. - - - - - - Gets or sets the global log threshold. Log events below this threshold are not logged. - - - - - Gets or sets the default culture to use. - - - - - Delegate used to set/get the culture in use. - - - - - 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. - - - - - 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 - - - - - 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. - - - - - 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. - - - - - 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. - - - - - Converts the to . - - The object this is part of.. - The logger name prefix to prepend in front of the logger name. - Converted . - - - - 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. - - - - - Wire format for NLog event package. - - - - - 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. - - - - - 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. - - - - List of strings annotated for more terse serialization. - - - - - Initializes a new instance of the class. - - - - - Log Receiver Client using WCF. - - - This will be removed when ILogReceiverClient is removed. - This provides an implementation of the legacy interface. - - - - 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. - - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - - - 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 . - - - - - 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. - - - - - Instructs the inner channel to display a user interface if one is required to initialize the channel prior to using it. - - - - - Completes an asynchronous operation to close a communication object. - - The that is returned by a call to the method. was called on an object in the state.The timeout elapsed before the was able to close gracefully. - - - - Completes an asynchronous operation to open a communication object. - - The that is returned by a call to the method.The was unable to be opened and has entered the state.The timeout elapsed before the was able to enter the state and has entered the state. - - - - Ends asynchronous processing of log messages. - - The result. - - - - 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. - - - - Processes the log messages asynchronously. - - The events to send. - - - - Processes the log messages asynchronously. - - The events to send. - User-specific state. - - - - Causes a communication object to transition from its current state into the closed state. - - - - - The client getting proxied - - - - - Do we use one-way or two-way messaging? - - - - - Enables the user to configure client and service credentials as well as service credential authentication settings for use on the client side of communication. - - - - - 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. - - - - - Gets or sets the cookie container. - - The cookie container. - - - - Gets the target endpoint for the service to which the WCF client can connect. - - - - - Occurs when the communication object first enters the faulted state. - - - - - Gets the underlying implementation. - - - - - 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. - - - - - Occurs when the log message processing has completed. - - - - - Gets the current state of the communication-oriented object. - - - The value of the of the object. - - - - - 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. - - - - - 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 . - - - - Gets the current thread MDC named item, as . - - Item name. - The to use when converting a value to a string. - The value of , if defined; otherwise . - - - - Gets the current thread MDC named item, as . - - 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 exists in current thread MDC. - - - - Removes the specified from current thread MDC. - - Item name. - - - - Clears the content of current thread MDC. - - - - - Async version of Mapped Diagnostics Context - a logical context structure that keeps a dictionary - of strings and provides methods to output them in layouts. Allows for maintaining state across - asynchronous tasks and call contexts. - - - Ideally, these changes should be incorporated as a new version of the MappedDiagnosticsContext class in the original - NLog library so that state can be maintained for multiple threads in asynchronous situations. - - - - - Gets the current logical context named item, as . - - Item name. - The value of , if defined; otherwise . - - - - 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 . - - - - 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. - - - - Sets the current logical context item to the specified value. - - Item name. - Item value. - - - - 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. - - - - - Mapped Diagnostics Context - used for log4net compatibility. - - - - - 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 . - - - - 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. - - - - - Nested Diagnostics Context - for log4net compatibility. - - - - - 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. - - - - 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. - - - - 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. - - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - - 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. - 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. - - - - - 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 buffer. - - - - - 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. - - - - - 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. - - - - - 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). - - - - - Outputs log messages through the ASP Response object. - - Documentation on NLog Wiki - - - - Represents target that supports string formatting using layouts. - - - - - Represents logging target. - - - - - 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. - - - 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. - - - - 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. - classes. - - - Logging event to be written out. - - - - - Writes log event to the log target. Must be overridden in inheriting - classes. - - Log event 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. - - - - 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. - - - - Gets or sets the name of the target. - - - - - - 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. - - - - - 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. - - - - - - Outputs the rendered logging event through the OutputDebugString() Win32 API. - - The logging event. - - - - Gets or sets a value indicating whether to add <!-- --> comments around all written texts. - - - - - - 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. -

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

-
-
- - - 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} - - - - - 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. - - - - 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 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. - - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - 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 the NDC item separator. - - - - - - 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. - - - - - - Initializes a new instance of the class. - - - - - Writes log messages to the console with customizable coloring. - - Documentation on NLog Wiki - - - - 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. - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - 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. - - - - 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 the row highlighting rules. - - - - - - Gets the word highlighting rules. - - - - - - 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. - - - - 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. - - - - - 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. - - - - - - 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: -

- -
-
- - - 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. - - - - 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 - - - - 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. - - - - - - 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 the compiled regular expression that matches either Text or Regex property. - - - - - Gets or sets the foreground color. - - - - - - Gets or sets the background color. - - - - - - 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. - - 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. - - - - - 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. - - - - - 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. - - - - 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. - - - - 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. - - - - - - A descriptor for an archive created with the DateAndSequence numbering mode. - - - - - 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. - - - - - The full name of the archive file. - - - - - The parsed date contained in the file name. - - - - - The parsed sequence number contained in the file name. - - - - - 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 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} - - - - - Increases the number of messages. - - The logging event. - - - - Gets the number of times this target has been called. - - - - - - Gets the last message rendered by this target. - - - - - - 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. - - - - - 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 - - - - 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. - - - - - - 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. - - - - - 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 at any one time. Once this number is exceeded clean up procedures - are initiated to reduce the number of initialised files. - - - - - This value disables file archiving based on the size. - - - - - 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. - - - - - 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). - - - - Factory used to create the file appeanders in the instance. - - File appenders are stored in an instance of . - - - - 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. - - - - - It holds the file names of existing archives in order for the oldest archives to be removed when the list of - filenames becomes too long. - - - - - The filename as target - - - - - The filename if is a fixed string - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - 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. - - - - - Writes the specified logging event to a file specified in the FileName - parameter. - - The logging event. - - - - 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. - - - - - 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. - - - - 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 numberic pattern. - - - - 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. - - Occationally, this method can identify the existance of the {#} pattern incorrectly. - File name to be checked. - when the pattern is found; otherwise. - - - - Archives the 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. - - - This method is called recursively. This is the reason the is required. - - File name to be archived. - File name template which contains the numeric pattern to be replaced. - Value which will replace the numeric pattern. - - - - Archives the 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. - - File name to be archived. - File name template which contains the numeric pattern to be replaced. - - - - Creates an archive copy of source file either by compressing it or moving to a new location in the file - system. Which action will be used is determined by the value of parameter. - - File name to be archived. - Name of the archive file. - Enables file compression - - - - - Archives the 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. - - - File name to be archived. - File name template which contains the numeric pattern to be replaced. - Log event that the instance is currently processing. - - - - Determines whether a file with a different name from is needed to receive the - . This is determined based on the last date and time which the file has been - written compared to the time the log event was initiated. - - - when log event time is "different" than the last write time; otherwise. - - - - - Deletes files among a given list, and stops as soon as the remaining files are fewer than the setting. - - List of the file archives. - - Items are deleted in the same order as in . No file is deleted if property is zero. - - - - - Searches a given directory for archives that comply with the current archive pattern. - - An enumeration of archive infos, ordered by their file creation date. - - - - Gets the collection of files in the specified directory which they match the . - - Directory to searched. - Pattern whihc the files will be searched against. - Lisf of files matching the pattern. - - - - Replaces the string-based pattern i.e. {#} in a file name with the value passed in parameter. - - File name which contains the string-based pattern. - Value which will replace the string-based pattern. - - File name with the value of in the position of the string-based pattern. - - - - - Archives the 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. - - File name to be archived. - File name template which contains the numeric pattern to be replaced. - - - - Deletes archive files in reverse chronological order until only the - MaxArchiveFiles number of archive files remain. - - The pattern that archive filenames will match - - - - Gets the correct formating 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. - - - - 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. - - - - 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 - - - - 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. - when archiving should be executed; otherwise. - - - - Indicates if the automatic archiving process should be executed based on file size constrains. - - File name to be written. - The size in bytes of the next chunk of data to be written in the file. - when archiving should be executed; otherwise. - - - - Indicates if the automatic archiving process should be executed based on date/time constrains. - - File name to be written. - Log event that the instance is currently processing. - when archiving should be executed; otherwise. - - - - The sequence of to be written for the file header. - - Sequence of to be written. - - - - The sequence of to be written for the file footer. - - Sequence of to be written. - - - - 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. - Log event that the instance is currently processing. - Raw sequence of to be written into the content part of the file. - Indicates that only content section should be written in the file. - - - - 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. - Indicates that only content section should be written in the file. - when file header should be written; otherwise. - - - - Writes the file footer and uninitialise the file in instance internal structures. - - File name to be written. - - - - 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. - This method is used when the content of the log file is re-written on every write. - - - - Writes the header information to a file. - - File appender associated with the file. - - - - Returns the length of a specified file and the last time it has been written. File appender is queried before the file system. - - File which the information are requested. - The last time the file has been written is returned. - The length of the file is returned. - when file details returned; otherwise. - - - - 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. - - - - Replaces any invalid characters found in the with underscore i.e _ character. - Invalid characters are defined by .NET framework and they returned by method. - Note: not implemented in Silverlight - - The original file name which might contain invalid characters. - The cleaned up file name without any invalid characters. - - - - 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. - - - - - 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 log file buffer size in bytes. - - - - - - Gets or sets the file encoding. - - - - - - 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 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 archving 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. -

-
- -
- - - 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. - - - - - - 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 used the native implementation. - - - - - Gets the characters that are appended after each line. - - - - - Creates an instance of class. - - Maximum number of archive files to be kept. - - - - Adds a file into archive. - - File name of the archive - Original file name - Create a directory, if it does not exist - Enables file compression - if the file has been moved successfully; otherwise. - - - - Creates an instance of class. - - - - - Archives the file, either by copying it to a new file system location or by compressing it, and add the file name into the list of archives. - - Target file name. - Original file name. - Create a directory, if it does not exist. - Enables file compression. - - - - Remove old archive files when the files on the queue are more than the . - - - - - Creates a new unique filename by appending a number to it. This method tests that - the filename created does not exist. - - This process can be slow as it increments the number sequentially from a specified - starting point until it finds a number which produces a filename which does not - exist. - - Example: - Original Filename trace.log - Target Filename trace.15.log - - Original file name. - Number starting point - File name suitable for archiving - - - - Gets or sets the maximum number of archive files that should be kept. - - - - - Characters determining the start of the . - - - - - Characters determining the end of the . - - - - - Replace the pattern with the specified String. - - - - - - - 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. - - - - - 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. - - - - - 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. - - - - - Gets the name of the LineEndingMode instance. - - - - - Gets the new line characters (value) of the LineEndingMode instance. - - - - - 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. - - - - - 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. - - - - 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. - - - - Creating a new instance of WcfLogReceiverClient - - Inheritors can override this method and provide their own - service configuration - binding and endpoint address - - - - - - 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 - - - - 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. - - - - - - 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} - - - - - Renders the logging event message and adds it to the internal ArrayList of log messages. - - The logging event. - - - - 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 - - - - 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? - - - - 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 - - - - 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} - - - - - Renders the logging event message and adds it to the internal ArrayList of log messages. - - The logging event. - - - - Gets the list of logs gathered in the . - - - - - 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. - - - - - - 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: -

- -
-
- - - The base class for all targets which call methods (local or remote). - Manages parameters and type coercion. - - - - - Initializes a new instance of the class. - - - - - Prepares an array of parameters to be passed based on the logging event and calls DoInvoke(). - - - The logging event. - - - - - Calls the target method. Must be implemented in concrete classes. - - Method call parameters. - The continuation. - - - - Calls the target method. Must be implemented in concrete classes. - - Method call parameters. - - - - Gets the array of parameters to be passed. - - - - - - Initializes the target. - - - - - Calls the specified Method. - - Method parameters. - - - - Gets or sets the class name. - - - - - - Gets or sets the method name. The method must be public and static. - - - - - - 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. - - - - - - 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: -

- -
-
- - - Does nothing. Optionally it calculates the layout text but - discards the results. - - The logging event. - - - - Gets or sets a value indicating whether to perform layout calculation. - - - - - - 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: -

- -
-
- - - 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. - - - - - 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. - - - - 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. - - - - - - SMTP authentication modes. - - - - - No authentication. - - - - - Basic - username and password. - - - - - NTLM Authentication. - - - - - Marks class as a logging target and assigns a name to it. - - - - - 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). - - - - - 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: -

- -
-
- - - Writes the specified logging event to the facility. - If the log level is greater than or equal to it uses the - method, otherwise it uses - method. - - The logging event. - - - - Web service protocol. - - - - - Use SOAP 1.1 Protocol. - - - - - Use SOAP 1.2 Protocol. - - - - - Use HTTP POST Protocol. - - - - - Use HTTP GET Protocol. - - - - - 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

- -
-
- - - Initializes a new instance of the class. - - - - - Calls the target method. Must be implemented in concrete classes. - - Method call parameters. - - - - Invokes the web service method. - - Parameters to be passed. - The continuation. - - - - Helper for creating soap POST-XML request - - - - - - - - - - Write from input to output. Fix the UTF-8 bom - - - - - - - - - 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. - - - - - - 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. - - - - - - 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. - - - - Enqueues another item. If the queue is overflown the appropriate - action is taken as specified by . - - The log event info. - - - - Dequeues a maximum of count items from the queue - and adds returns the list containing them. - - Maximum number of items to be dequeued. - The array of log events. - - - - Clears the queue. - - - - - 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. - - - - - 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: -

- -
-
- - - Base class for targets wrap other (single) targets. - - - - - 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. - - - - Gets or sets the target that is wrapped by this target. - - - - - - Initializes a new instance of the class. - - - - - 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. - - - - Waits for the lazy writer thread to finish writing messages. - - 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. - - - - - Starts 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. - - - - - 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 the queue of lazy writer thread requests. - - - - - 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 after each write on a wrapped target. - - 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: -

- -
-
- - - 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 wrapped target. - - - - Forwards the call to the .Write() - and calls on it. - - Logging event to be written out. - - - - 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. - - 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. - - - - Flushes pending events in the buffer (if any). - - 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. - - - - 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. - - - - - - 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. - - - - 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. - - - - Gets the collection of targets managed by this compound target. - - - - - 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. - - The targets. - - - - 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 . - - - - - Gets or sets a value indicating whether to return to the first target after any successful write. - - - - - - 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. - - The wrapped target. - The condition. - - - - Checks the condition against the passed log event. - If the condition is met, the log event is forwarded to - the wrapped target. - - Log event. - - - - Gets or sets the condition expression. Log events who meet this condition will be forwarded - to the wrapped target. - - - - - - 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. - - The wrapped target. - - - - 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. - - - - 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. - - - - 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. - - - - - - 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. - - - - - 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. - - - - - 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. - - - - 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. - - - - - - 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. - - 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. - - The wrapped target. - The repeat count. - - - - Forwards the log message to the by calling the method times. - - The log event. - - - - Gets or sets the number of times to repeat each log message. - - - - - - 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. - - The wrapped target. - The retry count. - The retry delay milliseconds. - - - - Writes the specified log event to the wrapped target, retrying and pausing in case of an error. - - The log event. - - - - 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. - - - - - - 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. - - The targets. - - - - 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. - - The targets. - - - - Forwards the specified log event to all sub-targets. - - The log event. - - - - 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. - - - - Current local time retrieved directly from DateTime.Now. - - - - - Defines source of current time. - - - - - 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 . - - - - - - Gets current time. - - - - - Gets or sets current global time source used in all log events. - - - Default time source is . - - - - - 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. - - - - - Gets current local time directly from DateTime.Now. - - - - - Current UTC time retrieved 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. - - - - - Gets current UTC time directly from DateTime.UtcNow. - - - - - 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). - - - - - 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. - - - - - Gets uncached local time directly from DateTime.Now. - - - - - Fast UTC time source that is updated once per tick (15.6 milliseconds). - - - - - 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. - - - - - Gets uncached UTC time directly from DateTime.UtcNow. - - - - - 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/PROJ-ETS/packages/NLog.4.2.3/lib/sl4/NLog.dll b/PROJ-ETS/packages/NLog.4.2.3/lib/sl4/NLog.dll deleted file mode 100644 index ce8f011ce0c61c5c67ac71022d15b1e2b1585bb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 277504 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

TE+9f7^C%$?682+nm- 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 diff --git a/PROJ-ETS/packages/NLog.4.2.3/lib/sl4/NLog.xml b/PROJ-ETS/packages/NLog.4.2.3/lib/sl4/NLog.xml deleted file mode 100644 index 6d84e01..0000000 --- a/PROJ-ETS/packages/NLog.4.2.3/lib/sl4/NLog.xml +++ /dev/null @@ -1,14470 +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. - - - - 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. - - - - - NLog internal logger. - - - - - Initializes static members of the InternalLogger class. - - - - - Gets or sets the internal log level. - - - - - Gets or sets a value indicating whether internal messages should be written to the console output stream. - - - - - Gets or sets a value indicating whether internal messages should be written to the console error stream. - - - - - 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. - - - - - 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 at the specified level. - - Log level. - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the specified level. - - Log level. - Log message. - - - - Logs the specified message at the Trace level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Trace level. - - Log message. - - - - Logs the specified message at the Debug level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Debug level. - - Log message. - - - - Logs the specified message at the Info level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Info level. - - Log message. - - - - Logs the specified message at the Warn level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Warn level. - - Log message. - - - - Logs the specified message at the Error level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Error level. - - Log message. - - - - Logs the specified message at the Fatal level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Fatal level. - - Log message. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - - 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. - - - - 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 token position. - - The token position. - - - - 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. - - - - - 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. - - - - - 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. - - - - - 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. - - The layout renderer factory. - - - - Gets the factory. - - The layout factory. - - - - Gets the ambient property factory. - - The ambient property factory. - - - - 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. - - - - 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. - - - - - 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. - - - - 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. - - - - - 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. - - - - - 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. - - - - - Variables defined in xml or in API. name is case case insensitive. - - - - - Initializes a new instance of the class. - - - - - Use the old exception log handling of NLog 3.0? - - - - - 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. - - - - - 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. - - - - - 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 - - - - - 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. - - - - - Arguments for events. - - - - - Initializes a new instance of the class. - - The old configuration. - The new configuration. - - - - Gets the old configuration. - - The old configuration. - - - - Gets the new configuration. - - The new configuration. - - - - Represents a logging rule. An equivalent of <logger /> configuration element. - - - - - Create an empty . - - - - - 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 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. - - - - Disables logging for a particular level. - - Level to be disabled. - - - - 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 . - The result. - A value of true if the method was found, false otherwise. - - - - 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. - - - - - 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 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. - - - - Attribute used to mark the required parameters for targets, - layout targets and filters. - - - - - Provides simple programmatic configuration API used for trivial logging cases. - - - - - 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. - - - - - Capture maximum amount of the stack trace information supported on the platform. - - - - - Marks the layout or layout renderer as producing correct results regardless of the thread - it's running on. - - - - - A class for configuring NLog through an XML configuration file - (App.config style or App.nlog style). - - - - - Initializes a new instance of the class. - - Configuration file to be read. - - - - Initializes a new instance of the class. - - Configuration file to be read. - 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). - - - - 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. - - - - Did the Succeeded? true= success, false= error, null = initialize not started yet. - - - - - Gets or sets a value indicating whether 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. - - - - 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. - - - - Parse the root - - - path to directory of config file. - - - - Parse {configuration} xml element. - - - path to directory of config file. - - - - Parse {NLog} xml element. - - - path to directory of config file. - - - - Parse {Rules} xml element - - - Rules are added to this parameter. - - - - Parse {Logger} xml element - - - Rules are added to this parameter. - - - - Replace a simple variable with a value. The orginal value is removed and thus we cannot redo this in a later stage. - - Use for that: - - - - - - - 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
- .
-
- - - 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. - - - - - Sets the level of the logging event. - - The level of the logging event. - - - - - Sets the logger name of the logging event. - - The logger name of the logging event. - - - - - Sets the log message on the logging event. - - The log message for the logging event. - - - - - Sets the log message and parameters for formatting on the logging event. - - A composite format string. - The object to format. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - Sets a per-event context property on the logging event. - - The name of the context property. - The value of the context property. - - - - - Sets multiple per-event context properties on the logging event. - - The properties to set. - - - - - Sets the timestamp of the logging event. - - The timestamp of the logging event. - - - - - Sets the stack trace for the event info. - - The stack trace. - Index of the first user stack frame within the stack trace. - - - - - Writes the log event to the underlying logger. - - - - - Writes the log event to the underlying logger. - - If condition is true, write log event; otherwise ignore event. - - - - Writes the log event to the underlying logger. - - If condition is true, write log event; otherwise ignore event. - - - - Extension methods for NLog . - - - - - Starts building a log event with the specified . - - The logger to write the log event to. - The log level. - - - - - Starts building a log event at the Trace level. - - The logger to write the log event to. - - - - - Starts building a log event at the Debug level. - - The logger to write the log event to. - - - - - Starts building a log event at the Info level. - - The logger to write the log event to. - - - - - Starts building a log event at the Warn level. - - The logger to write the log event to. - - - - - Starts building a log event at the Error level. - - The logger to write the log event to. - - - - - Starts building a log event at the Fatal level. - - The logger to write the log event to. - - - - - Global Diagnostics Context - used for log4net compatibility. - - - - - 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 . - - - - 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 . - - - - 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 . - - - - 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 . - - - - Gets the Global Diagnostics Context named item. - - Item name. - The item value, 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. - - - - - Provides logging interface and utility functions. - - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - Logger with only generic methods (passing 'LogLevel' to methods) and core properties. - - - - - 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. - - - - 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. - - - - 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. - - - - 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 - - - - - 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 - - - - IsNullOrWhiteSpace for .net 3.5 - - - - - - - Safe way to get environment variables. - - - - - Helper class for dealing with exceptions. - - - - - Determines whether the exception must be rethrown. - - The exception. - True if the exception must be rethrown, false otherwise. - - - - Object construction helper. - - - - - Adapter for to - - - - - Initializes a new instance of the class. - - The to wrap. - - - - Gets a the current wrappered in a . - - - - - Interface for fakeable the current . Not fully implemented, please methods/properties as necessary. - - - - - 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 the last write time. - - The last write time. DateTime value must be of UTC kind. - - - - Gets the open time of the file. - - The open time. DateTime value must be of UTC kind. - - - - Gets the file creation parameters. - - The file creation parameters. - - - - Writes the specified bytes. - - The bytes. - - - - Flushes this instance. - - - - - Closes this instance. - - - - - Gets the file info. - - The last file write time. The value must be of UTC kind. - Length of the file in bytes. - True if the operation succeeded, false otherwise. - - - - 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. - - - - Records the last write time for a file. - - - - - Records the last write time for a file to be specific date. - - Date and time when the last write occurred. The value must be of UTC kind. - - - - 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. - - - - 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 file info. - - The last file write time. The value must be of UTC kind. - Length of the file. - True if the operation succeeded, false otherwise. - - - - Writes the specified bytes to a file. - - The bytes to be written. - - - - 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. - - - - - Initializes a new "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. - - - - 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. - - - - - 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. - - - - - Gets the file info for a particular appender. - - The file name associated with a particular appender. - The last file write time. The value must be of UTC kind. - Length of the file. - when the operation succeeded; otherwise. - - - - Closes the specified appender and removes it from the list. - - File name of the appender to be closed. - - - - 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 used the native implementation. - - - - - 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. - - - - 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. - - - - Flushes this instance. - - - - - Closes this instance. - - - - - Gets the file info. - - The last file write time. The value must be of UTC kind. - Length of the file. - - True if the operation succeeded, false otherwise. - - - - - 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. - - - - Flushes this instance. - - - - - Closes this instance. - - - - - Gets the file info. - - The last file write time. The value must be of UTC kind. - Length of the file. - - True if the operation succeeded, false otherwise. - - - - - 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 routines to get the size and last write time of the specified file. - - - - - Initializes static members of the FileInfoHelper class. - - - - - Gets the information about a file. - - Name of the file. - The file handle. - The last write time of the file in UTC. - Length of the file. - A value of true if file information was retrieved successfully, false otherwise. - - - - toString(format) if the object is a - - value to be converted - format value - provider, for example culture - - - - - 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 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. - - - - - 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? - - - - - 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. - - - - - 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. - - - - Finalizes an instance of the NetworkSender class. - - - - - 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. - - - - 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. - - - - - 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. - The root objects. - Ordered list of objects implementing T. - - - - Parameter validation utilities. - - - - - Asserts that the value is not null and throws otherwise. - - The value to check. - Name of the parameter. - - - - 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. - - - - - Portable implementation of . - - - - - Gets the information about a file. - - Name of the file. - The file handle. - The last write time of the file in UTC. - Length of the file. - - A value of true if file information was retrieved successfully, false otherwise. - - - - - Reflection helpers for accessing properties. - - - - - 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 - - - - - 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. - - - - 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 . - - - - - Utilities for dealing with values. - - - - - Stream helpers - - - - - Copy stream input to output. Skip the first bytes - - stream to read from - stream to write to - first bytes to skip (optional) - - - - Represents target with a chain of filters which determine - whether logging should happen. - - - - - 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. - - - - Gets the stack trace usage. - - A value that determines stack trace handling. - - - - 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. - - 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. - - - - - Helper class for XML - - - - - removes any unusual unicode characters that can't be encoded into XML - - - - - 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 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. - - - - Log event context data. - - - - - Initializes a new instance of the class. - - - - - Gets or sets string that will be used to separate key/value pairs. - - - - - - Gets or sets how key/value pairs will be formatted. - - - - - - Renders all log event's properties and appends them to the specified . - - The to append the rendered data to. - Logging event. - - - - Designates a property of the class as an ambient property. - - - - - Initializes a new instance of the class. - - Ambient property name. - - - - Assembly version. - - - - - Renders assembly version 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 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 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. - - - - 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. - - - - URI of the HTML page which hosts the current Silverlight application. - - - - - Renders the specified environmental information and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Log event context data. - - - - - 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 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. - - - - - - 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. - - - - Find name of method on stracktrace. - - Full stracktrace - - - - - 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. - - - - 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. - - - - - - 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. - - - - - - Renders a newly generated GUID string 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 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. - - - - Marks class as a layout renderer and assigns a format string to it. - - - - - Initializes a new instance of the class. - - Name of the layout renderer. - - - - The log 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. - - - - - 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 stack. - - - - - - Gets or sets the NDC item separator. - - - - - - 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.mmm. - - - - - 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.mmm) 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. - - - - - - Renders the specified MDC 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. - - - - - - 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. - - - - A newline literal. - - - - - Renders the specified string literal and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - The process time in format HH:mm:ss.mmm. - - - - - Renders the current process running time 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. - - - - Information about Silverlight application. - - - - - Initializes a new instance of the class. - - - - - Gets or sets specific information to display. - - - - - - Renders the specified environmental information and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Specifies application information to display in ${sl-appinfo} renderer. - - - - - URI of the current application XAP file. - - - - - Whether application is running out-of-browser. - - - - - Installed state of an application. - - - - - Whether application is running with elevated permissions. - - - - - 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.mmm. - - - - - Gets or sets a value indicating whether to output UTC time instead of local time. - - - - - - 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. - - - - 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 - - - - - Renders the specified variable 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. - - - - - 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 '_'). - - - - - - Post-processes the rendered message. - - The text to be post-processed. - Padded and trimmed string. - - - - 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. - - - - - - Post-processes the rendered message. - - The text to be post-processed. - JSON-encoded string. - - - - 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. - - - - - - Post-processes the rendered message. - - The text to be post-processed. - Padded and trimmed string. - - - - 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. - - - - Renders the inner layout contents. - - The log event. - - Contents of inner layout. - - - - - 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. - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Replaces a string in the output of another layout with another string. - - - - - 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 - - - - - - - - - - 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. - - - - - Post-processes the rendered message. - - The text to be post-processed. - String with newline characters replaced with spaces. - - - - 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. - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - 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. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Trimmed string. - - - - Converts the result of another layout output to upper case. - - - - - 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. - - - - - - Post-processes the rendered message. - - The text to be post-processed. - Padded and trimmed string. - - - - 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. - - - - - 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. - - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Renders the inner layout contents. - - The log event. - - Contents of inner layout. - - - - - Only outputs the inner layout when the specified condition has been met. - - - - - Gets or sets the condition that must be met for the inner layout to be printed. - - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Renders the inner layout contents. - - The log event. - - Contents of inner layout. - - - - - Decodes text "encrypted" with ROT-13. - - - See http://en.wikipedia.org/wiki/ROT13. - - - - - Gets or sets the wrapped layout. - - - - - - Renders the inner message, processes it and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Renders the inner layout contents. - - The log event. - Contents of inner layout. - - - - 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 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. - - - - - 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. - - - - Header 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. - - - - 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. - - - - - 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 - - - - - Formats the log event as a JSON document for writing. - - The log event to be formatted. - A JSON string representation of the log event. - - - - Abstract interface that layouts must implement. - - - - - 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 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. - - 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. - - - - 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. - - - - 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. - - - - - 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. - - - - 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. - - - - - Renders the layout for the specified logging event by invoking layout renderers. - - The logging event. - The rendered layout. - - - - 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. - - - - - 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. - - - - - Renders the layout for the specified logging event by invoking layout renderers - that make up the event. - - The logging event. - The rendered layout. - - - - Represents the logging event. - - - - - Gets the date of the first log event created. - - - - - 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. - 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 or sets the exception information. - - - - - Gets or sets the logger name. - - - - - Gets the logger short name. - - - - - 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 the formatted message. - - - - - Gets the dictionary of per-event context properties. - - - - - Gets the dictionary of per-event context properties. - - - - - 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 . - - - - 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. - - - - Creates and manages instances of objects. - - - - - Occurs when logging changes. - - - - - 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. - - A value of true if exception should be thrown; otherwise, false. - By default exceptions are not thrown under any circumstances. - - - - Gets or sets the current logging configuration. After setting this property all - existing loggers will be re-configured, so that there is no need to call - manually. - - - - - Gets or sets the global log 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 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 - NLog.Logger. - 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. 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). - - 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 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. - - - - 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. - - - - Invoke the Changed event; called whenever list changes - - Event arguments. - - - - Releases unmanaged and - optionally - managed resources. - - True to release both managed and unmanaged resources; - false to release only unmanaged resources. - - - - 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. - - - - - 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. - - - - Provides logging interface and utility functions. - - - Provides logging interface and utility functions. - - - Logging methods which only are executed when the DEBUG conditional compilation symbol is set. - - - 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 - - - - - 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. - - - - 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. - - - - 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 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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 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. - - - - 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 - Index of the first user stack frame or 0 if all stack frames are non-user - - - - - Defines whether a stack frame belongs to non-user code - - Method of the stack frame - Type of the logger or logger wrapper - , if the method is from non-user code and should be skipped - - The method is classified as non-user if its declaring assembly is from hidden assemblies list - or its declaring type is or one of its subtypes. - - - - - 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. - - - - - 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. - - - - - Delegate used to set/get the culture in use. - - - - - Prevents a default instance of the LogManager class from being created. - - - - - Occurs when logging changes. - - - - - Gets or sets a value indicating whether NLog should throw exceptions. - By default exceptions are not thrown under any circumstances. - - - - - Gets or sets the current logging configuration. - - - - - - Gets or sets the global log threshold. Log events below this threshold are not logged. - - - - - Gets or sets the default culture to use. - - - - - 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). - - 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. - - - - - Gets the fully qualified name of the class invoking the LogManager, including the - namespace but not the assembly. - - - - - Returns a log message. Used to defer calculation of - the log message until it's actually needed. - - Log message. - - - - 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 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 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 ILogReceiverServer - - - - - 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. - - - - Gets or sets the cookie container. - - The cookie container. - - - - 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 will be removed when ILogReceiverClient is removed. - This provides an implementation of the legacy interface. - - - - 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. - - - - Returns a new channel from the client to the service. - - - A channel of type that identifies the type - of service contract encapsulated by this client object (proxy). - - - - - 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. - - - - - 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. - - - - - 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. - - - - Returns a new channel from the client to the service. - - - A channel of type that identifies the type - of service contract encapsulated by this client object (proxy). - - - - - 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. - - - - Returns a new channel from the client to the service. - - - A channel of type that identifies the type - of service contract encapsulated by this client object (proxy). - - - - - 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. - - - - - 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 . - - - - Gets the current thread MDC named item, as . - - Item name. - The to use when converting a value to a string. - The value of , if defined; otherwise . - - - - Gets the current thread MDC named item, as . - - 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 exists in current thread MDC. - - - - Removes the specified from current thread MDC. - - Item name. - - - - Clears the content of current thread MDC. - - - - - Mapped Diagnostics Context - used for log4net compatibility. - - - - - 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 . - - - - 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. - - - - - Nested Diagnostics Context - for log4net compatibility. - - - - - 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. - - - - 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. - - - - - 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. - The inner exception. - - - - 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. - - - - 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). - - - - - 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. - - - - - 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: -

- -
-
- - - Gets or sets a value indicating whether to send the log messages to the standard error instead of the standard output. - - - - - - 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. - - - - 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 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} - - - - - 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. - - - - 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. - - - - - 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 at any one time. Once this number is exceeded clean up procedures - are initiated to reduce the number of initialised files. - - - - - This value disables file archiving based on the size. - - - - - Cached directory separator char array to avoid memory allocation on each method call. - - - - - 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). - - - - Factory used to create the file appeanders in the instance. - - File appenders are stored in an instance of . - - - - 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. - - - - - It holds the file names of existing archives in order for the oldest archives to be removed when the list of - filenames becomes too long. - - - - - The filename as target - - - - - The filename if is a fixed string - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - 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. - - - - - 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 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 log file buffer size in bytes. - - - - - - Gets or sets the file encoding. - - - - - - 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 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 archving 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. -

-
- -
- - - 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. - - - - - - 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 used the native implementation. - - - - - Gets the characters that are appended after each line. - - - - - 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. - - - - - Writes the specified logging event to a file specified in the FileName - parameter. - - The logging event. - - - - 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. - - - - - 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. - - - - 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 numberic pattern. - - - - 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. - - Occationally, this method can identify the existance of the {#} pattern incorrectly. - File name to be checked. - when the pattern is found; otherwise. - - - - Archives the 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. - - - This method is called recursively. This is the reason the is required. - - File name to be archived. - File name template which contains the numeric pattern to be replaced. - Value which will replace the numeric pattern. - - - - Archives the 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. - - File name to be archived. - File name template which contains the numeric pattern to be replaced. - - - - Creates an archive copy of source file either by compressing it or moving to a new location in the file - system. Which action will be used is determined by the value of parameter. - - File name to be archived. - Name of the archive file. - Enables file compression - - - - - Archives the 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. - - - File name to be archived. - File name template which contains the numeric pattern to be replaced. - Log event that the instance is currently processing. - - - - Determines whether a file with a different name from is needed to receive the - . This is determined based on the last date and time which the file has been - written compared to the time the log event was initiated. - - - when log event time is "different" than the last write time; otherwise. - - - - - Deletes files among a given list, and stops as soon as the remaining files are fewer than the setting. - - List of the file archives. - - Items are deleted in the same order as in . No file is deleted if property is zero. - - - - - Searches a given directory for archives that comply with the current archive pattern. - - An enumeration of archive infos, ordered by their file creation date. - - - - Gets the collection of files in the specified directory which they match the . - - Directory to searched. - Pattern whihc the files will be searched against. - Lisf of files matching the pattern. - - - - Replaces the string-based pattern i.e. {#} in a file name with the value passed in parameter. - - File name which contains the string-based pattern. - Value which will replace the string-based pattern. - - File name with the value of in the position of the string-based pattern. - - - - - Archives the 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. - - File name to be archived. - File name template which contains the numeric pattern to be replaced. - - - - Deletes archive files in reverse chronological order until only the - MaxArchiveFiles number of archive files remain. - - The pattern that archive filenames will match - - - - Gets the correct formating 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. - - - - 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. - - - - 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 - - - - 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. - when archiving should be executed; otherwise. - - - - Indicates if the automatic archiving process should be executed based on file size constrains. - - File name to be written. - The size in bytes of the next chunk of data to be written in the file. - when archiving should be executed; otherwise. - - - - Indicates if the automatic archiving process should be executed based on date/time constrains. - - File name to be written. - Log event that the instance is currently processing. - when archiving should be executed; otherwise. - - - - The sequence of to be written for the file header. - - Sequence of to be written. - - - - The sequence of to be written for the file footer. - - Sequence of to be written. - - - - 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. - Log event that the instance is currently processing. - Raw sequence of to be written into the content part of the file. - Indicates that only content section should be written in the file. - - - - 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. - Indicates that only content section should be written in the file. - when file header should be written; otherwise. - - - - Writes the file footer and uninitialise the file in instance internal structures. - - File name to be written. - - - - 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. - This method is used when the content of the log file is re-written on every write. - - - - Writes the header information to a file. - - File appender associated with the file. - - - - Returns the length of a specified file and the last time it has been written. File appender is queried before the file system. - - File which the information are requested. - The last time the file has been written is returned. - The length of the file is returned. - when file details returned; otherwise. - - - - 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. - - - - Replaces any invalid characters found in the with underscore i.e _ character. - Invalid characters are defined by .NET framework and they returned by method. - Note: not implemented in Silverlight - - The original file name which might contain invalid characters. - The cleaned up file name without any invalid characters. - - - - Gets or sets the maximum number of archive files that should be kept. - - - - - Creates an instance of class. - - Maximum number of archive files to be kept. - - - - Adds a file into archive. - - File name of the archive - Original file name - Create a directory, if it does not exist - Enables file compression - if the file has been moved successfully; otherwise. - - - - Creates an instance of class. - - - - - Archives the file, either by copying it to a new file system location or by compressing it, and add the file name into the list of archives. - - Target file name. - Original file name. - Create a directory, if it does not exist. - Enables file compression. - - - - Remove old archive files when the files on the queue are more than the . - - - - - Creates a new unique filename by appending a number to it. This method tests that - the filename created does not exist. - - This process can be slow as it increments the number sequentially from a specified - starting point until it finds a number which produces a filename which does not - exist. - - Example: - Original Filename trace.log - Target Filename trace.15.log - - Original file name. - Number starting point - File name suitable for archiving - - - - 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. - - - - - - - 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. - - - - - 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. - - - - - 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. - - - - 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. - - - - Creating a new instance of WcfLogReceiverClient - - Inheritors can override this method and provide their own - service configuration - binding and endpoint address - - - - - - 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 - - - - 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} - - - - - 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. - - - - - - 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. - - - - - - Initializes the target. - - - - - 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 method. Must be implemented in concrete classes. - - 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} - - - - - 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 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} - - - - - 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 dictionary contents. - - - - - - Gets or sets a value indicating whether to include stack contents. - - - - - - Gets or sets the NDC item separator. - - - - - - 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. - - - - - - Does nothing. Optionally it calculates the layout text but - discards the results. - - The logging event. - - - - Represents logging target. - - - - - Gets or sets the name of the target. - - - - - - 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. - - - - - 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. - - - 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. - - - - 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. - classes. - - - Logging event to be written out. - - - - - Writes log event to the log target. Must be overridden in inheriting - classes. - - Log event 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. - - - - 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. - - - - Marks class as a logging target and assigns a name to it. - - - - - 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). - - - - - 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. - - - - Web service protocol. - - - - - Use SOAP 1.1 Protocol. - - - - - Use SOAP 1.2 Protocol. - - - - - Use HTTP POST Protocol. - - - - - Use HTTP GET Protocol. - - - - - 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

- -
-
- - - Initializes a new instance of the class. - - - - - 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. - - - - - - 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. - - - - - - Calls the target method. Must be implemented in concrete classes. - - Method call parameters. - - - - Invokes the web service method. - - Parameters to be passed. - The continuation. - - - - Helper for creating soap POST-XML request - - - - - - - - - - Write from input to output. Fix the UTF-8 bom - - - - - - - - - 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. - - - - Dequeues a maximum of count items from the queue - and adds returns the list containing them. - - Maximum number of items to be dequeued. - The array of log events. - - - - 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. - - 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 the queue of lazy writer thread requests. - - - - - Waits for the lazy writer thread to finish writing messages. - - 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. - - - - - Starts 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. - - - - - 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 after each write on a wrapped target. - - 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: -

- -
-
- - - 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 wrapped target. - - - - Forwards the call to the .Write() - and calls on it. - - Logging event to be written out. - - - - 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. - - 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. - - - - 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. - - - - - - Flushes pending events in the buffer (if any). - - 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. - - - - 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. - - 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. - - 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. - - - - 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. - - - - - 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. - - - - - - 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. - - 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. - - 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. - - 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. - - - - - - 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. - - The targets. - - - - 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]. - - - - - 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. - - The targets. - - - - Forwards the specified log event to all sub-targets. - - The log event. - - - - 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. - - - - 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. - - - - Define Localizable attribute for platforms that don't have it. - - - - - Initializes a new instance of the class. - - Determines whether the target is localizable. - - - - Gets or sets a value indicating whether the target is localizable. - - - - diff --git a/PROJ-ETS/packages/NLog.4.2.3/lib/sl5/NLog.dll b/PROJ-ETS/packages/NLog.4.2.3/lib/sl5/NLog.dll deleted file mode 100644 index 186c63fe77f845822862c936049ac514b241fcac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 278016 zcmcG%37lL-wZMJn-tODWEJ@Eyda^)f2+UCQGD#*ZlY}K8`@V*ReTM*Yp*x^3^bk-M zS)!nzFM>-{1VK<#o}%Ku0Q?vdNkG2e@B8x0be%d?b?Vfq zQ>XU2haC4dFYr7s#oxdG?RlTZm47Sr_tk&a5!^HQP>=V?++*8(y5r!-wmJHoHT9tj zYth-YQ(r%H`l%OO5Um|L?aZOt#TN{%xnOAT!;TtyeRRf|qut&4?PAi0@8fv~cLd(E z<_#-dZZCKXhB`YIdEU-&6 zHpFy`ONi--5i??!`jVukAnsh#D-Jo%TNHRZ;6kV{DRrMOc80wjW;q$E-w&c)fv57B zN*J2m0H2d|9nkZsjpBSSFO2_xMQ4HEZ&}~jH^O>g`jk_lznFYr@fG;&^`qV4uIl%9 zWxJE?=92twJ?!}PJ;5W^$8XumcWXyv~qF`XYv48)Svoo z!p^84^r!mk?-Y2<*0S}ShNp&pUN~@55k(y?rZ+ZYks@7J#Sk??G5XDCgaAcVElJrx z3{(A{EO_LX@{Wo1WqwSrM(HlxI6Pp*wQ+cMjTR4Lj&JUO*v8?xHB=15Jl}jw5nI(( zD`IQk{1=ED?}o39=0K4-3Ti$G4*lDRBW+G>2#p$xOr1@L>L-kyKam#+b^7&#NZt^S zMFpwoU@*z1mny|}Am^2qIC~O!*h%SHUy*hu)qg~>Yie$j?jg{fW?^ib&UxD}vUJ

(|U4>+%QMFmu4nZefb0%Y2O+9ZJs8Vf<9{ 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

A+ydkoq>l@Otqj`u3CBD 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 - - - 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. - - - - 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. - - - - - NLog internal logger. - - - - - Initializes static members of the InternalLogger class. - - - - - Gets or sets the internal log level. - - - - - Gets or sets a value indicating whether internal messages should be written to the console output stream. - - - - - Gets or sets a value indicating whether internal messages should be written to the console error stream. - - - - - 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. - - - - - 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 at the specified level. - - Log level. - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the specified level. - - Log level. - Log message. - - - - Logs the specified message at the Trace level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Trace level. - - Log message. - - - - Logs the specified message at the Debug level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Debug level. - - Log message. - - - - Logs the specified message at the Info level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Info level. - - Log message. - - - - Logs the specified message at the Warn level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Warn level. - - Log message. - - - - Logs the specified message at the Error level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Error level. - - Log message. - - - - Logs the specified message at the Fatal level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message at the Fatal level. - - Log message. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - - 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. - - - - 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 token position. - - The token position. - - - - 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. - - - - - 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. - - - - - 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. - - - - - 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. - - The layout renderer factory. - - - - Gets the factory. - - The layout factory. - - - - Gets the ambient property factory. - - The ambient property factory. - - - - 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. - - - - 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. - - - - - 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. - - - - 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. - - - - - 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. - - - - - 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. - - - - - Variables defined in xml or in API. name is case case insensitive. - - - - - Initializes a new instance of the class. - - - - - Use the old exception log handling of NLog 3.0? - - - - - 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. - - - - - 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. - - - - - 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 - - - - - 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. - - - - - Arguments for events. - - - - - Initializes a new instance of the class. - - The old configuration. - The new configuration. - - - - Gets the old configuration. - - The old configuration. - - - - Gets the new configuration. - - The new configuration. - - - - Represents a logging rule. An equivalent of <logger /> configuration element. - - - - - Create an empty . - - - - - 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 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. - - - - Disables logging for a particular level. - - Level to be disabled. - - - - 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 . - The result. - A value of true if the method was found, false otherwise. - - - - 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. - - - - - 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 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. - - - - Attribute used to mark the required parameters for targets, - layout targets and filters. - - - - - Provides simple programmatic configuration API used for trivial logging cases. - - - - - 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. - - - - - Capture maximum amount of the stack trace information supported on the platform. - - - - - Marks the layout or layout renderer as producing correct results regardless of the thread - it's running on. - - - - - A class for configuring NLog through an XML configuration file - (App.config style or App.nlog style). - - - - - Initializes a new instance of the class. - - Configuration file to be read. - - - - Initializes a new instance of the class. - - Configuration file to be read. - 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). - - - - 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. - - - - Did the Succeeded? true= success, false= error, null = initialize not started yet. - - - - - Gets or sets a value indicating whether 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. - - - - 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. - - - - Parse the root - - - path to directory of config file. - - - - Parse {configuration} xml element. - - - path to directory of config file. - - - - Parse {NLog} xml element. - - - path to directory of config file. - - - - Parse {Rules} xml element - - - Rules are added to this parameter. - - - - Parse {Logger} xml element - - - Rules are added to this parameter. - - - - Replace a simple variable with a value. The orginal value is removed and thus we cannot redo this in a later stage. - - Use for that: - - - - - - - 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
- .
-
- - - 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. - - - - - Sets the level of the logging event. - - The level of the logging event. - - - - - Sets the logger name of the logging event. - - The logger name of the logging event. - - - - - Sets the log message on the logging event. - - The log message for the logging event. - - - - - Sets the log message and parameters for formatting on the logging event. - - A composite format string. - The object to format. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - 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. - - - - - Sets a per-event context property on the logging event. - - The name of the context property. - The value of the context property. - - - - - Sets multiple per-event context properties on the logging event. - - The properties to set. - - - - - Sets the timestamp of the logging event. - - The timestamp of the logging event. - - - - - Sets the stack trace for the event info. - - The stack trace. - Index of the first user stack frame within the stack trace. - - - - - Writes the log event to the underlying logger. - - - - - Writes the log event to the underlying logger. - - If condition is true, write log event; otherwise ignore event. - - - - Writes the log event to the underlying logger. - - If condition is true, write log event; otherwise ignore event. - - - - Extension methods for NLog . - - - - - Starts building a log event with the specified . - - The logger to write the log event to. - The log level. - - - - - Starts building a log event at the Trace level. - - The logger to write the log event to. - - - - - Starts building a log event at the Debug level. - - The logger to write the log event to. - - - - - Starts building a log event at the Info level. - - The logger to write the log event to. - - - - - Starts building a log event at the Warn level. - - The logger to write the log event to. - - - - - Starts building a log event at the Error level. - - The logger to write the log event to. - - - - - Starts building a log event at the Fatal level. - - The logger to write the log event to. - - - - - Global Diagnostics Context - used for log4net compatibility. - - - - - 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 . - - - - 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 . - - - - 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 . - - - - 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 . - - - - Gets the Global Diagnostics Context named item. - - Item name. - The item value, 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. - - - - - Provides logging interface and utility functions. - - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - Logger with only generic methods (passing 'LogLevel' to methods) and core properties. - - - - - 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. - - - - 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. - - - - 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. - - - - 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 - - - - - 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 - - - - IsNullOrWhiteSpace for .net 3.5 - - - - - - - Safe way to get environment variables. - - - - - Helper class for dealing with exceptions. - - - - - Determines whether the exception must be rethrown. - - The exception. - True if the exception must be rethrown, false otherwise. - - - - Object construction helper. - - - - - Adapter for to - - - - - Initializes a new instance of the class. - - The to wrap. - - - - Gets a the current wrappered in a . - - - - - Interface for fakeable the current . Not fully implemented, please methods/properties as necessary. - - - - - 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 the last write time. - - The last write time. DateTime value must be of UTC kind. - - - - Gets the open time of the file. - - The open time. DateTime value must be of UTC kind. - - - - Gets the file creation parameters. - - The file creation parameters. - - - - Writes the specified bytes. - - The bytes. - - - - Flushes this instance. - - - - - Closes this instance. - - - - - Gets the file info. - - The last file write time. The value must be of UTC kind. - Length of the file in bytes. - True if the operation succeeded, false otherwise. - - - - 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. - - - - Records the last write time for a file. - - - - - Records the last write time for a file to be specific date. - - Date and time when the last write occurred. The value must be of UTC kind. - - - - 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. - - - - 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 file info. - - The last file write time. The value must be of UTC kind. - Length of the file. - True if the operation succeeded, false otherwise. - - - - Writes the specified bytes to a file. - - The bytes to be written. - - - - 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. - - - - - Initializes a new "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. - - - - 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. - - - - - 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. - - - - - Gets the file info for a particular appender. - - The file name associated with a particular appender. - The last file write time. The value must be of UTC kind. - Length of the file. - when the operation succeeded; otherwise. - - - - Closes the specified appender and removes it from the list. - - File name of the appender to be closed. - - - - 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 used the native implementation. - - - - - 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. - - - - 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. - - - - Flushes this instance. - - - - - Closes this instance. - - - - - Gets the file info. - - The last file write time. The value must be of UTC kind. - Length of the file. - - True if the operation succeeded, false otherwise. - - - - - 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. - - - - Flushes this instance. - - - - - Closes this instance. - - - - - Gets the file info. - - The last file write time. The value must be of UTC kind. - Length of the file. - - True if the operation succeeded, false otherwise. - - - - - 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 routines to get the size and last write time of the specified file. - - - - - Initializes static members of the FileInfoHelper class. - - - - - Gets the information about a file. - - Name of the file. - The file handle. - The last write time of the file in UTC. - Length of the file. - A value of true if file information was retrieved successfully, false otherwise. - - - - toString(format) if the object is a - - value to be converted - format value - provider, for example culture - - - - - 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 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. - - - - - 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? - - - - - 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. - - - - - 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. - - - - Finalizes an instance of the NetworkSender class. - - - - - 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. - - - - 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. - - - - - 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. - The root objects. - Ordered list of objects implementing T. - - - - Parameter validation utilities. - - - - - Asserts that the value is not null and throws otherwise. - - The value to check. - Name of the parameter. - - - - 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. - - - - - Portable implementation of . - - - - - Gets the information about a file. - - Name of the file. - The file handle. - The last write time of the file in UTC. - Length of the file. - - A value of true if file information was retrieved successfully, false otherwise. - - - - - Reflection helpers for accessing properties. - - - - - 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 - - - - - 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. - - - - 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 . - - - - - Utilities for dealing with values. - - - - - Stream helpers - - - - - Copy stream input to output. Skip the first bytes - - stream to read from - stream to write to - first bytes to skip (optional) - - - - Represents target with a chain of filters which determine - whether logging should happen. - - - - - 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. - - - - Gets the stack trace usage. - - A value that determines stack trace handling. - - - - 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. - - 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. - - - - - Helper class for XML - - - - - removes any unusual unicode characters that can't be encoded into XML - - - - - 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 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. - - - - Log event context data. - - - - - Initializes a new instance of the class. - - - - - Gets or sets string that will be used to separate key/value pairs. - - - - - - Gets or sets how key/value pairs will be formatted. - - - - - - Renders all log event's properties and appends them to the specified . - - The to append the rendered data to. - Logging event. - - - - Designates a property of the class as an ambient property. - - - - - Initializes a new instance of the class. - - Ambient property name. - - - - Assembly version. - - - - - Renders assembly version 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 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 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. - - - - 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. - - - - URI of the HTML page which hosts the current Silverlight application. - - - - - Renders the specified environmental information and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Log event context data. - - - - - 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 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. - - - - - - 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. - - - - Find name of method on stracktrace. - - Full stracktrace - - - - - 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. - - - - 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. - - - - - - 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. - - - - - - Renders a newly generated GUID string 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 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. - - - - Marks class as a layout renderer and assigns a format string to it. - - - - - Initializes a new instance of the class. - - Name of the layout renderer. - - - - The log 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. - - - - - 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 stack. - - - - - - Gets or sets the NDC item separator. - - - - - - 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.mmm. - - - - - 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.mmm) 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. - - - - - - Renders the specified MDC 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. - - - - - - 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. - - - - A newline literal. - - - - - Renders the specified string literal and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - The process time in format HH:mm:ss.mmm. - - - - - Renders the current process running time 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. - - - - Information about Silverlight application. - - - - - Initializes a new instance of the class. - - - - - Gets or sets specific information to display. - - - - - - Renders the specified environmental information and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Specifies application information to display in ${sl-appinfo} renderer. - - - - - URI of the current application XAP file. - - - - - Whether application is running out-of-browser. - - - - - Installed state of an application. - - - - - Whether application is running with elevated permissions. - - - - - 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.mmm. - - - - - Gets or sets a value indicating whether to output UTC time instead of local time. - - - - - - 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. - - - - 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 - - - - - Renders the specified variable 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. - - - - - 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 '_'). - - - - - - Post-processes the rendered message. - - The text to be post-processed. - Padded and trimmed string. - - - - 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. - - - - - - Post-processes the rendered message. - - The text to be post-processed. - JSON-encoded string. - - - - 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. - - - - - - Post-processes the rendered message. - - The text to be post-processed. - Padded and trimmed string. - - - - 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. - - - - Renders the inner layout contents. - - The log event. - - Contents of inner layout. - - - - - 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. - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Replaces a string in the output of another layout with another string. - - - - - 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 - - - - - - - - - - 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. - - - - - Post-processes the rendered message. - - The text to be post-processed. - String with newline characters replaced with spaces. - - - - 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. - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - 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. - - - - - Post-processes the rendered message. - - The text to be post-processed. - Trimmed string. - - - - Converts the result of another layout output to upper case. - - - - - 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. - - - - - - Post-processes the rendered message. - - The text to be post-processed. - Padded and trimmed string. - - - - 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. - - - - - 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. - - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Renders the inner layout contents. - - The log event. - - Contents of inner layout. - - - - - Only outputs the inner layout when the specified condition has been met. - - - - - Gets or sets the condition that must be met for the inner layout to be printed. - - - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Renders the inner layout contents. - - The log event. - - Contents of inner layout. - - - - - Decodes text "encrypted" with ROT-13. - - - See http://en.wikipedia.org/wiki/ROT13. - - - - - Gets or sets the wrapped layout. - - - - - - Renders the inner message, processes it and appends it to the specified . - - The to append the rendered data to. - Logging event. - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Renders the inner layout contents. - - The log event. - Contents of inner layout. - - - - 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 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. - - - - - 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. - - - - Header 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. - - - - 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. - - - - - 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 - - - - - Formats the log event as a JSON document for writing. - - The log event to be formatted. - A JSON string representation of the log event. - - - - Abstract interface that layouts must implement. - - - - - 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 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. - - 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. - - - - 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. - - - - 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. - - - - - 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. - - - - 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. - - - - - Renders the layout for the specified logging event by invoking layout renderers. - - The logging event. - The rendered layout. - - - - 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. - - - - - 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. - - - - - Renders the layout for the specified logging event by invoking layout renderers - that make up the event. - - The logging event. - The rendered layout. - - - - Represents the logging event. - - - - - Gets the date of the first log event created. - - - - - 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. - 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 or sets the exception information. - - - - - Gets or sets the logger name. - - - - - Gets the logger short name. - - - - - 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 the formatted message. - - - - - Gets the dictionary of per-event context properties. - - - - - Gets the dictionary of per-event context properties. - - - - - 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 . - - - - 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. - - - - Creates and manages instances of objects. - - - - - Occurs when logging changes. - - - - - 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. - - A value of true if exception should be thrown; otherwise, false. - By default exceptions are not thrown under any circumstances. - - - - Gets or sets the current logging configuration. After setting this property all - existing loggers will be re-configured, so that there is no need to call - manually. - - - - - Gets or sets the global log 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 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 - NLog.Logger. - 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. 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). - - 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 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. - - - - 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. - - - - Invoke the Changed event; called whenever list changes - - Event arguments. - - - - Releases unmanaged and - optionally - managed resources. - - True to release both managed and unmanaged resources; - false to release only unmanaged resources. - - - - 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. - - - - - 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. - - - - Provides logging interface and utility functions. - - - Provides logging interface and utility functions. - - - Logging methods which only are executed when the DEBUG conditional compilation symbol is set. - - - 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 - - - - - 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. - - - - 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. - - - - 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 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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. - - - - 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 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. - - - - 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 - Index of the first user stack frame or 0 if all stack frames are non-user - - - - - Defines whether a stack frame belongs to non-user code - - Method of the stack frame - Type of the logger or logger wrapper - , if the method is from non-user code and should be skipped - - The method is classified as non-user if its declaring assembly is from hidden assemblies list - or its declaring type is or one of its subtypes. - - - - - 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. - - - - - 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. - - - - - Delegate used to set/get the culture in use. - - - - - Prevents a default instance of the LogManager class from being created. - - - - - Occurs when logging changes. - - - - - Gets or sets a value indicating whether NLog should throw exceptions. - By default exceptions are not thrown under any circumstances. - - - - - Gets or sets the current logging configuration. - - - - - - Gets or sets the global log threshold. Log events below this threshold are not logged. - - - - - Gets or sets the default culture to use. - - - - - 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). - - 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. - - - - - Gets the fully qualified name of the class invoking the LogManager, including the - namespace but not the assembly. - - - - - Returns a log message. Used to defer calculation of - the log message until it's actually needed. - - Log message. - - - - 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 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 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 ILogReceiverServer - - - - - 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. - - - - Gets or sets the cookie container. - - The cookie container. - - - - 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 will be removed when ILogReceiverClient is removed. - This provides an implementation of the legacy interface. - - - - 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. - - - - Returns a new channel from the client to the service. - - - A channel of type that identifies the type - of service contract encapsulated by this client object (proxy). - - - - - 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. - - - - - 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. - - - - - 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. - - - - Returns a new channel from the client to the service. - - - A channel of type that identifies the type - of service contract encapsulated by this client object (proxy). - - - - - 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. - - - - Returns a new channel from the client to the service. - - - A channel of type that identifies the type - of service contract encapsulated by this client object (proxy). - - - - - 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. - - - - - 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 . - - - - Gets the current thread MDC named item, as . - - Item name. - The to use when converting a value to a string. - The value of , if defined; otherwise . - - - - Gets the current thread MDC named item, as . - - 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 exists in current thread MDC. - - - - Removes the specified from current thread MDC. - - Item name. - - - - Clears the content of current thread MDC. - - - - - Mapped Diagnostics Context - used for log4net compatibility. - - - - - 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 . - - - - 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. - - - - - Nested Diagnostics Context - for log4net compatibility. - - - - - 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. - - - - 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. - - - - - 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. - The inner exception. - - - - 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. - - - - 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). - - - - - 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. - - - - - 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: -

- -
-
- - - Gets or sets a value indicating whether to send the log messages to the standard error instead of the standard output. - - - - - - 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. - - - - 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 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} - - - - - 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. - - - - 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. - - - - - 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 at any one time. Once this number is exceeded clean up procedures - are initiated to reduce the number of initialised files. - - - - - This value disables file archiving based on the size. - - - - - Cached directory separator char array to avoid memory allocation on each method call. - - - - - 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). - - - - Factory used to create the file appeanders in the instance. - - File appenders are stored in an instance of . - - - - 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. - - - - - It holds the file names of existing archives in order for the oldest archives to be removed when the list of - filenames becomes too long. - - - - - The filename as target - - - - - The filename if is a fixed string - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message} - - - - - 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. - - - - - 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 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 log file buffer size in bytes. - - - - - - Gets or sets the file encoding. - - - - - - 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 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 archving 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. -

-
- -
- - - 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. - - - - - - 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 used the native implementation. - - - - - Gets the characters that are appended after each line. - - - - - 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. - - - - - Writes the specified logging event to a file specified in the FileName - parameter. - - The logging event. - - - - 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. - - - - - 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. - - - - 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 numberic pattern. - - - - 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. - - Occationally, this method can identify the existance of the {#} pattern incorrectly. - File name to be checked. - when the pattern is found; otherwise. - - - - Archives the 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. - - - This method is called recursively. This is the reason the is required. - - File name to be archived. - File name template which contains the numeric pattern to be replaced. - Value which will replace the numeric pattern. - - - - Archives the 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. - - File name to be archived. - File name template which contains the numeric pattern to be replaced. - - - - Creates an archive copy of source file either by compressing it or moving to a new location in the file - system. Which action will be used is determined by the value of parameter. - - File name to be archived. - Name of the archive file. - Enables file compression - - - - - Archives the 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. - - - File name to be archived. - File name template which contains the numeric pattern to be replaced. - Log event that the instance is currently processing. - - - - Determines whether a file with a different name from is needed to receive the - . This is determined based on the last date and time which the file has been - written compared to the time the log event was initiated. - - - when log event time is "different" than the last write time; otherwise. - - - - - Deletes files among a given list, and stops as soon as the remaining files are fewer than the setting. - - List of the file archives. - - Items are deleted in the same order as in . No file is deleted if property is zero. - - - - - Searches a given directory for archives that comply with the current archive pattern. - - An enumeration of archive infos, ordered by their file creation date. - - - - Gets the collection of files in the specified directory which they match the . - - Directory to searched. - Pattern whihc the files will be searched against. - Lisf of files matching the pattern. - - - - Replaces the string-based pattern i.e. {#} in a file name with the value passed in parameter. - - File name which contains the string-based pattern. - Value which will replace the string-based pattern. - - File name with the value of in the position of the string-based pattern. - - - - - Archives the 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. - - File name to be archived. - File name template which contains the numeric pattern to be replaced. - - - - Deletes archive files in reverse chronological order until only the - MaxArchiveFiles number of archive files remain. - - The pattern that archive filenames will match - - - - Gets the correct formating 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. - - - - 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. - - - - 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 - - - - 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. - when archiving should be executed; otherwise. - - - - Indicates if the automatic archiving process should be executed based on file size constrains. - - File name to be written. - The size in bytes of the next chunk of data to be written in the file. - when archiving should be executed; otherwise. - - - - Indicates if the automatic archiving process should be executed based on date/time constrains. - - File name to be written. - Log event that the instance is currently processing. - when archiving should be executed; otherwise. - - - - The sequence of to be written for the file header. - - Sequence of to be written. - - - - The sequence of to be written for the file footer. - - Sequence of to be written. - - - - 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. - Log event that the instance is currently processing. - Raw sequence of to be written into the content part of the file. - Indicates that only content section should be written in the file. - - - - 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. - Indicates that only content section should be written in the file. - when file header should be written; otherwise. - - - - Writes the file footer and uninitialise the file in instance internal structures. - - File name to be written. - - - - 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. - This method is used when the content of the log file is re-written on every write. - - - - Writes the header information to a file. - - File appender associated with the file. - - - - Returns the length of a specified file and the last time it has been written. File appender is queried before the file system. - - File which the information are requested. - The last time the file has been written is returned. - The length of the file is returned. - when file details returned; otherwise. - - - - 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. - - - - Replaces any invalid characters found in the with underscore i.e _ character. - Invalid characters are defined by .NET framework and they returned by method. - Note: not implemented in Silverlight - - The original file name which might contain invalid characters. - The cleaned up file name without any invalid characters. - - - - Gets or sets the maximum number of archive files that should be kept. - - - - - Creates an instance of class. - - Maximum number of archive files to be kept. - - - - Adds a file into archive. - - File name of the archive - Original file name - Create a directory, if it does not exist - Enables file compression - if the file has been moved successfully; otherwise. - - - - Creates an instance of class. - - - - - Archives the file, either by copying it to a new file system location or by compressing it, and add the file name into the list of archives. - - Target file name. - Original file name. - Create a directory, if it does not exist. - Enables file compression. - - - - Remove old archive files when the files on the queue are more than the . - - - - - Creates a new unique filename by appending a number to it. This method tests that - the filename created does not exist. - - This process can be slow as it increments the number sequentially from a specified - starting point until it finds a number which produces a filename which does not - exist. - - Example: - Original Filename trace.log - Target Filename trace.15.log - - Original file name. - Number starting point - File name suitable for archiving - - - - 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. - - - - - - - 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. - - - - - 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. - - - - - 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. - - - - 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. - - - - Creating a new instance of WcfLogReceiverClient - - Inheritors can override this method and provide their own - service configuration - binding and endpoint address - - - - - - 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 - - - - 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} - - - - - 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. - - - - - - 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. - - - - - - Initializes the target. - - - - - 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 method. Must be implemented in concrete classes. - - 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} - - - - - 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 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} - - - - - 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 dictionary contents. - - - - - - Gets or sets a value indicating whether to include stack contents. - - - - - - Gets or sets the NDC item separator. - - - - - - 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. - - - - - - Does nothing. Optionally it calculates the layout text but - discards the results. - - The logging event. - - - - Represents logging target. - - - - - Gets or sets the name of the target. - - - - - - 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. - - - - - 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. - - - 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. - - - - 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. - classes. - - - Logging event to be written out. - - - - - Writes log event to the log target. Must be overridden in inheriting - classes. - - Log event 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. - - - - 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. - - - - Marks class as a logging target and assigns a name to it. - - - - - 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). - - - - - 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. - - - - Web service protocol. - - - - - Use SOAP 1.1 Protocol. - - - - - Use SOAP 1.2 Protocol. - - - - - Use HTTP POST Protocol. - - - - - Use HTTP GET Protocol. - - - - - 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

- -
-
- - - Initializes a new instance of the class. - - - - - 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. - - - - - - 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. - - - - - - Calls the target method. Must be implemented in concrete classes. - - Method call parameters. - - - - Invokes the web service method. - - Parameters to be passed. - The continuation. - - - - Helper for creating soap POST-XML request - - - - - - - - - - Write from input to output. Fix the UTF-8 bom - - - - - - - - - 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. - - - - Dequeues a maximum of count items from the queue - and adds returns the list containing them. - - Maximum number of items to be dequeued. - The array of log events. - - - - 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. - - 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 the queue of lazy writer thread requests. - - - - - Waits for the lazy writer thread to finish writing messages. - - 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. - - - - - Starts 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. - - - - - 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 after each write on a wrapped target. - - 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: -

- -
-
- - - 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 wrapped target. - - - - Forwards the call to the .Write() - and calls on it. - - Logging event to be written out. - - - - 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. - - 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. - - - - 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. - - - - - - Flushes pending events in the buffer (if any). - - 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. - - - - 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. - - 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. - - 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. - - - - 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. - - - - - 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. - - - - - - 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. - - 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. - - 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. - - 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. - - - - - - 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. - - The targets. - - - - 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]. - - - - - 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. - - The targets. - - - - Forwards the specified log event to all sub-targets. - - The log event. - - - - 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. - - - - 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. - - - - Define Localizable attribute for platforms that don't have it. - - - - - Initializes a new instance of the class. - - Determines whether the target is localizable. - - - - Gets or sets a value indicating whether the target is localizable. - - - - diff --git a/PROJ-ETS/packages/NLog.Config.4.2.3/NLog.Config.4.2.3.nupkg b/PROJ-ETS/packages/NLog.Config.4.2.3/NLog.Config.4.2.3.nupkg deleted file mode 100644 index 49f1cda5cab942ddf0575b61f47b1a756cb352dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3866 zcmb`K3tUX=7Qjc8R5!g2>XgRZBGl}enyHMMqL*GoMTa`IXJ*f|H7|Sb(PI!%d4*J0 zMTojo9=V7*CFv^4t0XF%JT5||km4N9-h-M#zjOV}{Pz5Q-+XJWZ+&a8^{xNs=RI;8I+aEtLt?Ik2a5%c6dA_1vZpw)9Tq@B5W^+Va9E0xaTPJ@ND0R^3L(p3E`)wl z2jJM@zA`vAAY%rPVGD6UkioQ}b2u~(ht9BJ+ES&ch{u(F+8@K3YiDgwid$$prQ9D2* z&uq`O2v>{0=d!qR{6EW%H+XTTv(I^mKCGO&0ZAQqG5&1FCCeR^AwAMY$G){}iwN5r znMd+RuX?#=#-!Ly<2>DcZv}*G?$C7JX0lZG;KKTru$^;qZ_t*d!S`03{I&9_O}c@x zSB$nSZIkXfhWq?Y7F8D2`HvFIL~V_k?kBa7;BEC9A6z@zJk-#jYX>=7_ow>QKXkif zzjn-2MlwgRvi0}0$t_n3bm~SiPOV$vU8a}thjZwZqjXJyIJr5c;zOF2*O|f?^Ta<= zI-`$OZPFJ7KCi!8my&(H?ZPUzSB0^+JG84!k{(|On*^w4ohtXMa+`I%rRPXa-fJsb z&^EqlF0&KXPVsKYsCYP=x_IkV&*@SwH_??fVCQhwWV^6TV#7c(9)z4pNYx^d-=SSRtdS(ZdjkO zkcLZxw15gc4YbO}KXH;S9^0bR(!Sg<&dgD0MI%33UF013#O)aDvD4CUd+-6x?#}(; za?kmgbJp2pi|($jCb5)m^}rt$gH_kscH&MPi!ce_Oj0?qV0G=?&10*;J;nEFDj2+Pg*qZ{%`Y)Uw6HF zW%;geWpriT25a`5ln3lv1@P9=6UACSJxt41Lz5;oc~Wx?hZ-00ChuHxQwJx7tAE|^ zWNyQ%*h474GtQ zI_APYk|bi?=(g10Y^YygAn-63+`hfLynT|| zIfqqp z+eZ0MKN(%Cze%z(*Bx__nHgt)dLsSMvaR_|BX2*UpG7m?)x5otG#f85X=8QJtEG+eST-Ic&)CP3#`s)Z4wTIw8i`!(Z#pf$XFai%MrS9m%PlT^!=h?0e38 zcC#^l{h0^ZCe`J!Z&{r5qJMJ$`=%n_wbUuQrZzpebIUCv>29q?q{@HJ&nk8WA9g6J zYX6B|&A|ztJ|^{5HQxDF<42t?p5T~7g7-#GF^YjgA%2F^hfDAHE#8{vXgcdU{*jmdRf%({*)R|0d`Z)9Co5JCr})*shd!Z?~Lz{AH5v!qNlT4Kp-zuf&<6>KSwX z*DiGJ)-x=*Sg)_YyKi@A{Ft@?zP!rrP|Q@eUHOv7$K(epx}1NxeR}O%Ol5|(>k@18 zVD-7GJLAA9BH5gx&8zbQAq^v^@co&B8qJfBHrl^1Y1j*GFhOQ^_Y`ZtPtgmFpH^72 zc=KYBMqWqZ+@S3pnc?o2k5pdXkkoVZ9KW!!wGO@-!s-}LL}Y*#rqt#+d*CHcJoE90 z{P31ETtxpqa}Yh$ufK(Ugbo&u+fNBn86s3r29FCsLP&(4S|~uL(g8}pECwN>0Z>s^ zP|Wm8Mxk)O*~rL9YNUQBCwR;Gq#&ZibazZt^CvB z&4+~$RiUFSN9e&kJY+B*h7h(=?^lQ_O*wpmLpFnIO|@|VJ`V{CLQpJ_;ef}6#8!d+ z3eEn%93r6TND0D2*bh18_YZ->-uIzOuw; zDE{Um5-tYeM2*w&SG4gx;6N~pi^FQ;hwb;Peq`Nmx;;#6hQN4#bO6QM#8YX6iUvt3 znFd{^hTfT!u2zJi0qI*nt*pqzPgXZ!_k0yQD v_=awLa9>bXr>c{Fe3uxy{NN&1ULL>Geyybayj9f*F*W>Kj90$*KZwy^_ZE^f diff --git a/PROJ-ETS/packages/NLog.Config.4.2.3/content/NLog.config b/PROJ-ETS/packages/NLog.Config.4.2.3/content/NLog.config deleted file mode 100644 index 13ec9f7..0000000 --- a/PROJ-ETS/packages/NLog.Config.4.2.3/content/NLog.config +++ /dev/null @@ -1,42 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/PROJ-ETS/packages/NLog.Config.4.2.3/tools/Install.ps1 b/PROJ-ETS/packages/NLog.Config.4.2.3/tools/Install.ps1 deleted file mode 100644 index 97204a0..0000000 --- a/PROJ-ETS/packages/NLog.Config.4.2.3/tools/Install.ps1 +++ /dev/null @@ -1,12 +0,0 @@ -param($installPath, $toolsPath, $package, $project) - -$configItem = $project.ProjectItems.Item("NLog.config") - -# set 'Copy To Output Directory' to 'Copy if newer' -$copyToOutput = $configItem.Properties.Item("CopyToOutputDirectory") -$copyToOutput.Value = 1 - -# set 'Build Action' to 'Content' -$buildAction = $configItem.Properties.Item("BuildAction") -$buildAction.Value = 2 - diff --git a/PROJ-ETS/packages/NLog.Schema.4.2.3/NLog.Schema.4.2.3.nupkg b/PROJ-ETS/packages/NLog.Schema.4.2.3/NLog.Schema.4.2.3.nupkg deleted file mode 100644 index 4dc352c1bdafeca0cc91b50a8f15a129cf91314e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 14181 zcmb`u1ymes()f)#!8HU8u7kU~yZg-GI=DLoO>lw-hrvl8gy6x0OM<%u3-0nK*}He| z?!LR{{l4?gobGdax~iV4eyVzUo~fU@5Lc0_EDX%A4IPFI#tZ^> zaARltwWll~hGEFZ|1J8jyPqxX!eZWz4wRl?h?}jmlL$3{jf0vJ>;!ZM**aN^Pu~-NgcEZ($8)=j7nvWqml!^6_)BxwtukfG&TJPr!;7 zz{w#1=HRv9<^}+M$H)Fp^CqhPlr;D-a4;yplV(m_g)jFhVN~H^U~r$3=HD;ff6JXz ztxmfI4(wK<8!SsTR_+NpR{YQc^)!*9#Y1q`5`hm3G*z~m`_SpJt)4ZE>iwHo3#%nR z(k0=cTcx9YzM_5VCCBP(Pq!M=_M}!`u@8v4B^f_?UuXm|OY^=!$nkNZ>mf5*qeB7! zUl_VJv@XRQ$c0E9b{;7?@yf&jNP^u971VUfO$rmDY_4r_QwpX$H1#wnt}uhxdo*Vl z1x`3LW|hH?%KNaWpS?&py0e_kmK6c(ObS?2Jt@;fMBl5G*d|fFcs06bfOd z?eZjIf<~CzLmZO!Y(GzvpC?D%?X&DJz;fDGdcx5$bBk%jNe#U1-v+_fQKe^=C zk5TlZYZj9Y!b1payeGrBZm{0#Qp-n8cAQCG=(y09?(5p5O3F6$lz%r5&s z&$QI5pd}p^7#NxxSQzZ5nFcyLxr3eD|5hyCZlM1*&j$hXkd4Nqm0Q`bV&*p%h6gs~ zi`&^58OH*-4VvYfGvQ9U15SC1Ip4(-83-0x3Y6b4rFI83V%;j-qGzE7r(4!3n&SjJ zotrmFC(47U6Z@ZYJ}y6Aw+G$c-gDD=u@K;>wFR9Xugvp>)52mEZd}~*`S311Ht_{L zz7D!^4r(Dg5I(VKmewGF%av%H>hqQmom&}qCaJky;FDfQ)8Q3DG zbX~*J|IFL>Rw95^bfpyek{W>@kX8RuX!XZgM!YS#^>X_)YpE-D0`VOQUD~UkhdmRu zr(#2$4`&BW6k>OfK;D$FT`!?7GgWSjio44iidnUi2tYJQ$14pB1mYDIQqDf6W_^z6CJ4 z*)4Ro#`QTQFG^S~Z0_#i;+=8CT>Th}QlUmJfxY}`oLNK0WGykeDXA+tS0+mh zh6--(0GN#eDi$u>?`pd1Y-U5KEKfNb8dsQ+2vAetcsIa`7fwf|K+7Ncru0ZfeBIlX z(z-=h6ZKB&x%>J14lDRbjifs6cYta{WKV+6hO@aJO^Z4B8DX%E`Qf@G)TMdWUuJO> zAxH{S`i>?Gk#5IHuL*IM)R_n3Jf@TgpT8EdKuJFm&f1(^Pg;9vXc!2~PS-T=>Pre6 zJbV>Pf?njGZq$jDo>wPC_$?yZw-z(zm1dk7JSQU_9(fc*C|$mfCwqS8oSVcgN`JZ6 zUwS>u(#iA9gTyl?4g2n#5i0-+tN(|P2cNntnl~$}N-4l9HEh5eRq<=8RZL&es#aiO#JDF!WlRp!+RjfxaL;&O}$=JRt3W$FugrNIKs zJ-bBb&`@9L9(X}1K+MF83v2F(KJj(Pk127w7`b%zv!cuN_I-Y@BEE@oz@WI8)AL?+ zR-D+EwO?Ac&zO&_$n5V;-uNIGacSIY1-Hcs8Nh{CB_A2TX{7{nOL@>@(A;t9NCrpN zHk~TxIB-yBlidh#d|X%sV6}zTQm~3o8rTGb5|AUjFNrH_&iYB;A>Ohghn2GLDG8*p z4H#V`tn$o!3jR2JW}n%1FpRD=@1#YxMls{MH*?yj!FP1a0$$%)N-%}c_9a=TZe3vk zOo9&)Gx^kM5ywwp-{ar|D8$9I$ez&?Fl?5U7Wr2+BE9nGeIYPCjE;SgQqRTBx*?%6 zn}DdQ;t{tW;D+6MEOdEw-BV@E4=D>unxx9_-pKzFOv*XZxkX)kx(axyrDFPhX)d#Q zZ~nH(d+LC=>#?1xIhf*F`2~Ve71>Q33dN9zW&z%NnNO5+QW8snr-UjSDM%bjoO#mb zlHH@Vj5NY6D_>%|gG;C?Z7?cmlQVbl8*K*LXqG?I^FR2V#NQx4KE}U)zZvGdP}ijG z)DtrkKp5@7%o(!8QS9=v@L39M5&$C{q~#Lq%dJ&_dQaOyXutv6I{zZDBeG5exGSt! zU@OWRkG9-D=9kq!cH1Z2OHF6}IxIvR&H1VVdUW>v=3(5I0nRgef?x9bW5xUAS{E-R zJQwCERcE~1wa(N~43$l4RNVOKq~kArF?9$pIvfKh&^lR$o4S7{lVt~w5XwqEyxK+} zC4R+}F}Z7720-pqqgF_g6ZjmvK6No5l2==lUvuMAh>Grv!M{SL6PU1RjTLZ@s*`_H zdebSjY;shIc{BkG1L$_>jS4=er0%j-p@p&$99N~hdni|4!Xenx(M*F8DlbcbtolE0 zL4-{^?ar&7t6S=}B0+z?XwV3>KO*9=iv?dqtnm(rEd1tTPr29d9WQ$=7M*JuGNWpf*&2`ZTFgpBeZD0 zNmwzfz!Tj_#&Cc{E?Fas$vkvHdCDJ!Nr@%0=1_kXPSuVgY(Y(9W7;x=4W9CZJ7sTj z>&%JRl~4!Q{cPZfaEB&Z`g84WrNzSW)5G30mSLkxO*rBOW3Uqcvu{R+R@+(czQ~5U zwPaKk)C|+@(BEG?&@VpTyF3Qnr9WKG-v>Q?r`SKXxA{bAIv*_W4}7BLmyqLt!&EG8 zhEIl4RnLCpiz2#a-KsUBeyO5tr&xDGmMUqUu?cK&S^cp&39@xrCp7dx?VuFbetx+= z@sVP$)c^KXFKm&hxFABtP4IYK6F$FPv}C^}Ve|%!c$l~dRi&@Yc|(#>`qw0#!^7Id zxtSxx!y>zd#e}&7hEgHLA7VMGnw$MUyokR+u;QZ(#y#eE_|efuI~y~H2Jw+)D&3*B zu-(~p8@yTgc(*nxg@X7E_HKt5;7B*XmvS6lKMw}~50ZhW3Quh6M-sR=M!$bRmRS<0mlA29S zmKq(e1q&)K_kg+Cd}%mzeHUA+`n_jE@q*!Wd~PDjbBix_#P?2uY*wa&MbIduEiaZA zeg1(ASa`|fo3uDNbUyjfOwTsp%1du%!N83us}rLUh$o>64UNJgqTJ_um+mM4uz@CR zm_#W-8>SX3UyrfH-r=KUjw#CKB#t~ldATF5ScvgGD5G^yDzjJ^2KJezh$0FtgegOq z@f5W46FpV%?e0q@H3VCyJX510EW~N-xyRh`8p>6G{KrT^gdD?sDct5CE7|=P4dzL_ z=n;z8Ko`)O>6vuj%~sQ(0YtfrfGR0znERpl`2!WM4|O+^0yve)CW>lzk|BYnlcPb) zY70FagY2aQlyytoq`vUw`%fKB%N_wzm10HyPPl^!2z1*dpMAowS10Cogx+OPSJ(T`ca zD^*js%yzmJ@eLae7A+KJAO0lS9P~(o+t?rdW&0iZRQgb9GwPyW0Hni6DwP=iyS3YQ z47!Ya`R$rs920FUpOXj2D_t{nPge{&hXmV%fRQp?Jwm!uy4?h;ck5oBHYULb-IF!D z-|U3Pr?bHJXeO(Hi15{!jgGj;oBi-;CGXI;f`8hBnnVOKrE1^BMIO}Z1xgczpj+Ei}>QD zhL@;OsR$EWY>ANQ4L812G6-iJkLE@}bOEy-jjO`nY7ubZx zl1JqQLnjaC(#0i>hk^D~Ur4pEMJE#_kz&QIj9=Njzov_kIWrnYg@)oqvHT>~(MLu} z*w;DkxZxeAB``nr2RFox@qYq7M?cXolApYBg~Uv;84{_rNc14B6U(@3YDmzu9v+U?o**!rOoX|)DN$)e&4chEaakvQ zH--F_kqKofFf(!xM*VI@32azbU1iA92M>3#{hnd1L#w@#QpG+jwfz+5DB)jS8MI_-b{R$i^=$q+hKsx@LN{ALr!@9;jT8VD>$Hg zURWVFfx(qkMsb{~mqb^>r}umLbC~^dFPNqx@&Y2z(Wy4j8b%@hW{hcu56zNW(g{CN z-$qH-D|Pgrlvt65Zw-REUxE9tHKy zel*5~?TwRxU++*Lb@!gW;ci8v`1$LV==+^GEO@iL@pN38@~Jsa?bnuuP4(ZN=X2lt zzEmnCX}yseG#spKY!}j3pVX^)JK(|Ke@ezH6DrD6*!0-B_I*cn28+>zIJsj-N2(wb zcj`@sRX8_&0RXmLxyXJYe`Z_!!qaX2_8O)7yDI}lldTt zZ|_$LUF&hk$@sq#2y>Y!$H%BBI<99kwCkE?*s_71S21??x*@Po6>G0dZ^;I|PQvB< zqREPYip?68`!w@aVWwa5vfdF`ha+!L2yMI;wEgSYIcvYn*^!Ercb}QC8*J1XPycLA|FIT3oUR z7Bp$vWP@}%X=b9#l@rTEDVZ6iAi>^A2j$s9;uVT3-n^SJAhRKe9gLna%zK9<<9v-4$y#i1yQ}C4Eru3J`Z=W zrTCVxy2XTM(ES7ER)DoVQO|RgRO-#_Ts)ZdxH74WH61(=7a>FpFJ9Qav&8sCl0`ob4soYn4lzWMT zImR^0hN_FW7nQw+=W)wMAN+=dgAD2~-F4pFB9!)`NxeHbApc3qHJvqsA)R+ z)$LF<(O(pEMoGCFx*~#928L-@0mWsIE@l-54bXXz_KiUtuGUG$#bd{0bIrvtWW%Bt zh5@|FmvL>}!F=<5tti1u-{k0m3o%ZR`y-am2FUc{u8%OcF(TFpJU38Jr(T|4BH2SI z!Zy(AWgC-<_m_EzG#1yL=nuX%?)9Z!`kQpEpvGJ3b3m`%$jNl(tqFM*fSGR>OjJDv z8Y%|pF$XO)N74?fpIudwf2Xw7_&S6A@{ADLYRyW2RuN>KePTPzuCIONE?=~D;gU-z zFq1D#i!^8K5RlQe^E%UMk&VY;=#E}%xj^Tv%ZD`jSz?XMkVwuZFDGn#yw)HEd6k@s zJC{N$bbFkBwP`E0!F0SZ;E*T5WQ#^=lD*ICRoD`Z>K1#Sr@$q$qUJ^RJ^VR?Nj7Sq zL(1}!(_+Q`_2#$FcghQTB&kc_Ca2h0wwCF1A-njq#ptCReWR!t`??YWk339qI#^ke2d#pQd+MFA2V{vZ`X{Ru4B{#kOyg!JKjdKKn)SC z?}8W1FVw^V9uZ|7!+tCX6hn9D%JvGVDukRhHew(kcJ^vm0(@TssqszsZXwqrhg8?LX0M8I)8P_I zj{n#sHpOG{d+jgEPL3el474rr1-d!pAP1q0JMyL8i5b4xE?~$TG!mVjF_ z0l*;^v!;Rb!w9Z+pdGe4@|aAk!}0;*set)5H*CvnzuOdeAI5CR+T?rr-CzD*jJ(obei}Q>nwd+=A1lS+3TuhsCqe< zw8uKxx8}IaLH9RAYPn=73JChDP$LT#P254mFj7JxWbjcb2aMn%ma z$~{-jKOfjNV(AfReO+>`9ZR)Pt8`{#dUZ8u^{{K}bfVh)S{{MaIE+%pR5OK;j)k5j;Re~6ua50t6D;>4Pc{~AMq7Aq6Cpaws) zBx;Ol8p+PRgOq_VLS}#y+eI4}W&0?%Hf$cA+LDQGxP5>*zaA6IMK`m%#UQZ;cBw#j<4rCnHr=jNoGptvM#cjI5#}iGwQesi!9807C_Em@tJcit0l8y{ zk$a1}e!gGn=jE6Q%LJ9W%u`3stBlp`e^(F}W9*PUl=E4N?0OHYdFFoK)PaclZFh){ z4W9H;QJU5ft&3fPE0$cUrmdubYG^4A8gW%`xG`Nz?XCQk$j7~Eze{{|jv>Tlyr1t| z-}xW5RYI+_J2@a@^YrQ?Qg1|Huuq!pzFW5A*a$7{Q9nNqf_BpMrBuM!wU*2CGx=D*FJtK@nK_k6 z&N?cphpl_IwLWGoa0Q;mNC6h;3L-WL;bItRD6W0A4L6~wOTr; zx1<^Qyi>4G*R_)p*Km@Fu>KB@?%SZ-OrBdKj+XzY7Wz1j_w?|Fc7u@T*P3!h1%Aj_sf3yoKN2i3@6-&tCcFUD3gP!=8I_E$qvyo$AuO_P-C zPa;~c^Nfmj44T_%5e#Mu&X#XD8KKy1$TSe!h(44?!7Y58aMR;@hk}^`avh%9fM>d) znDE%Uhp%+$B6O)k&V4j#5;O_MHelbe!(~Pm%=Qidf2=Usc8N^(cXg)XgriPx zg@a&7bSn0Uqi+?H~XD^@ofOEjJ7KW=*TdI zRn@4MyR5+Nt-Gz>tY}2T4aaV88xCj^jW-KN3>xYCktW}#ee~JTTT4Py&+aG|^7%IQ zH(oo}%~pdoC;ki2Jn9ZPAt7ld|2_;poET<4~y-`PN@OukjtldgF1uiuH1swXB&Pc>`d0-SJky z0~A9ryXY6a9K9H&(fQ@bdYA+IhCTuM(s z2Z!z&z*&l3&)4huIb)M!tN-jL$1ui-{kfdOH}uj2(Jf~7rRz_3I*qffK!|dWM-X!==uQ-Unys`yjVNBHMH)`4&JI#=Lm?UhB6{D^%! z+V9+G-e2(~El8* zSAU$q*7cy?z%}!>QmrV^R!WE!6mD;(X5vug7B;J|*h+^qw%`aMg5s0*aAr$dzAn(t zWFZUzZz^ls_bc5#jDQcl#*2hj6uRJkh`&Klw?zi2J(#3Pnb7jk)$9y5JIiWIcRqLS zyGYs|f2%%;tw=qN7GTn#0vZi5=839U?{?uArtyQrtCA>P@6@ZzC!0i6T4wE=#^hg2YdGx-e7NQBp=zkn%CnW1b**F1tB_brpddR4}yuh<9sN7yt2U4aJ~ z89oVhHCoJXuGf8Fr{iM!s?(Zzcj}xYV*H(gmnPGS;Q-!vOCUL9rj^XSk_5Qxh+@F@9(JY?y{d=V6)F&JQc$MLOFeS#=z@6kkN!%_gdcVfk$8<+KtdP(FXML$i?Z{m#~z2M zW}Uu2+!=-f_QFYw^#`sVDvxMqx3(iOEw6{J4eGuo;hGD{awi0)2l|>=WGs}K2Aivl z>$|YXusr`FA05fAsOb}X(Ijtod6uMJhl8#2yun6~|}yGqlbyl<_oC1(NCuqfn!~FV!4X6n1tx_m{p# z6PR}>ouvJPZtv;8UGbJOBIZ!2Mt2Q?mqmVleZ}ZZ)<&vD_sSw!u*@EiTI9}A8&!c_ zqp4C22vzY%;;%$lg|chKA3IPNe3Z3-8+?H#dTpK=tBgc+qCtjOe;C}M7HUm%j%Idf zkK;4i>j$5g2c6XUFjeO_Pp5&Z*O^J*(7Hqg8`jHi!*#eyeL z_xI-XEEywUq4+13=A`I~WEo340Kqkw1D~zkQ#-zsWXUj^^YIYOT&DnOh#97b8 zYkSFNcS-%>&x~{5QwKI*kGWR~7YQ$XO_RV*kaFOrcmu+rz{9trY^h{HV zd#@RE#_UO~byCs){B41CjUW^>)E(|!_*S6!E~)gpR7P#&ik3|J=KbE!UZYl)JouW7 z!`j^@Ni%3DNQZLmP0zKl1PyE`jh{}_sNn4=Jx-$-Yi59^d-V07p5w0DA-HT`T%RU> zU*Z)2mxW06*FyV7mAZx2syl=q=@W&k<1p5*_46ciBID}>F?V~?T0Br{tkFkoossP4 zE--gwb=NbCk-2$6-HCi%ZS$b*W$)?-%%)s8tm(^R9A!8vrm zLO7ra;otwUkmciJLYbD}JjX)SDU~L{)pX~0xhP|!EmMU)eAZ7~LMr>#1AsK+6qU;B zBwacHyCGac;vt=U8aNf0%GQ>?bqzVF7gmv$O%`X`L>kZlyhxaOgNV_+Ef@x6aipePgfWgBW?oM(YZ6cjc|OQokAC z;+~2OM)~_HN2-=BP zY4KwwO(`Hp_jOF)x4iyb>5up{P4R})m^#)Wc={~eEE?v6wc@?z+CoDHip~J+e&dF+ zE`MzFX3b7$*nMp(ZrEJhya07x#`@vF1}X3NFRc!lb@&#zGOP8Yx*PdyY0LxeZ><}I zg{%tiJU@O}7Xo~Mj+~&qjD`kyAQo7_d|q^Tca`LYKg=ciCcV09o4zBXN!Wz{<05gH z%+1%ew^@mc!z8m+Qt4Uiua@YHK^m0Ls;34bjvFNcIKsSLn1UWj&?9H3j;UWf>?u_1 zF{bZ5AFZ3=f)YpB@Kz#%T&Q4AA z7xi0WK~;Q>zD*=TYu=)`A-ZGs;fSg0a+}^zklENao)4_GJ}!xTow6)1@eLrE$K2+h zHoLLYNXwev+kS2- z)w)l_J8d3%m#|#bz6+n44XHB%Jok1>Y}Yv(we=e!T4(BYv*^Wxssxze%Ufp?Cr8+- zDkn%k`Pn$TXWa4Nd4HyDdhQu9@_bsJ)BzQEC+Kp)qarC9A87r15zQwJb43TVQyP@f z>N5LN@xf&1p|HkiTSG*@*s__KXIkS{zaVEidoz}EnEX~@(48C6p;+aRYtF&ollOri zru>*6wCV-PSIJNOuh;l-C(ft#n68)?$EM)~=0;JdlLCP0hen;s-`yiyYnwISZ6%FM z#fxpRB6l3{!_fjsdwh18zt<)-RpO$Eu+=Z|$JfF+@>=IB626DqDCHR&mD_k%)Vx*5 zFkAkPUEJ!UWipk%+H8W9Cs}=(l#?cDE$iF$Yuc8B2|2!6eIcfnGmZ7uvxxZGRmfQk zZ%W&ao4b#bkl&OPd@OHmwcS+9?rF#)5m(A;TC7a5@H#Bt?q$>dK09Bhj=-0&dm=3w zen=L3;3v_==*{AIYaT!MGK@X}X7*z$Czz=H7p$C(qmyrnZ?!T51ERVz@7&!^ydarz z>tv13w7kUYBCg_!XA72=`)?m_8t#MqaAb0FeYy$1*VIE>ge`Z6jo4gUwJD_b z^?5ejxAsZ`X(x>>3`4z@g_%k0>Ev!H%`oaG@^Bm40QCd~8~?FY$9(Q)_3g$hd~Z8k|qmVA&2M&eUBjMRS$0PeTR%E+&TzE6(@ZcR7$h$S^(VO2aXtvL(R~?Nf z(ALIq_(PrLqM12+>gK9v-~;-PS5dKRf{&)+c-k)7%2^ico&2#d`Dk9ZOfQ;b#SL1o zXeF>|-4z(C&Z;s+uIMM2Oo62O4jLS@ad%au8&&M};VPOL{llixcItgbVw;*t^Tv>r z-nf;I+()s>!@f)I(q}TNjge6y!WOz>wPa?UFYbg{EKefLWTJ1Z!NnN|Q*CL37P+qQ zS(Y88T6UJBwYCVF6FUhbm@h~^dk_pOvsqxIVy#<97hx|=@cO#EGrX|=i5LTff6wO4 zYr9h_i@r3;Z4A_!I*@)oyA|-29{P@?LHblx@VlXH6R*FX?zxPikg`BfN7%B(n#X8s zkF6I9(L?FVfR?9a$}305ahga1KM@}qc>9no=HR5%p<=DcMHtFeejkT#b+2n{Zxvf`hD7CpFLa*9@7!lnd z4H2C=Mm1D_)Hsw93&c-5Cc*YfQy9jk^bmjPf%o6xic?^RidkN2I}SkDoFg<9a~DZ; zC65E*7*7HjRm!_xY9}<5`c$;~f4dtA`Q(=G+5JP~MOpO}-k9pcNnX41x|-L~apCT) z$8@Jofmb|zZplK=1juxvg@7{4>6>JTi-z$qfmDA1_B58y621FO>ewra_=! z_YA~H-(qljk?boi$}|GRin_GNhMrG*k$HSc%EZn5v!s%z}b z6Pvq6sffjtV=zTD{A?R5hy3#|tkslH%#IvNkHu&OS|_i(s3G*!UZi5KY?oe&kE%a{ zbR>gH&z!@S4yFAx6d$PuG4)5d$Q@Yk>w=fxY}<|%USvdJ`-kkR@r9+w@1PRQGV7~J zpY~K1#|#cco<1Hw!v1Pc{s+B)2~Rs83I_x8YtwjYPyRn|k^gV~&HsA_;#W_<`kyWR ze}ff#zu-ZDgxm!2^!GGBQQ{#UNWc){3K~xw76a+%R7Vgdv zQ6*bPN+}zNt=m(}xEt7sg;LSO!PdfwQWp#Xc|e|`6lVX6^e;^i*bNA=b@|1Mh{`xw zSUP~+C>5SM&K(?VpA5Kx8MIXxDZOmKPLyDft@{(uLHP?kpnU2|x3abNfc%C;D6MQA zz-+%w|JB?t^R}R;D{E_I3xXrCwStPgD6{ z{QIw}e+O^=q{)~_P_k27h11uaG%s$DV#qrseje~XJ+KD`V - - - - - - - - - - - - - - Watch config file for changes and reload automatically. - - - - - Print internal NLog messages to the console. Default value is: false - - - - - Print internal NLog messages to the console error output. Default value is: false - - - - - Write internal NLog messages to the specified file. - - - - - Log level threshold for internal log messages. Default value is: Info. - - - - - Global log level threshold for application log messages. Messages below this level won't be logged.. - - - - - Pass NLog internal exceptions to the application. Default value is: false. - - - - - - - - - - - - - - Make all targets within this section asynchronous (creates additional threads but the calling thread isn't blocked by any target writes). - - - - - - - - - - - - - - - - - Prefix for targets/layout renderers/filters/conditions loaded from this assembly. - - - - - Load NLog extensions from the specified file (*.dll) - - - - - Load NLog extensions from the specified assembly. Assembly name should be fully qualified. - - - - - - - - - - Name of the logger. May include '*' character which acts like a wildcard. Allowed forms are: *, Name, *Name, Name* and *Name* - - - - - Comma separated list of levels that this rule matches. - - - - - Minimum level that this rule matches. - - - - - Maximum level that this rule matches. - - - - - Level that this rule matches. - - - - - Comma separated list of target names. - - - - - Ignore further rules if this one matches. - - - - - Enable or disable logging rule. Disabled rules are ignored. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the file to be included. The name is relative to the name of the current config file. - - - - - Ignore any errors in the include file. - - - - - - - Variable name. - - - - - Variable value. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Layout used to format log messages. - - - - - Indicates whether to add <!-- --> comments around all written texts. - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Number of log events that should be processed in a batch by the lazy writer thread. - - - - - Action to be taken when the lazy writer thread request queue count exceeds the set limit. - - - - - Limit on the number of requests in the lazy writer thread request queue. - - - - - Time in milliseconds to sleep between batches. - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - - - - - - - - - - - - - Name of the target. - - - - - Number of log events to be buffered. - - - - - 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. - - - - - Indicates whether to use sliding timeout. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Encoding to be used. - - - - - Instance of that is used to format log messages. - - - - - Maximum message size in bytes. - - - - - Indicates whether to append newline at the end of log message. - - - - - Action that should be taken if the will be more connections than . - - - - - Action that should be taken if the message is larger than maxMessageSize. - - - - - Indicates whether to keep connection open whenever possible. - - - - - Size of the connection cache (number of connections which are kept alive). - - - - - Maximum current connections. 0 = no maximum. - - - - - Network address. - - - - - Maximum queue size. - - - - - Indicates whether to include source info (file name and line number) in the information sent over the network. - - - - - NDC item separator. - - - - - Indicates whether to include stack contents. - - - - - Indicates whether to include call site (class and method name) in the information sent over the network. - - - - - AppInfo field. By default it's the friendly name of the current AppDomain. - - - - - Indicates whether to include NLog-specific extensions to log4j schema. - - - - - Indicates whether to include dictionary contents. - - - - - - - - - - - - - - - - - - - - - - - - - - - Layout that should be use to calcuate the value for the parameter. - - - - - Viewer parameter name. - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Text to be rendered. - - - - - Header. - - - - - Footer. - - - - - Indicates whether to use default row highlighting rules. - - - - - The encoding for writing messages to the . - - - - - Indicates whether the error stream (stderr) should be used instead of the output stream (stdout). - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Condition that must be met in order to set the specified foreground and background color. - - - - - Background color. - - - - - Foreground color. - - - - - - - - - - - - - - - Indicates whether to ignore case when comparing texts. - - - - - Regular expression to be matched. You must specify either text or regex. - - - - - Text to be matched. You must specify either text or regex. - - - - - Indicates whether to match whole words only. - - - - - Background color. - - - - - Foreground color. - - - - - - - - - - - - - - - - - Name of the target. - - - - - Text to be rendered. - - - - - Header. - - - - - Footer. - - - - - Indicates whether to send the log messages to the standard error instead of the standard output. - - - - - The encoding for writing messages to the . - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Connection string. When provided, it overrides the values specified in DBHost, DBUserName, DBPassword, DBDatabase. - - - - - Name of the connection string (as specified in <connectionStrings> configuration section. - - - - - Database name. If the ConnectionString is not provided this value will be used to construct the "Database=" part of the connection string. - - - - - Database host name. If the ConnectionString is not provided this value will be used to construct the "Server=" part of the connection string. - - - - - Database password. If the ConnectionString is not provided this value will be used to construct the "Password=" part of the connection string. - - - - - Name of the database provider. - - - - - Database user name. If the ConnectionString is not provided this value will be used to construct the "User ID=" part of the connection string. - - - - - Indicates 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. - - - - - Connection string using for installation and uninstallation. If not provided, regular ConnectionString is being used. - - - - - Text of the SQL command to be run on each log level. - - - - - Type of the SQL command to be run on each log level. - - - - - - - - - - - - - - - - - - - - - - - Type of the command. - - - - - Connection string to run the command against. If not provided, connection string from the target is used. - - - - - Indicates whether to ignore failures. - - - - - Command text. - - - - - - - - - - - - - - Layout that should be use to calcuate the value for the parameter. - - - - - Database parameter name. - - - - - Database parameter precision. - - - - - Database parameter scale. - - - - - Database parameter size. - - - - - - - - - - - - - - - Name of the target. - - - - - Text to be rendered. - - - - - Header. - - - - - Footer. - - - - - - - - - - - - - - - Name of the target. - - - - - Layout used to format log messages. - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Layout used to format log messages. - - - - - Layout that renders event Category. - - - - - Layout that renders event ID. - - - - - Name of the Event Log to write to. This can be System, Application or any user-defined name. - - - - - Name of the machine on which Event Log service is running. - - - - - Value to be used as the event Source. - - - - - Optional entrytype. When not set, or when not convertable to then determined by - - - - - - - - - - - - - - - Name of the target. - - - - - Indicates whether to return to the first target after any successful write. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Text to be rendered. - - - - - Header. - - - - - Footer. - - - - - File encoding. - - - - - Line ending mode. - - - - - Way file archives are numbered. - - - - - Name of the file to be used for an archive. - - - - - Indicates whether to automatically archive log files every time the specified time passes. - - - - - 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: - - - - - Maximum number of archive files that should be kept. - - - - - Indicates 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 used the native implementation. - - - - - 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. - - - - - Name of the file to write to. - - - - - Value specifying the date format to use when archving files. - - - - - Indicates whether to archive old log file on startup. - - - - - Indicates whether to create directories if they do not exist. - - - - - Indicates whether to enable log file(s) to be deleted. - - - - - File attributes (Windows only). - - - - - Indicates whether to delete old log file on startup. - - - - - Indicates whether to replace file contents on each write instead of appending log message at the end. - - - - - Indicates whether concurrent writes to the log file by multiple processes on the same host. - - - - - Delay in milliseconds to wait before attempting to write to the file again. - - - - - Maximum number of log filenames that should be stored as existing. - - - - - Indicates whether concurrent writes to the log file by multiple processes on different network hosts. - - - - - 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). - - - - - 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. - - - - - Log file buffer size in bytes. - - - - - Indicates whether to automatically flush the file buffers after each log message. - - - - - Number of times the write is appended on the file before NLog discards the log message. - - - - - Indicates whether to keep log file open instead of opening and closing it on each logging event. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Condition expression. Log events who meet this condition will be forwarded to the wrapped target. - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Windows domain name to change context to. - - - - - Required impersonation level. - - - - - Type of the logon provider. - - - - - Logon Type. - - - - - User account password. - - - - - Indicates whether to revert to the credentials of the process instead of impersonating another user. - - - - - Username to change context to. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Endpoint address. - - - - - Name of the endpoint configuration in WCF configuration file. - - - - - Indicates whether to use a WCF service contract that is one way (fire and forget) or two way (request-reply) - - - - - Client ID. - - - - - Indicates whether to include per-event properties in the payload sent to the server. - - - - - Indicates whether to use binary message encoding. - - - - - - - - - - - - - - Layout that should be use to calculate the value for the parameter. - - - - - Name of the parameter. - - - - - Type of the parameter. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Text to be rendered. - - - - - Header. - - - - - Footer. - - - - - Indicates whether to send message as HTML instead of plain text. - - - - - Encoding to be used for sending e-mail. - - - - - Indicates whether to add new lines between log entries. - - - - - CC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). - - - - - Recipients' email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). - - - - - BCC email addresses separated by semicolons (e.g. john@domain.com;jane@domain.com). - - - - - Mail message body (repeated for each log message send in one mail). - - - - - Mail subject. - - - - - Sender's email address (e.g. joe@domain.com). - - - - - Indicates whether NewLine characters in the body should be replaced with tags. - - - - - Priority used for sending mails. - - - - - Indicates the SMTP client timeout. - - - - - SMTP Server to be used for sending. - - - - - SMTP Authentication mode. - - - - - Username used to connect to SMTP server (used when SmtpAuthentication is set to "basic"). - - - - - Password used to authenticate against SMTP server (used when SmtpAuthentication is set to "basic"). - - - - - Indicates whether SSL (secure sockets layer) should be used when communicating with SMTP server. - - - - - Port number that SMTP Server is listening on. - - - - - Indicates whether the default Settings from System.Net.MailSettings should be used. - - - - - Folder where applications save mail messages to be processed by the local SMTP server. - - - - - Specifies how outgoing email messages will be handled. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Layout used to format log messages. - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Layout used to format log messages. - - - - - Encoding to be used when writing text to the queue. - - - - - Indicates whether to use the XML format when serializing message. This will also disable creating queues. - - - - - Indicates whether to check if a queue exists before writing to it. - - - - - Indicates whether to create the queue if it doesn't exists. - - - - - Label to associate with each message. - - - - - Name of the queue to write to. - - - - - Indicates whether to use recoverable messages (with guaranteed delivery). - - - - - - - - - - - - - - - - - Name of the target. - - - - - Class name. - - - - - Method name. The method must be public and static. - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Layout used to format log messages. - - - - - Encoding to be used. - - - - - Maximum message size in bytes. - - - - - Indicates whether to append newline at the end of log message. - - - - - Action that should be taken if the will be more connections than . - - - - - Action that should be taken if the message is larger than maxMessageSize. - - - - - Network address. - - - - - Size of the connection cache (number of connections which are kept alive). - - - - - Indicates whether to keep connection open whenever possible. - - - - - Maximum current connections. 0 = no maximum. - - - - - Maximum queue size. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Encoding to be used. - - - - - Instance of that is used to format log messages. - - - - - Maximum message size in bytes. - - - - - Indicates whether to append newline at the end of log message. - - - - - Action that should be taken if the will be more connections than . - - - - - Action that should be taken if the message is larger than maxMessageSize. - - - - - Indicates whether to keep connection open whenever possible. - - - - - Size of the connection cache (number of connections which are kept alive). - - - - - Maximum current connections. 0 = no maximum. - - - - - Network address. - - - - - Maximum queue size. - - - - - Indicates whether to include source info (file name and line number) in the information sent over the network. - - - - - NDC item separator. - - - - - Indicates whether to include stack contents. - - - - - Indicates whether to include call site (class and method name) in the information sent over the network. - - - - - AppInfo field. By default it's the friendly name of the current AppDomain. - - - - - Indicates whether to include NLog-specific extensions to log4j schema. - - - - - Indicates whether to include dictionary contents. - - - - - - - - - - - - - - - - Name of the target. - - - - - Layout used to format log messages. - - - - - Indicates whether to perform layout calculation. - - - - - - - - - - - - - - - Name of the target. - - - - - Layout used to format log messages. - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Indicates whether performance counter should be automatically created. - - - - - Name of the performance counter category. - - - - - Counter help text. - - - - - Name of the performance counter. - - - - - Performance counter type. - - - - - The value by which to increment the counter. - - - - - Performance counter instance name. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Default filter to be applied when no specific rule matches. - - - - - - - - - - - - - Condition to be tested. - - - - - Resulting filter to be applied when the condition matches. - - - - - - - - - - - - Name of the target. - - - - - - - - - - - - - - - Name of the target. - - - - - Number of times to repeat each log message. - - - - - - - - - - - - - - - - Name of the target. - - - - - Number of retries that should be attempted on the wrapped target in case of a failure. - - - - - Time to wait between retries in milliseconds. - - - - - - - - - - - - - - Name of the target. - - - - - - - - - - - - - - Name of the target. - - - - - - - - - - - - - - - Name of the target. - - - - - Layout used to format log messages. - - - - - - - - - - - - - - - - - - - - - Name of the target. - - - - - Should we include the BOM (Byte-order-mark) for UTF? Influences the property. This will only work for UTF-8. - - - - - Encoding. - - - - - Web service method name. Only used with Soap. - - - - - Web service namespace. Only used with Soap. - - - - - Protocol to be used when calling web service. - - - - - Web service URL. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Footer layout. - - - - - Header layout. - - - - - Body layout (can be repeated multiple times). - - - - - Custom column delimiter value (valid when ColumnDelimiter is set to 'Custom'). - - - - - Column delimiter. - - - - - Quote Character. - - - - - Quoting mode. - - - - - Indicates whether CVS should include header. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Layout of the column. - - - - - Name of the column. - - - - - - - - - - - - - Option to suppress the extra spaces in the output json - - - - - - - - - - - - - - Determines wether or not this attribute will be Json encoded. - - - - - Layout that will be rendered as the attribute's value. - - - - - Name of the attribute. - - - - - - - - - - - - - - Footer layout. - - - - - Header layout. - - - - - Body layout (can be repeated multiple times). - - - - - - - - - - - - - - - - - - - - - Layout text. - - - - - - - - - - - - - - - Action to be taken when filter matches. - - - - - Condition expression. - - - - - - - - - - - - - - - - - - - - - - - - - - Action to be taken when filter matches. - - - - - Indicates whether to ignore case when comparing strings. - - - - - Layout to be used to filter log messages. - - - - - Substring to be matched. - - - - - - - - - - - - - - - - - Action to be taken when filter matches. - - - - - String to compare the layout to. - - - - - Indicates whether to ignore case when comparing strings. - - - - - Layout to be used to filter log messages. - - - - - - - - - - - - - - - - - Action to be taken when filter matches. - - - - - Indicates whether to ignore case when comparing strings. - - - - - Layout to be used to filter log messages. - - - - - Substring to be matched. - - - - - - - - - - - - - - - - - Action to be taken when filter matches. - - - - - String to compare the layout to. - - - - - Indicates whether to ignore case when comparing strings. - - - - - Layout to be used to filter log messages. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/PROJ-ETS/packages/StackExchange.Redis.1.2.4/StackExchange.Redis.1.2.4.nupkg b/PROJ-ETS/packages/StackExchange.Redis.1.2.4/StackExchange.Redis.1.2.4.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..776823a2c7f772062778c8e36ab0508f435d61d9 GIT binary patch literal 768972 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

+|V%S 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≪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�k`a%e>*8s+4wZ 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

lKym++H>4<*t}Ct>Dz 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 literal 0 HcmV?d00001 diff --git a/PROJ-ETS/packages/StackExchange.Redis.1.2.4/lib/net45/StackExchange.Redis.dll b/PROJ-ETS/packages/StackExchange.Redis.1.2.4/lib/net45/StackExchange.Redis.dll new file mode 100644 index 0000000000000000000000000000000000000000..11c006425247f6669733c559a4dd9bda38c57476 GIT binary patch literal 424448 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�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 + + + StackExchange.Redis + + + +

+ Specifies how elements should be aggregated when combining sorted sets + + + + + The values of the combined elements are added + + + + + The least value of the combined elements is used + + + + + The greatest value of the combined elements is used + + + + + Bitwise operators + + + + + And + + + + + Or + + + + + Xor + + + + + Not + + + + + The client flags can be a combination of: + O: the client is a slave in MONITOR mode + S: the client is a normal slave server + M: the client is a master + x: the client is in a MULTI/EXEC context + b: the client is waiting in a blocking operation + i: the client is waiting for a VM I/O (deprecated) + d: a watched keys has been modified - EXEC will fail + c: connection to be closed after writing entire reply + u: the client is unblocked + A: connection to be closed ASAP + N: no specific flag set + + + + + no specific flag set + + + + + the client is a slave in MONITOR mode + + + + + the client is a normal slave server + + + + + the client is a master + + + + + the client is in a MULTI/EXEC context + + + + + the client is waiting in a blocking operation + + + + + a watched keys has been modified - EXEC will fail + + + + + connection to be closed after writing entire reply + + + + + the client is unblocked + + + + + connection to be closed ASAP + + + + + Represents the state of an individual client connection to redis + + + + + Address (host and port) of the client + + + + + total duration of the connection in seconds + + + + + current database ID + + + + + The flags associated with this connection + + + + + The client flags can be a combination of: + O: the client is a slave in MONITOR mode + S: the client is a normal slave server + M: the client is a master + x: the client is in a MULTI/EXEC context + b: the client is waiting in a blocking operation + i: the client is waiting for a VM I/O (deprecated) + d: a watched keys has been modified - EXEC will fail + c: connection to be closed after writing entire reply + u: the client is unblocked + A: connection to be closed ASAP + N: no specific flag set + + + + + The host of the client (typically an IP address) + + + + + idle time of the connection in seconds + + + + + last command played + + + + + The name allocated to this connection, if any + + + + + number of pattern matching subscriptions + + + + + The port of the client + + + + + The raw content from redis + + + + + number of channel subscriptions + + + + + number of commands in a MULTI/EXEC context + + + + + an unique 64-bit client ID (introduced in Redis 2.8.12). + + + + + Format the object as a string + + + + + The class of the connection + + + + + The class of the connection + + + + + Regular connections, including MONITOR connections + + + + + Replication connections + + + + + Subscription connections + + + + + Indicates a range of slots served by a cluster node + + + + + Create a new SlotRange value + + + + + The start of the range (inclusive) + + + + + The end of the range (inclusive) + + + + + Indicates whether two ranges are not equal + + + + + Indicates whether two ranges are equal + + + + + Try to parse a string as a range + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + + + + See Object.Equals + + + + + Indicates whether two ranges are equal + + + + + See Object.GetHashCode() + + + + + See Object.ToString() + + + + + Describes the state of the cluster as reported by a single node + + + + + Gets all nodes contained in the configuration + + + + + + The node that was asked for the configuration + + + + + Obtain the node relating to a specified endpoint + + + + + Gets the node that serves the specified slot + + + + + Gets the node that serves the specified slot + + + + + Represents the configuration of a single node in a cluster configuration + + + + + Gets all child nodes of the current node + + + + + Gets the endpoint of the current node + + + + + Gets whether this is the node which responded to the CLUSTER NODES request + + + + + Gets whether this node is a slave + + + + + Gets whether this node is flagged as noaddr + + + + + Gets the node's connection status + + + + + Gets the unique node-id of the current node + + + + + Gets the parent node of the current node + + + + + Gets the unique node-id of the parent of the current node + + + + + The configuration as reported by the server + + + + + The slots owned by this server + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + + + + See Object.Equals + + + + + Indicates whether two ClusterNode instances are equivalent + + + + + See object.GetHashCode() + + + + + See Object.ToString() + + + + + Behaviour markers associated with a given command + + + + + Default behaviour. + + + + + This command may jump regular-priority commands that have not yet been written to the redis stream. + + + + + The caller is not interested in the result; the caller will immediately receive a default-value + of the expected return type (this value is not indicative of anything at the server). + + + + + This operation should be performed on the master if it is available, but read operations may + be performed on a slave if no master is available. This is the default option. + + + + + This operation should only be performed on the master. + + + + + This operation should be performed on the slave if it is available, but will be performed on + a master if no slaves are available. Suitable for read operations only. + + + + + This operation should only be performed on a slave. Suitable for read operations only. + + + + + Indicates that this operation should not be forwarded to other servers as a result of an ASK or MOVED response + + + + + Indicates that script-related operations should use EVAL, not SCRIPT LOAD + EVALSHA + + + + + Represents the commands mapped on a particular configuration + + + + + The default commands specified by redis + + + + + The commands available to https://github.com/twitter/twemproxy + + https://github.com/twitter/twemproxy/blob/master/notes/redis.md + + + + The commands available to http://www.ideawu.com/ssdb/ + + http://www.ideawu.com/ssdb/docs/redis-to-ssdb.html + + + + The commands available to http://redis.io/topics/sentinel + + http://redis.io/topics/sentinel + + + + Create a new CommandMap, customizing some commands + + + + + Creates a CommandMap by specifying which commands are available or unavailable + + + + + See Object.ToString() + + + + + track status of a command while communicating with Redis + + + + + command status unknown + + + + + ConnectionMultiplexer has not yet started writing this command to redis + + + + + command has been sent to Redis + + + + + Represents the information known about long-running commands + + + + + The array composing the arguments of the command. + + + + + The amount of time needed for its execution + + + + + The time at which the logged command was processed. + + + + + A unique progressive identifier for every slow log entry. + + The entry's unique ID can be used in order to avoid processing slow log entries multiple times (for instance you may have a script sending you an email alert for every new slow log entry). The ID is never reset in the course of the Redis server execution, only a server restart will reset it. + + + + Deduces a link to the redis documentation about the specified command + + + + + Helper for Array.ConvertAll() as it's missing on .Net Core. + + + + + Converts array of one type to an array of another type. + + Input type + Output type + source + selector + + + + + A collection of IProfiledCommands. + + This is a very light weight data structure, only supporting enumeration. + + While it implements IEnumerable, it there are fewer allocations if one uses + it's explicit GetEnumerator() method. Using `foreach` does this automatically. + + This type is not threadsafe. + + + + + Implements IEnumerator for ProfiledCommandEnumerable. + This implementation is comparable to List.Enumerator and Dictionary.Enumerator, + and is provided to reduce allocations in the common (ie. foreach) case. + + This type is not threadsafe. + + + + + The current element. + + + + + Advances the enumeration, returning true if there is a new element to consume and false + if enumeration is complete. + + + + + Resets the enumeration. + + + + + Disposes the enumeration. + subsequent attempts to enumerate results in undefined behavior. + + + + + Returns an implementor of IEnumerator that, provided it isn't accessed + though an interface, avoids allocations. + + `foreach` will automatically use this method. + + + + + A thread-safe collection tailored to the "always append, with high contention, then enumerate once with no contention" + behavior of our profiling. + + Performs better than ConcurrentBag, which is important since profiling code shouldn't impact timings. + + + + + This method is thread-safe. + + Adds an element to the bag. + + Order is not preserved. + + The element can only be a member of *one* bag. + + + + + This method returns an enumerable view of the bag, and returns it to + an internal pool for reuse by GetOrCreate(). + + It is not thread safe. + + It should only be called once the bag is finished being mutated. + + + + + This returns the ConcurrentProfileStorageCollection to an internal pool for reuse by GetOrCreate(). + + + + + Returns a ConcurrentProfileStorageCollection to use. + + It *may* have allocated a new one, or it may return one that has previously been released. + To return the collection, call EnumerateAndReturnForReuse() + + + + + Describes a pre-condition used in a redis transaction + + + + + Enforces that the given hash-field must have the specified value + + + + + Enforces that the given hash-field must exist + + + + + Enforces that the given hash-field must not have the specified value + + + + + Enforces that the given hash-field must not exist + + + + + Enforces that the given key must exist + + + + + Enforces that the given key must not exist + + + + + Enforces that the given list index must have the specified value + + + + + Enforces that the given list index must exist + + + + + Enforces that the given list index must not have the specified value + + + + + Enforces that the given list index must not exist + + + + + Enforces that the given key must have the specified value + + + + + Enforces that the given key must not have the specified value + + + + + Enforces that the given hash length is a certain value + + + + + Enforces that the given hash length is less than a certain value + + + + + Enforces that the given hash length is greater than a certain value + + + + + Enforces that the given string length is a certain value + + + + + Enforces that the given string length is less than a certain value + + + + + Enforces that the given string length is greater than a certain value + + + + + Enforces that the given list length is a certain value + + + + + Enforces that the given list length is less than a certain value + + + + + Enforces that the given list length is greater than a certain value + + + + + Enforces that the given set cardinality is a certain value + + + + + Enforces that the given set cardinality is less than a certain value + + + + + Enforces that the given set cardinality is greater than a certain value + + + + + Enforces that the given sorted set cardinality is a certain value + + + + + Enforces that the given sorted set cardinality is less than a certain value + + + + + Enforces that the given sorted set cardinality is greater than a certain value + + + + + Indicates the status of a condition as part of a transaction + + + + + Indicates whether the condition was satisfied + + + + + Specifies the proxy that is being used to communicate to redis + + + + + Direct communication to the redis server(s) + + + + + Communication via twemproxy + + + + + The options relevant to a set of redis connections + + + + + A LocalCertificateSelectionCallback delegate responsible for selecting the certificate used for authentication; note + that this cannot be specified in the configuration-string. + + + + + A RemoteCertificateValidationCallback delegate responsible for validating the certificate supplied by the remote party; note + that this cannot be specified in the configuration-string. + + + + + Gets or sets whether connect/configuration timeouts should be explicitly notified via a TimeoutException + + + + + Indicates whether admin operations should be allowed + + + + + Indicates whether the connection should be encrypted + + + + + Indicates whether the connection should be encrypted + + + + + Configures which Ssl/TLS protocols should be allowed. If not set, defaults are chosen by the .NET framework. + + + + + Automatically encodes and decodes channels + + + + + The client name to use for all connections + + + + + The number of times to repeat the initial connect cycle if no servers respond promptly + + + + + The command-map associated with this configuration + + + + + Channel to use for broadcasting and listening for configuration change notification + + + + + Specifies the time in milliseconds that should be allowed for connection (defaults to 5 seconds unless SyncTimeout is higher) + + + + + The retry policy to be used for connection reconnects + + + + + The server version to assume + + + + + The endpoints defined for this configuration + + + + + Use ThreadPriority.AboveNormal for SocketManager reader and writer threads (true by default). If false, ThreadPriority.Normal will be used. + + + + + Specifies the time in seconds at which connections should be pinged to ensure validity + + + + + The password to use to authenticate with the server + + + + + Type of proxy to use (if any); for example Proxy.Twemproxy + + + + + Indicates whether endpoints should be resolved via DNS before connecting. + If enabled the ConnectionMultiplexer will not re-resolve DNS + when attempting to re-connect after a connection failure. + + + + + The service name used to resolve a service via sentinel + + + + + Gets or sets the SocketManager instance to be used with these options; if this is null a per-multiplexer + SocketManager is created automatically. + + + + + The target-host to use when validating SSL certificate; setting a value here enables SSL mode + + + + + Specifies the time in milliseconds that the system should allow for synchronous operations (defaults to 1 second) + + + + + Specifies the time in milliseconds that the system should allow for responses before concluding that the socket is unhealthy + (defaults to SyncTimeout) + + + + + Tie-breaker used to choose between masters (must match the endpoint exactly) + + + + + The size of the output buffer to use + + + + + Specifies the default database to be used when calling ConnectionMultiplexer.GetDatabase() without any parameters + + + + + Check configuration every n seconds (every minute by default) + + + + + Parse the configuration from a comma-delimited configuration string + + is null. + is empty. + + + + Parse the configuration from a comma-delimited configuration string + + is null. + is empty. + + + + Create a copy of the configuration + + + + + Resolve the default port for any endpoints that did not have a port explicitly specified + + + + + Returns the effective configuration string for this configuration, including Redis credentials. + + + + + Returns the effective configuration string for this configuration + with the option to include or exclude the password from the string. + + + + + Illustrates the counters associated with an individual connection + + + + + The number of operations that have been completed asynchronously + + + + + The number of operations that have been completed synchronously + + + + + The type of this connection + + + + + The number of operations that failed to complete asynchronously + + + + + Indicates if there are any pending items or failures on this connection + + + + + Indicates the total number of messages despatched to a non-preferred endpoint, for example sent to a master + when the caller stated a preference of slave + + + + + The number of operations performed on this connection + + + + + Operations that have been requested, but which have not yet been sent to the server + + + + + Operations for which the response has been processed, but which are awaiting asynchronous completion + + + + + Operations that have been sent to the server, but which are awaiting a response + + + + + The number of sockets used by this logical connection (total, including reconnects) + + + + + The number of subscriptions (with and without patterns) currently held against this connection + + + + + Indicates the total number of outstanding items against this connection + + + + + Indicates the total number of writers items against this connection + + + + + See Object.ToString() + + + + + Contains information about a server connection failure + + + + + Gets the connection-type of the failing connection + + + + + Gets the failing server-endpoint + + + + + Gets the exception if available (this can be null) + + + + + The type of failure + + + + + The known types of connection failure + + + + + This event is not a failure + + + + + No viable connections were available for this operation + + + + + The socket for this connection failed + + + + + Either SSL Stream or Redis authentication failed + + + + + An unexpected response was received from the server + + + + + An unknown internal error occurred + + + + + The socket was closed + + + + + The socket was closed + + + + + The database is loading and is not available for use + + + + + It has not been possible to create an intial connection to the redis server(s) + + + + + Represents an inter-related group of connections to redis servers + + + + + Provides a way of overriding the default Task Factory. If not set, it will use the default Task.Factory. + Useful when top level code sets it's own factory which may interfere with Redis queries. + + + + + Get summary statistics associates with this server + + + + + Gets the client-name that will be used on all new connections + + + + Tries to get the Roleinstance Id if Microsoft.WindowsAzure.ServiceRuntime is loaded. + In case of any failure, swallows the exception and returns null + + + + Gets the configuration of the connection + + + + + A server replied with an error message; + + + + + Write the configuration of all servers to an output stream + + + + + Used internally to synchronize loggine without depending on locking the log instance + + + + + Raised whenever a physical connection fails + + + + + Raised whenever an internal error occurs (this is primarily for debugging) + + + + + Raised whenever a physical connection is established + + + + + Raised when configuration changes are detected + + + + + Raised when nodes are explicitly requested to reconfigure via broadcast; + this usually means master/slave changes + + + + + Gets the timeout associated with the connections + + + + + Gets all endpoints defined on the server + + + + + + Wait for a given asynchronous operation to complete (or timeout) + + + + + Wait for a given asynchronous operation to complete (or timeout) + + + + + Wait for the given asynchronous operations to complete (or timeout) + + + + + Raised when a hash-slot has been relocated + + + + + Compute the hash-slot of a specified key + + + + + Create a new ConnectionMultiplexer instance + + + + + Create a new ConnectionMultiplexer instance + + + + + Create a new ConnectionMultiplexer instance + + + + + Create a new ConnectionMultiplexer instance + + + + + Obtain a pub/sub subscriber connection to the specified server + + + + + Obtain an interactive connection to a database inside redis + + + + + Obtain a configuration API for an individual server + + + + + Obtain a configuration API for an individual server + + + + + Obtain a configuration API for an individual server + + + + + Obtain a configuration API for an individual server + + + + + The number of operations that have been performed on all connections + + + + + Reconfigure the current connections based on the existing configuration + + + + + Reconfigure the current connections based on the existing configuration + + + + + Provides a text overview of the status of all connections + + + + + Provides a text overview of the status of all connections + + + + + See Object.ToString() + + + + + Gets or sets whether asynchronous operations should be invoked in a way that guarantees their original delivery order + + + + + Indicates whether any servers are connected + + + + + Close all connections and release all resources associated with this object + + + + + Close all connections and release all resources associated with this object + + + + + Release all resources associated with this object + + + + + Should exceptions include identifiable details? (key names, additional .Data annotations) + + + + + Should exceptions include performance counter details? (CPU usage, etc - note that this can be problematic on some platforms) + + + + + Limit at which to start recording unusual busy patterns (only one log will be retained at a time; + set to a negative value to disable this feature) + + + + + Obtains the log of unusual busy patterns + + + + + Resets the log of unusual busy patterns + + + + + Request all compatible clients to reconfigure or reconnect + + The number of instances known to have received the message (however, the actual number can be higher; returns -1 if the operation is pending) + + + + Request all compatible clients to reconfigure or reconnect + + The number of instances known to have received the message (however, the actual number can be higher) + + + + Sets an IProfiler instance for this ConnectionMultiplexer. + + An IProfiler instances is used to determine which context to associate an + IProfiledCommand with. See BeginProfiling(object) and FinishProfiling(object) + for more details. + + + + + Begins profiling for the given context. + + If the same context object is returned by the registered IProfiler, the IProfiledCommands + will be associated with each other. + + Call FinishProfiling with the same context to get the assocated commands. + + Note that forContext cannot be a WeakReference or a WeakReference<T> + + + + + Stops profiling for the given context, returns all IProfiledCommands associated. + + By default this may do a sweep for dead profiling contexts, you can disable this by passing "allowCleanupSweep: false". + + + + + The type of a connection + + + + + Not connection-type related + + + + + An interactive connection handles request/response commands for accessing data on demand + + + + + A subscriber connection recieves unsolicted messages from the server as pub/sub events occur + + + + + Completion type for CompletionTypeHelper + + + + + Retain original completion type (either sync or async) + + + + + Force sync completion + + + + + Force async completion + + + + + A list of endpoints + + + + + Create a new EndPointCollection + + + + + Create a new EndPointCollection + + + + + Format an endpoint + + + + + Attempt to parse a string into an EndPoint + + + + + Adds a new endpoint to the list + + + + + Adds a new endpoint to the list + + + + + Adds a new endpoint to the list + + + + + See Collection<T>.InsertItem() + + + + + See Collection<T>.SetItem() + + + + + Event information related to redis endpoints + + + + + The endpoint involved in this event (this can be null) + + + + + When performing a range query, by default the start / stop limits are inclusive; + however, both can also be specified separately as exclusive + + + + + Both start and stop are inclusive + + + + + Start is exclusive, stop is inclusive + + + + + Start is inclusive, stop is exclusive + + + + + Both start and stop are exclusive + + + + + Represents a retry policy that performs retries, using a randomized exponential back off scheme to determine the interval between retries. + + + + + Initializes a new instance using the specified back off interval with default maxDeltaBackOffMilliseconds of 10 seconds + + time in milliseconds for the back-off interval between retries + + + + Initializes a new instance using the specified back off interval. + + time in milliseconds for the back-off interval between retries + time in milliseconds for the maximum value that the back-off interval can exponentailly grow upto + + + + This method is called by the ConnectionMultiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the ConnectionMultiplexer while it was in the connecting state + Total elapsed time in milliseconds since the last reconnect retry was made + + + + Which settings to export + + + + + No options + + + + + The output of INFO + + + + + The output of CONFIG GET * + + + + + The output of CLIENT LIST + + + + + The output of CLUSTER NODES + + + + + Everything available + + + + + Utility methods + + + + + Create a dictionary from an array of HashEntry values + + + + + Create a dictionary from an array of HashEntry values + + + + + Create a dictionary from an array of SortedSetEntry values + + + + + Create a dictionary from an array of SortedSetEntry values + + + + + Create a dictionary from an array of key/value pairs + + + + + Create a dictionary from an array of key/value pairs + + + + + Create a dictionary from an array of string pairs + + + + + Create an array of strings from an array of values + + + + + GeoRadius command options. + + + + + No Options + + + + + Redis will return the coordinates of any results. + + + + + Redis will return the distance from center for all results. + + + + + Redis will return the geo hash value as an integer. (This is the score in the sorted set) + + + + + Populates the commonly used values from the entry (the integer hash is not returned as it is not commonly useful) + + + + + The result of a GeoRadius command. + + + + + Indicate the member being represented + + + + + The matched member. + + + + + The distance of the matched member from the center of the geo radius command. + + + + + The hash value of the matched member as an integer. (The key in the sorted set) + + Note that this is not the same as the hash returned from GeoHash + + + + The coordinates of the matched member. + + + + + Returns a new GeoRadiusResult + + + + + Describes the longitude and latitude of a GeoEntry + + + + + The Latitude of the GeoPosition + + + + + The Logitude of the GeoPosition + + + + + Creates a new GeoPosition + + + + + + + See Object.ToString() + + + + + See Object.GetHashCode() + Diagonals not an issue in the case of lat/long + + + + + Compares two values for equality + + + + + Compares two values for equality + + + + + Compares two values for equality + + + + + Compares two values for non-equality + + + + + Describes a GeoEntry element with the corresponding value + GeoEntries are stored in redis as SortedSetEntries + + + + + The name of the geo entry + + + + + Describes the longitude and latitude of a GeoEntry + + + + + Initializes a GeoEntry value + + + + + The longitude of the geo entry + + + + + The latitude of the geo entry + + + + + See Object.ToString() + + + + + See Object.GetHashCode() + + + + + Compares two values for equality + + + + + Compares two values for equality + + + + + Compares two values for equality + + + + + Compares two values for non-equality + + + + + Units associated with Geo Commands + + + + + Meters + + + + + Kilometers + + + + + Miles + + + + + Feet + + + + + Describes a hash-field (a name/value pair) + + + + + Initializes a HashEntry value + + + + + The name of the hash field + + + + + The value of the hash field + + + + + The name of the hash field + + + + + Converts to a key/value pair + + + + + Converts from a key/value pair + + + + + See Object.ToString() + + + + + See Object.GetHashCode() + + + + + Compares two values for equality + + + + + Compares two values for equality + + + + + Compares two values for equality + + + + + Compares two values for non-equality + + + + + Contains information about individual hash-slot relocations + + + + + The hash-slot that was relocated + + + + + The old endpoint for this hash-slot (if known) + + + + + The new endpoint for this hash-slot (if known) + + + + + Represents a block of operations that will be sent to the server together; + this can be useful to reduce packet fragmentation on slow connections - it + can improve the time to get *all* the operations processed, with the trade-off + of a slower time to get the *first* operation processed; this is usually + a good thing. Unless this batch is a transaction, there is no guarantee + that these operations will be processed either contiguously or atomically by the server. + + + + + Execute the batch operation, sending all queued commands to the server. + Note that this operation is neither synchronous nor truly asyncronous - it + simply enqueues the buffered messages. To check on completion, you should + check the individual responses. + + + + + Represents the abstract multiplexer API + + + + + Gets the client-name that will be used on all new connections + + + + + Gets the configuration of the connection + + + + + Gets the timeout associated with the connections + + + + + The number of operations that have been performed on all connections + + + + + Gets or sets whether asynchronous operations should be invoked in a way that guarantees their original delivery order + + + + + Indicates whether any servers are connected + + + + + Should exceptions include identifiable details? (key names, additional .Data annotations) + + + + + Limit at which to start recording unusual busy patterns (only one log will be retained at a time; + set to a negative value to disable this feature) + + + + + Sets an IProfiler instance for this ConnectionMultiplexer. + + An IProfiler instances is used to determine which context to associate an + IProfiledCommand with. See BeginProfiling(object) and FinishProfiling(object) + for more details. + + + + + Begins profiling for the given context. + + If the same context object is returned by the registered IProfiler, the IProfiledCommands + will be associated with each other. + + Call FinishProfiling with the same context to get the assocated commands. + + Note that forContext cannot be a WeakReference or a WeakReference<T> + + + + + Stops profiling for the given context, returns all IProfiledCommands associated. + + By default this may do a sweep for dead profiling contexts, you can disable this by passing "allowCleanupSweep: false". + + + + + Get summary statistics associates with this server + + + + + A server replied with an error message; + + + + + Raised whenever a physical connection fails + + + + + Raised whenever an internal error occurs (this is primarily for debugging) + + + + + Raised whenever a physical connection is established + + + + + Raised when configuration changes are detected + + + + + Raised when nodes are explicitly requested to reconfigure via broadcast; + this usually means master/slave changes + + + + + Gets all endpoints defined on the server + + + + + + Wait for a given asynchronous operation to complete (or timeout) + + + + + Wait for a given asynchronous operation to complete (or timeout) + + + + + Wait for the given asynchronous operations to complete (or timeout) + + + + + Raised when a hash-slot has been relocated + + + + + Compute the hash-slot of a specified key + + + + + Obtain a pub/sub subscriber connection to the specified server + + + + + Obtain an interactive connection to a database inside redis + + + + + Obtain a configuration API for an individual server + + + + + Obtain a configuration API for an individual server + + + + + Obtain a configuration API for an individual server + + + + + Obtain a configuration API for an individual server + + + + + Reconfigure the current connections based on the existing configuration + + + + + Reconfigure the current connections based on the existing configuration + + + + + Provides a text overview of the status of all connections + + + + + Provides a text overview of the status of all connections + + + + + See Object.ToString() + + + + + Close all connections and release all resources associated with this object + + + + + Close all connections and release all resources associated with this object + + + + + Release all resources associated with this object + + + + + Obtains the log of unusual busy patterns + + + + + Resets the log of unusual busy patterns + + + + + Request all compatible clients to reconfigure or reconnect + + The number of instances known to have received the message (however, the actual number can be higher; returns -1 if the operation is pending) + + + + Request all compatible clients to reconfigure or reconnect + + The number of instances known to have received the message (however, the actual number can be higher) + + + + Describes functionality that is common to both standalone redis servers and redis clusters + + + + + The numeric identifier of this database + + + + + Allows creation of a group of operations that will be sent to the server as a single unit, + but which may or may not be processed on the server contiguously. + + + + + Atomically transfer a key from a source Redis instance to a destination Redis instance. On success the key is deleted from the original instance by default, and is guaranteed to exist in the target instance. + + http://redis.io/commands/MIGRATE + + + + Allows creation of a group of operations that will be sent to the server as a single unit, + and processed on the server as a single unit. + + + + + Returns the raw DEBUG OBJECT output for a key; this command is not fully documented and should be avoided unless you have good reason, and then avoided anyway. + + http://redis.io/commands/debug-object + + + + Add the specified member to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + True if the specified member was not already present in the set, else False + http://redis.io/commands/geoadd + + + + Add the specified member to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + True if the specified member was not already present in the set, else False + http://redis.io/commands/geoadd + + + + Add the specified members to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + the number of elements that were added to the set, not including all the elements already present into the set. + http://redis.io/commands/geoadd + + + + Removes the specified member from the geo sorted set stored at key. Non existing members are ignored. + + True if the member existed in the sorted set and was removed; False otherwise. + http://redis.io/commands/zrem + + + + Return the distance between two members in the geospatial index represented by the sorted set. + + The command returns the distance as a double (represented as a string) in the specified unit, or NULL if one or both the elements are missing. + http://redis.io/commands/geodist + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + http://redis.io/commands/geohash + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + http://redis.io/commands/geohash + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command.Non existing elements are reported as NULL elements of the array. + http://redis.io/commands/geopos + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command.Non existing elements are reported as NULL elements of the array. + http://redis.io/commands/geopos + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + GeoRadiusResult[] + http://redis.io/commands/georadius + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + GeoRadiusResult[] + http://redis.io/commands/georadius + + + + Decrements the number stored at field in the hash stored at key by decrement. If key does not exist, a new key holding a hash is created. If field does not exist or holds a string that cannot be interpreted as integer, the value is set to 0 before the operation is performed. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + the value at field after the decrement operation. + http://redis.io/commands/hincrby + + + + Decrement the specified field of an hash stored at key, and representing a floating point number, by the specified decrement. If the field does not exist, it is set to 0 before performing the operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + the value at field after the decrement operation. + http://redis.io/commands/hincrbyfloat + + + + Removes the specified fields from the hash stored at key. Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + http://redis.io/commands/hdel + The number of fields that were removed. + + + + Removes the specified fields from the hash stored at key. Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + http://redis.io/commands/hdel + The number of fields that were removed. + + + + Returns if field is an existing field in the hash stored at key. + + 1 if the hash contains field. 0 if the hash does not contain field, or key does not exist. + http://redis.io/commands/hexists + + + + Returns the value associated with field in the hash stored at key. + + the value associated with field, or nil when field is not present in the hash or key does not exist. + http://redis.io/commands/hget + + + + Returns the values associated with the specified fields in the hash stored at key. + For every field that does not exist in the hash, a nil value is returned.Because a non-existing keys are treated as empty hashes, running HMGET against a non-existing key will return a list of nil values. + + list of values associated with the given fields, in the same order as they are requested. + http://redis.io/commands/hmget + + + + Returns all fields and values of the hash stored at key. + + list of fields and their values stored in the hash, or an empty list when key does not exist. + http://redis.io/commands/hgetall + + + + Increments the number stored at field in the hash stored at key by increment. If key does not exist, a new key holding a hash is created. If field does not exist or holds a string that cannot be interpreted as integer, the value is set to 0 before the operation is performed. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + the value at field after the increment operation. + http://redis.io/commands/hincrby + + + + Increment the specified field of an hash stored at key, and representing a floating point number, by the specified increment. If the field does not exist, it is set to 0 before performing the operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + the value at field after the increment operation. + http://redis.io/commands/hincrbyfloat + + + + Returns all field names in the hash stored at key. + + list of fields in the hash, or an empty list when key does not exist. + http://redis.io/commands/hkeys + + + + Returns the number of fields contained in the hash stored at key. + + number of fields in the hash, or 0 when key does not exist. + http://redis.io/commands/hlen + + + + The HSCAN command is used to incrementally iterate over a hash + + yields all elements of the hash. + http://redis.io/commands/hscan + + + + The HSCAN command is used to incrementally iterate over a hash; note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor. + + yields all elements of the hash. + http://redis.io/commands/hscan + + + + Sets the specified fields to their respective values in the hash stored at key. This command overwrites any existing fields in the hash. If key does not exist, a new key holding a hash is created. + + http://redis.io/commands/hmset + + + + Sets field in the hash stored at key to value. If key does not exist, a new key holding a hash is created. If field already exists in the hash, it is overwritten. + + 1 if field is a new field in the hash and value was set. 0 if field already exists in the hash and the value was updated. + http://redis.io/commands/hset + http://redis.io/commands/hsetnx + + + + Returns all values in the hash stored at key. + + list of values in the hash, or an empty list when key does not exist. + http://redis.io/commands/hvals + + + + Adds the element to the HyperLogLog data structure stored at the variable name specified as first argument. + + true if at least 1 HyperLogLog internal register was altered. false otherwise. + http://redis.io/commands/pfadd + + + + Adds all the element arguments to the HyperLogLog data structure stored at the variable name specified as first argument. + + true if at least 1 HyperLogLog internal register was altered. false otherwise. + http://redis.io/commands/pfadd + + + + Returns the approximated cardinality computed by the HyperLogLog data structure stored at the specified variable, or 0 if the variable does not exist. + + The approximated number of unique elements observed via HyperLogLogAdd. + http://redis.io/commands/pfcount + + + + Returns the approximated cardinality of the union of the HyperLogLogs passed, by internally merging the HyperLogLogs stored at the provided keys into a temporary hyperLogLog, or 0 if the variable does not exist. + + The approximated number of unique elements observed via HyperLogLogAdd. + http://redis.io/commands/pfcount + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + http://redis.io/commands/pfmerge + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + http://redis.io/commands/pfmerge + + + + Inidicate exactly which redis server we are talking to + + + + + Removes the specified key. A key is ignored if it does not exist. + + True if the key was removed. + http://redis.io/commands/del + + + + Removes the specified keys. A key is ignored if it does not exist. + + The number of keys that were removed. + http://redis.io/commands/del + + + + Serialize the value stored at key in a Redis-specific format and return it to the user. The returned value can be synthesized back into a Redis key using the RESTORE command. + + the serialized value. + http://redis.io/commands/dump + + + + Returns if key exists. + + 1 if the key exists. 0 if the key does not exist. + http://redis.io/commands/exists + + + + Set a timeout on key. After the timeout has expired, the key will automatically be deleted. A key with an associated timeout is said to be volatile in Redis terminology. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. So, if key already has an associated timeout, it will do nothing and return 0. Since Redis 2.1.3, you can update the timeout of a key. It is also possible to remove the timeout using the PERSIST command. See the page on key expiry for more information. + 1 if the timeout was set. 0 if key does not exist or the timeout could not be set. + http://redis.io/commands/expire + http://redis.io/commands/pexpire + http://redis.io/commands/persist + + + + Set a timeout on key. After the timeout has expired, the key will automatically be deleted. A key with an associated timeout is said to be volatile in Redis terminology. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. So, if key already has an associated timeout, it will do nothing and return 0. Since Redis 2.1.3, you can update the timeout of a key. It is also possible to remove the timeout using the PERSIST command. See the page on key expiry for more information. + 1 if the timeout was set. 0 if key does not exist or the timeout could not be set. + http://redis.io/commands/expireat + http://redis.io/commands/pexpireat + http://redis.io/commands/persist + + + + Move key from the currently selected database (see SELECT) to the specified destination database. When key already exists in the destination database, or it does not exist in the source database, it does nothing. It is possible to use MOVE as a locking primitive because of this. + + 1 if key was moved; 0 if key was not moved. + http://redis.io/commands/move + + + Remove the existing timeout on key, turning the key from volatile (a key with an expire set) to persistent (a key that will never expire as no timeout is associated). + 1 if the timeout was removed. 0 if key does not exist or does not have an associated timeout. + http://redis.io/commands/persist + + + + Return a random key from the currently selected database. + + the random key, or nil when the database is empty. + http://redis.io/commands/randomkey + + + + Renames key to newkey. It returns an error when the source and destination names are the same, or when key does not exist. + + http://redis.io/commands/rename + http://redis.io/commands/renamenx + + + + Create a key associated with a value that is obtained by deserializing the provided serialized value (obtained via DUMP). + If ttl is 0 the key is created without any expire, otherwise the specified expire time(in milliseconds) is set. + + http://redis.io/commands/restore + + + + Returns the remaining time to live of a key that has a timeout. This introspection capability allows a Redis client to check how many seconds a given key will continue to be part of the dataset. + + TTL, or nil when key does not exist or does not have a timeout. + http://redis.io/commands/ttl + + + + Returns the string representation of the type of the value stored at key. The different types that can be returned are: string, list, set, zset and hash. + + type of key, or none when key does not exist. + http://redis.io/commands/type + + + + Returns the element at index index in the list stored at key. The index is zero-based, so 0 means the first element, 1 the second element and so on. Negative indices can be used to designate elements starting at the tail of the list. Here, -1 means the last element, -2 means the penultimate and so forth. + + the requested element, or nil when index is out of range. + http://redis.io/commands/lindex + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + the length of the list after the insert operation, or -1 when the value pivot was not found. + http://redis.io/commands/linsert + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + the length of the list after the insert operation, or -1 when the value pivot was not found. + http://redis.io/commands/linsert + + + + Removes and returns the first element of the list stored at key. + + the value of the first element, or nil when key does not exist. + http://redis.io/commands/lpop + + + + Insert the specified value at the head of the list stored at key. If key does not exist, it is created as empty list before performing the push operations. + + the length of the list after the push operations. + http://redis.io/commands/lpush + http://redis.io/commands/lpushx + + + + Insert all the specified values at the head of the list stored at key. If key does not exist, it is created as empty list before performing the push operations. + Elements are inserted one after the other to the head of the list, from the leftmost element to the rightmost element. So for instance the command LPUSH mylist a b c will result into a list containing c as first element, b as second element and a as third element. + + the length of the list after the push operations. + http://redis.io/commands/lpush + + + + Returns the length of the list stored at key. If key does not exist, it is interpreted as an empty list and 0 is returned. + + the length of the list at key. + http://redis.io/commands/llen + + + + Returns the specified elements of the list stored at key. The offsets start and stop are zero-based indexes, with 0 being the first element of the list (the head of the list), 1 being the next element and so on. + These offsets can also be negative numbers indicating offsets starting at the end of the list.For example, -1 is the last element of the list, -2 the penultimate, and so on. + Note that if you have a list of numbers from 0 to 100, LRANGE list 0 10 will return 11 elements, that is, the rightmost item is included. + + list of elements in the specified range. + http://redis.io/commands/lrange + + + + Removes the first count occurrences of elements equal to value from the list stored at key. The count argument influences the operation in the following ways: + count > 0: Remove elements equal to value moving from head to tail. + count < 0: Remove elements equal to value moving from tail to head. + count = 0: Remove all elements equal to value. + + the number of removed elements. + http://redis.io/commands/lrem + + + + Removes and returns the last element of the list stored at key. + + http://redis.io/commands/rpop + + + + Atomically returns and removes the last element (tail) of the list stored at source, and pushes the element at the first element (head) of the list stored at destination. + + the element being popped and pushed. + http://redis.io/commands/rpoplpush + + + + Insert the specified value at the tail of the list stored at key. If key does not exist, it is created as empty list before performing the push operation. + + the length of the list after the push operation. + http://redis.io/commands/rpush + http://redis.io/commands/rpushx + + + + Insert all the specified values at the tail of the list stored at key. If key does not exist, it is created as empty list before performing the push operation. + Elements are inserted one after the other to the tail of the list, from the leftmost element to the rightmost element. So for instance the command RPUSH mylist a b c will result into a list containing a as first element, b as second element and c as third element. + + the length of the list after the push operation. + http://redis.io/commands/rpush + + + + Sets the list element at index to value. For more information on the index argument, see ListGetByIndex. An error is returned for out of range indexes. + + http://redis.io/commands/lset + + + + Trim an existing list so that it will contain only the specified range of elements specified. Both start and stop are zero-based indexes, where 0 is the first element of the list (the head), 1 the next element and so on. + For example: LTRIM foobar 0 2 will modify the list stored at foobar so that only the first three elements of the list will remain. + start and end can also be negative numbers indicating offsets from the end of the list, where -1 is the last element of the list, -2 the penultimate element and so on. + + http://redis.io/commands/ltrim + + + + Extends a lock, if the token value is correct + + + + + Queries the token held against a lock + + + + + Releases a lock, if the token value is correct + + + + + Takes a lock (specifying a token value) if it is not already taken + + + + + Posts a message to the given channel. + + the number of clients that received the message. + http://redis.io/commands/publish + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API + + A dynamic representation of the command's result + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API + + A dynamic representation of the command's result + + + + Execute a Lua script against the server + + http://redis.io/commands/eval, http://redis.io/commands/evalsha + A dynamic representation of the script's result + + + + Execute a Lua script against the server using just the SHA1 hash + + http://redis.io/commands/evalsha + A dynamic representation of the script's result + + + + Execute a lua script against the server, using previously prepared script. + Named parameters, if any, are provided by the `parameters` object. + + + + + Execute a lua script against the server, using previously prepared and loaded script. + This method sends only the SHA1 hash of the lua script to Redis. + Named parameters, if any, are provided by the `parameters` object. + + + + + Add the specified member to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + True if the specified member was not already present in the set, else False + http://redis.io/commands/sadd + + + + Add the specified members to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + the number of elements that were added to the set, not including all the elements already present into the set. + http://redis.io/commands/sadd + + + + Returns the members of the set resulting from the specified operation against the given sets. + + list with members of the resulting set. + http://redis.io/commands/sunion + http://redis.io/commands/sinter + http://redis.io/commands/sdiff + + + + Returns the members of the set resulting from the specified operation against the given sets. + + list with members of the resulting set. + http://redis.io/commands/sunion + http://redis.io/commands/sinter + http://redis.io/commands/sdiff + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. If destination already exists, it is overwritten. + + the number of elements in the resulting set. + http://redis.io/commands/sunionstore + http://redis.io/commands/sinterstore + http://redis.io/commands/sdiffstore + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. If destination already exists, it is overwritten. + + the number of elements in the resulting set. + http://redis.io/commands/sunionstore + http://redis.io/commands/sinterstore + http://redis.io/commands/sdiffstore + + + + Returns if member is a member of the set stored at key. + + 1 if the element is a member of the set. 0 if the element is not a member of the set, or if key does not exist. + http://redis.io/commands/sismember + + + + Returns the set cardinality (number of elements) of the set stored at key. + + the cardinality (number of elements) of the set, or 0 if key does not exist. + http://redis.io/commands/scard + + + + Returns all the members of the set value stored at key. + + all elements of the set. + http://redis.io/commands/smembers + + + + Move member from the set at source to the set at destination. This operation is atomic. In every given moment the element will appear to be a member of source or destination for other clients. + When the specified element already exists in the destination set, it is only removed from the source set. + + 1 if the element is moved. 0 if the element is not a member of source and no operation was performed. + http://redis.io/commands/smove + + + + Removes and returns a random element from the set value stored at key. + + the removed element, or nil when key does not exist. + http://redis.io/commands/spop + + + + Return a random element from the set value stored at key. + + the randomly selected element, or nil when key does not exist + http://redis.io/commands/srandmember + + + + Return an array of count distinct elements if count is positive. If called with a negative count the behavior changes and the command is allowed to return the same element multiple times. + In this case the numer of returned elements is the absolute value of the specified count. + + an array of elements, or an empty array when key does not exist + http://redis.io/commands/srandmember + + + + Remove the specified member from the set stored at key. Specified members that are not a member of this set are ignored. + + True if the specified member was already present in the set, else False + http://redis.io/commands/srem + + + + Remove the specified members from the set stored at key. Specified members that are not a member of this set are ignored. + + the number of members that were removed from the set, not including non existing members. + http://redis.io/commands/srem + + + + The SSCAN command is used to incrementally iterate over set + + yields all elements of the set. + http://redis.io/commands/sscan + + + + The SSCAN command is used to incrementally iterate over set; note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor. + + yields all elements of the set. + http://redis.io/commands/sscan + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default); By default, the elements themselves are compared, but the values can also be + used to perform external key-lookups using the by parameter. By default, the elements themselves are returned, but external key-lookups (one or many) can + be performed instead by specifying the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. When used in hashes, by and get + can be used to specify fields using -> notation (again, refer to redis documentation). + + http://redis.io/commands/sort + Returns the sorted elements, or the external values if get is specified + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default); By default, the elements themselves are compared, but the values can also be + used to perform external key-lookups using the by parameter. By default, the elements themselves are returned, but external key-lookups (one or many) can + be performed instead by specifying the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. When used in hashes, by and get + can be used to specify fields using -> notation (again, refer to redis documentation). + + http://redis.io/commands/sort + Returns the number of elements stored in the new list + + + + Adds the specified member with the specified score to the sorted set stored at key. If the specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + True if the value was added, False if it already existed (the score is still updated) + http://redis.io/commands/zadd + + + + Adds the specified member with the specified score to the sorted set stored at key. If the specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + True if the value was added, False if it already existed (the score is still updated) + http://redis.io/commands/zadd + + + + Adds all the specified members with the specified scores to the sorted set stored at key. If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The number of elements added to the sorted sets, not including elements already existing for which the score was updated. + http://redis.io/commands/zadd + + + + Adds all the specified members with the specified scores to the sorted set stored at key. If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The number of elements added to the sorted sets, not including elements already existing for which the score was updated. + http://redis.io/commands/zadd + + + + Computes a set operation over two sorted sets, and stores the result in destination, optionally performing + a specific aggregation (defaults to sum) + + http://redis.io/commands/zunionstore + http://redis.io/commands/zinterstore + the number of elements in the resulting sorted set at destination + + + + Computes a set operation over multiple sorted sets (optionally using per-set weights), and stores the result in destination, optionally performing + a specific aggregation (defaults to sum) + + http://redis.io/commands/zunionstore + http://redis.io/commands/zinterstore + the number of elements in the resulting sorted set at destination + + + + Decrements the score of member in the sorted set stored at key by decrement. If member does not exist in the sorted set, it is added with -decrement as its score (as if its previous score was 0.0). + + the new score of member + http://redis.io/commands/zincrby + + + + Increments the score of member in the sorted set stored at key by increment. If member does not exist in the sorted set, it is added with increment as its score (as if its previous score was 0.0). + + the new score of member + http://redis.io/commands/zincrby + + + + Returns the sorted set cardinality (number of elements) of the sorted set stored at key. + + the cardinality (number of elements) of the sorted set, or 0 if key does not exist. + http://redis.io/commands/zcard + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns the number of elements in the sorted set at key with a value between min and max. + + the number of elements in the specified score range. + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns all the elements in the sorted set at key with a value between min and max. + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + list of elements in the specified range + http://redis.io/commands/zrange + http://redis.io/commands/zrevrange + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + list of elements in the specified range + http://redis.io/commands/zrange + http://redis.io/commands/zrevrange + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. Similar to other range methods the values are inclusive. + + list of elements in the specified score range + http://redis.io/commands/zrangebyscore + http://redis.io/commands/zrevrangebyscore + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. Similar to other range methods the values are inclusive. + + list of elements in the specified score range + http://redis.io/commands/zrangebyscore + http://redis.io/commands/zrevrangebyscore + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns all the elements in the sorted set at key with a value between min and max. + + http://redis.io/commands/zrangebylex + list of elements in the specified score range. + + + + Returns the rank of member in the sorted set stored at key, by default with the scores ordered from low to high. The rank (or index) is 0-based, which means that the member with the lowest score has rank 0. + + If member exists in the sorted set, the rank of member; If member does not exist in the sorted set or key does not exist, null + http://redis.io/commands/zrank + http://redis.io/commands/zrevrank + + + + Removes the specified member from the sorted set stored at key. Non existing members are ignored. + + True if the member existed in the sorted set and was removed; False otherwise. + http://redis.io/commands/zrem + + + + Removes the specified members from the sorted set stored at key. Non existing members are ignored. + + The number of members removed from the sorted set, not including non existing members. + http://redis.io/commands/zrem + + + + Removes all elements in the sorted set stored at key with rank between start and stop. Both start and stop are 0 -based indexes with 0 being the element with the lowest score. These indexes can be negative numbers, where they indicate offsets starting at the element with the highest score. For example: -1 is the element with the highest score, -2 the element with the second highest score and so forth. + + the number of elements removed. + http://redis.io/commands/zremrangebyrank + + + + Removes all elements in the sorted set stored at key with a score between min and max (inclusive by default). + + the number of elements removed. + http://redis.io/commands/zremrangebyscore + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command removes all elements in the sorted set stored at key between the lexicographical range specified by min and max. + + http://redis.io/commands/zremrangebylex + the number of elements removed. + + + + The ZSCAN command is used to incrementally iterate over a sorted set + + yields all elements of the sorted set. + http://redis.io/commands/zscan + + + + The ZSCAN command is used to incrementally iterate over a sorted set; note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor. + + yields all elements of the sorted set. + http://redis.io/commands/zscan + + + + Returns the score of member in the sorted set at key; If member does not exist in the sorted set, or key does not exist, nil is returned. + + the score of member + http://redis.io/commands/zscore + + + + If key already exists and is a string, this command appends the value at the end of the string. If key does not exist it is created and set as an empty string, + so APPEND will be similar to SET in this special case. + + the length of the string after the append operation. + http://redis.io/commands/append + + + + Count the number of set bits (population counting) in a string. + By default all the bytes contained in the string are examined.It is possible to specify the counting operation only in an interval passing the additional arguments start and end. + Like for the GETRANGE command start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The number of bits set to 1 + http://redis.io/commands/bitcount + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator: the second key should be omitted in this case + and only the first key will be considered. + The result of the operation is always stored at destkey. + + The size of the string stored in the destination key, that is equal to the size of the longest input string. + http://redis.io/commands/bitop + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator. + The result of the operation is always stored at destkey. + + The size of the string stored in the destination key, that is equal to the size of the longest input string. + http://redis.io/commands/bitop + + + + Return the position of the first bit set to 1 or 0 in a string. + The position is returned thinking at the string as an array of bits from left to right where the first byte most significant bit is at position 0, the second byte most significant bit is at position 8 and so forth. + An start and end may be specified; these are in bytes, not bits; start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The command returns the position of the first bit set to 1 or 0 according to the request. + If we look for set bits(the bit argument is 1) and the string is empty or composed of just zero bytes, -1 is returned. + http://redis.io/commands/bitpos + + + + Decrements the number stored at key by decrement. If the key does not exist, it is set to 0 before performing the operation. + An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. This operation is limited to 64 bit signed integers. + + the value of key after the decrement + http://redis.io/commands/decrby + http://redis.io/commands/decr + + + + Decrements the string representing a floating point number stored at key by the specified decrement. If the key does not exist, it is set to 0 before performing the operation. The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + the value of key after the decrement + http://redis.io/commands/incrbyfloat + + + + Get the value of key. If the key does not exist the special value nil is returned. An error is returned if the value stored at key is not a string, because GET only handles string values. + + the value of key, or nil when key does not exist. + http://redis.io/commands/get + + + + Returns the values of all specified keys. For every key that does not hold a string value or does not exist, the special value nil is returned. + + http://redis.io/commands/mget + + + + Returns the bit value at offset in the string value stored at key. + When offset is beyond the string length, the string is assumed to be a contiguous space with 0 bits. + + the bit value stored at offset. + http://redis.io/commands/getbit + + + + Returns the substring of the string value stored at key, determined by the offsets start and end (both are inclusive). Negative offsets can be used in order to provide an offset starting from the end of the string. So -1 means the last character, -2 the penultimate and so forth. + + the substring of the string value stored at key + http://redis.io/commands/getrange + + + + Atomically sets key to value and returns the old value stored at key. + + http://redis.io/commands/getset + the old value stored at key, or nil when key did not exist. + + + + Get the value of key. If the key does not exist the special value nil is returned. An error is returned if the value stored at key is not a string, because GET only handles string values. + + the value of key, or nil when key does not exist. + http://redis.io/commands/get + + + + Increments the number stored at key by increment. If the key does not exist, it is set to 0 before performing the operation. An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. This operation is limited to 64 bit signed integers. + + the value of key after the increment + http://redis.io/commands/incrby + http://redis.io/commands/incr + + + + Increments the string representing a floating point number stored at key by the specified increment. If the key does not exist, it is set to 0 before performing the operation. The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + the value of key after the increment + http://redis.io/commands/incrbyfloat + + + + Returns the length of the string value stored at key. + + the length of the string at key, or 0 when key does not exist. + http://redis.io/commands/strlen + + + + Set key to hold the string value. If key already holds a value, it is overwritten, regardless of its type. + + http://redis.io/commands/set + + + + Sets the given keys to their respective values. If "not exists" is specified, this will not perform any operation at all even if just a single key already exists. + + True if the keys were set, else False + http://redis.io/commands/mset + http://redis.io/commands/msetnx + + + + Sets or clears the bit at offset in the string value stored at key. + The bit is either set or cleared depending on value, which can be either 0 or 1. When key does not exist, a new string value is created.The string is grown to make sure it can hold a bit at offset. + + the original bit value stored at offset. + http://redis.io/commands/setbit + + + + Overwrites part of the string stored at key, starting at the specified offset, for the entire length of value. If the offset is larger than the current length of the string at key, the string is padded with zero-bytes to make offset fit. Non-existing keys are considered as empty strings, so this command will make sure it holds a string large enough to be able to set value at offset. + + the length of the string after it was modified by the command. + http://redis.io/commands/setrange + + + + Describes functionality that is common to both standalone redis servers and redis clusters + + + + + Returns the raw DEBUG OBJECT output for a key; this command is not fully documented and should be avoided unless you have good reason, and then avoided anyway. + + http://redis.io/commands/debug-object + + + + Add the specified member to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + True if the specified member was not already present in the set, else False + http://redis.io/commands/geoadd + + + + Add the specified member to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + True if the specified member was not already present in the set, else False + http://redis.io/commands/geoadd + + + + Add the specified members to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + the number of elements that were added to the set, not including all the elements already present into the set. + http://redis.io/commands/geoadd + + + + Removes the specified member from the geo sorted set stored at key. Non existing members are ignored. + + True if the member existed in the sorted set and was removed; False otherwise. + http://redis.io/commands/zrem + + + + Return the distance between two members in the geospatial index represented by the sorted set. + + The command returns the distance as a double (represented as a string) in the specified unit, or NULL if one or both the elements are missing. + http://redis.io/commands/geodist + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + http://redis.io/commands/geohash + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + http://redis.io/commands/geohash + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command.Non existing elements are reported as NULL elements of the array. + http://redis.io/commands/geopos + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command.Non existing elements are reported as NULL elements of the array. + http://redis.io/commands/geopos + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + GeoRadiusResult[] + http://redis.io/commands/georadius + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + GeoRadiusResult[] + http://redis.io/commands/georadius + + + + Increments the number stored at field in the hash stored at key by increment. If key does not exist, a new key holding a hash is created. If field does not exist or holds a string that cannot be interpreted as integer, the value is set to 0 before the operation is performed. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + the value at field after the increment operation. + http://redis.io/commands/hincrby + + + + Decrement the specified field of an hash stored at key, and representing a floating point number, by the specified decrement. If the field does not exist, it is set to 0 before performing the operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + the value at field after the decrement operation. + http://redis.io/commands/hincrbyfloat + + + + Removes the specified fields from the hash stored at key. Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + http://redis.io/commands/hdel + The number of fields that were removed. + + + + Removes the specified fields from the hash stored at key. Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + http://redis.io/commands/hdel + The number of fields that were removed. + + + + Returns if field is an existing field in the hash stored at key. + + 1 if the hash contains field. 0 if the hash does not contain field, or key does not exist. + http://redis.io/commands/hexists + + + + Returns all fields and values of the hash stored at key. + + list of fields and their values stored in the hash, or an empty list when key does not exist. + http://redis.io/commands/hgetall + + + + Returns the value associated with field in the hash stored at key. + + the value associated with field, or nil when field is not present in the hash or key does not exist. + http://redis.io/commands/hget + + + + Returns the values associated with the specified fields in the hash stored at key. + For every field that does not exist in the hash, a nil value is returned.Because a non-existing keys are treated as empty hashes, running HMGET against a non-existing key will return a list of nil values. + + list of values associated with the given fields, in the same order as they are requested. + http://redis.io/commands/hmget + + + + Increments the number stored at field in the hash stored at key by increment. If key does not exist, a new key holding a hash is created. If field does not exist or holds a string that cannot be interpreted as integer, the value is set to 0 before the operation is performed. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + the value at field after the increment operation. + http://redis.io/commands/hincrby + + + + Increment the specified field of an hash stored at key, and representing a floating point number, by the specified increment. If the field does not exist, it is set to 0 before performing the operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + the value at field after the increment operation. + http://redis.io/commands/hincrbyfloat + + + + Returns all field names in the hash stored at key. + + list of fields in the hash, or an empty list when key does not exist. + http://redis.io/commands/hkeys + + + + Returns the number of fields contained in the hash stored at key. + + number of fields in the hash, or 0 when key does not exist. + http://redis.io/commands/hlen + + + + Sets the specified fields to their respective values in the hash stored at key. This command overwrites any existing fields in the hash. If key does not exist, a new key holding a hash is created. + + http://redis.io/commands/hmset + + + + Sets field in the hash stored at key to value. If key does not exist, a new key holding a hash is created. If field already exists in the hash, it is overwritten. + + 1 if field is a new field in the hash and value was set. 0 if field already exists in the hash and the value was updated. + http://redis.io/commands/hset + http://redis.io/commands/hsetnx + + + + Returns all values in the hash stored at key. + + list of values in the hash, or an empty list when key does not exist. + http://redis.io/commands/hvals + + + + Adds the element to the HyperLogLog data structure stored at the variable name specified as first argument. + + true if at least 1 HyperLogLog internal register was altered. false otherwise. + http://redis.io/commands/pfadd + + + + Adds all the element arguments to the HyperLogLog data structure stored at the variable name specified as first argument. + + true if at least 1 HyperLogLog internal register was altered. false otherwise. + http://redis.io/commands/pfadd + + + + Returns the approximated cardinality computed by the HyperLogLog data structure stored at the specified variable, or 0 if the variable does not exist. + + The approximated number of unique elements observed via HyperLogLogAdd. + http://redis.io/commands/pfcount + + + + Returns the approximated cardinality of the union of the HyperLogLogs passed, by internally merging the HyperLogLogs stored at the provided keys into a temporary hyperLogLog, or 0 if the variable does not exist. + + The approximated number of unique elements observed via HyperLogLogAdd. + http://redis.io/commands/pfcount + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + http://redis.io/commands/pfmerge + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + http://redis.io/commands/pfmerge + + + + Inidicate exactly which redis server we are talking to + + + + + Indicates whether the instance can communicate with the server (resolved + using the supplied key and optional flags) + + + + + Removes the specified key. A key is ignored if it does not exist. + + True if the key was removed. + http://redis.io/commands/del + + + + Removes the specified keys. A key is ignored if it does not exist. + + The number of keys that were removed. + http://redis.io/commands/del + + + + Serialize the value stored at key in a Redis-specific format and return it to the user. The returned value can be synthesized back into a Redis key using the RESTORE command. + + the serialized value. + http://redis.io/commands/dump + + + + Returns if key exists. + + 1 if the key exists. 0 if the key does not exist. + http://redis.io/commands/exists + + + + Set a timeout on key. After the timeout has expired, the key will automatically be deleted. A key with an associated timeout is said to be volatile in Redis terminology. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. So, if key already has an associated timeout, it will do nothing and return 0. Since Redis 2.1.3, you can update the timeout of a key. It is also possible to remove the timeout using the PERSIST command. See the page on key expiry for more information. + 1 if the timeout was set. 0 if key does not exist or the timeout could not be set. + http://redis.io/commands/expire + http://redis.io/commands/pexpire + http://redis.io/commands/persist + + + + Set a timeout on key. After the timeout has expired, the key will automatically be deleted. A key with an associated timeout is said to be volatile in Redis terminology. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. So, if key already has an associated timeout, it will do nothing and return 0. Since Redis 2.1.3, you can update the timeout of a key. It is also possible to remove the timeout using the PERSIST command. See the page on key expiry for more information. + 1 if the timeout was set. 0 if key does not exist or the timeout could not be set. + http://redis.io/commands/expireat + http://redis.io/commands/pexpireat + http://redis.io/commands/persist + + + + Atomically transfer a key from a source Redis instance to a destination Redis instance. On success the key is deleted from the original instance by default, and is guaranteed to exist in the target instance. + + http://redis.io/commands/MIGRATE + + + + Move key from the currently selected database (see SELECT) to the specified destination database. When key already exists in the destination database, or it does not exist in the source database, it does nothing. It is possible to use MOVE as a locking primitive because of this. + + 1 if key was moved; 0 if key was not moved. + http://redis.io/commands/move + + + Remove the existing timeout on key, turning the key from volatile (a key with an expire set) to persistent (a key that will never expire as no timeout is associated). + 1 if the timeout was removed. 0 if key does not exist or does not have an associated timeout. + http://redis.io/commands/persist + + + + Return a random key from the currently selected database. + + the random key, or nil when the database is empty. + http://redis.io/commands/randomkey + + + + Renames key to newkey. It returns an error when the source and destination names are the same, or when key does not exist. + + http://redis.io/commands/rename + http://redis.io/commands/renamenx + + + + Create a key associated with a value that is obtained by deserializing the provided serialized value (obtained via DUMP). + If ttl is 0 the key is created without any expire, otherwise the specified expire time(in milliseconds) is set. + + http://redis.io/commands/restore + + + + Returns the remaining time to live of a key that has a timeout. This introspection capability allows a Redis client to check how many seconds a given key will continue to be part of the dataset. + + TTL, or nil when key does not exist or does not have a timeout. + http://redis.io/commands/ttl + + + + Returns the string representation of the type of the value stored at key. The different types that can be returned are: string, list, set, zset and hash. + + type of key, or none when key does not exist. + http://redis.io/commands/type + + + + Returns the element at index index in the list stored at key. The index is zero-based, so 0 means the first element, 1 the second element and so on. Negative indices can be used to designate elements starting at the tail of the list. Here, -1 means the last element, -2 means the penultimate and so forth. + + the requested element, or nil when index is out of range. + http://redis.io/commands/lindex + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + the length of the list after the insert operation, or -1 when the value pivot was not found. + http://redis.io/commands/linsert + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + the length of the list after the insert operation, or -1 when the value pivot was not found. + http://redis.io/commands/linsert + + + + Removes and returns the first element of the list stored at key. + + the value of the first element, or nil when key does not exist. + http://redis.io/commands/lpop + + + + Insert the specified value at the head of the list stored at key. If key does not exist, it is created as empty list before performing the push operations. + + the length of the list after the push operations. + http://redis.io/commands/lpush + http://redis.io/commands/lpushx + + + + Insert all the specified values at the head of the list stored at key. If key does not exist, it is created as empty list before performing the push operations. + Elements are inserted one after the other to the head of the list, from the leftmost element to the rightmost element. So for instance the command LPUSH mylist a b c will result into a list containing c as first element, b as second element and a as third element. + + the length of the list after the push operations. + http://redis.io/commands/lpush + + + + Returns the length of the list stored at key. If key does not exist, it is interpreted as an empty list and 0 is returned. + + the length of the list at key. + http://redis.io/commands/llen + + + + Returns the specified elements of the list stored at key. The offsets start and stop are zero-based indexes, with 0 being the first element of the list (the head of the list), 1 being the next element and so on. + These offsets can also be negative numbers indicating offsets starting at the end of the list.For example, -1 is the last element of the list, -2 the penultimate, and so on. + Note that if you have a list of numbers from 0 to 100, LRANGE list 0 10 will return 11 elements, that is, the rightmost item is included. + + list of elements in the specified range. + http://redis.io/commands/lrange + + + + Removes the first count occurrences of elements equal to value from the list stored at key. The count argument influences the operation in the following ways: + count > 0: Remove elements equal to value moving from head to tail. + count < 0: Remove elements equal to value moving from tail to head. + count = 0: Remove all elements equal to value. + + the number of removed elements. + http://redis.io/commands/lrem + + + + Removes and returns the last element of the list stored at key. + + http://redis.io/commands/rpop + + + + Atomically returns and removes the last element (tail) of the list stored at source, and pushes the element at the first element (head) of the list stored at destination. + + the element being popped and pushed. + http://redis.io/commands/rpoplpush + + + + Insert the specified value at the tail of the list stored at key. If key does not exist, it is created as empty list before performing the push operation. + + the length of the list after the push operation. + http://redis.io/commands/rpush + http://redis.io/commands/rpushx + + + + Insert all the specified values at the tail of the list stored at key. If key does not exist, it is created as empty list before performing the push operation. + Elements are inserted one after the other to the tail of the list, from the leftmost element to the rightmost element. So for instance the command RPUSH mylist a b c will result into a list containing a as first element, b as second element and c as third element. + + the length of the list after the push operation. + http://redis.io/commands/rpush + + + + Sets the list element at index to value. For more information on the index argument, see ListGetByIndex. An error is returned for out of range indexes. + + http://redis.io/commands/lset + + + + Trim an existing list so that it will contain only the specified range of elements specified. Both start and stop are zero-based indexes, where 0 is the first element of the list (the head), 1 the next element and so on. + For example: LTRIM foobar 0 2 will modify the list stored at foobar so that only the first three elements of the list will remain. + start and end can also be negative numbers indicating offsets from the end of the list, where -1 is the last element of the list, -2 the penultimate element and so on. + + http://redis.io/commands/ltrim + + + + Extends a lock, if the token value is correct + + + + + Queries the token held against a lock + + + + + Releases a lock, if the token value is correct + + + + + Takes a lock (specifying a token value) if it is not already taken + + + + + Posts a message to the given channel. + + the number of clients that received the message. + http://redis.io/commands/publish + + + + Execute a Lua script against the server + + http://redis.io/commands/eval, http://redis.io/commands/evalsha + A dynamic representation of the script's result + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API + + A dynamic representation of the command's result + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API + + A dynamic representation of the command's result + + + + Execute a Lua script against the server using just the SHA1 hash + + http://redis.io/commands/evalsha + A dynamic representation of the script's result + + + + Execute a lua script against the server, using previously prepared script. + Named parameters, if any, are provided by the `parameters` object. + + + + + Execute a lua script against the server, using previously prepared and loaded script. + This method sends only the SHA1 hash of the lua script to Redis. + Named parameters, if any, are provided by the `parameters` object. + + + + + Add the specified member to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + True if the specified member was not already present in the set, else False + http://redis.io/commands/sadd + + + + Add the specified members to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + the number of elements that were added to the set, not including all the elements already present into the set. + http://redis.io/commands/sadd + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. If destination already exists, it is overwritten. + + the number of elements in the resulting set. + http://redis.io/commands/sunionstore + http://redis.io/commands/sinterstore + http://redis.io/commands/sdiffstore + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. If destination already exists, it is overwritten. + + the number of elements in the resulting set. + http://redis.io/commands/sunionstore + http://redis.io/commands/sinterstore + http://redis.io/commands/sdiffstore + + + + Returns the members of the set resulting from the specified operation against the given sets. + + list with members of the resulting set. + http://redis.io/commands/sunion + http://redis.io/commands/sinter + http://redis.io/commands/sdiff + + + + Returns the members of the set resulting from the specified operation against the given sets. + + list with members of the resulting set. + http://redis.io/commands/sunion + http://redis.io/commands/sinter + http://redis.io/commands/sdiff + + + + Returns if member is a member of the set stored at key. + + 1 if the element is a member of the set. 0 if the element is not a member of the set, or if key does not exist. + http://redis.io/commands/sismember + + + + Returns the set cardinality (number of elements) of the set stored at key. + + the cardinality (number of elements) of the set, or 0 if key does not exist. + http://redis.io/commands/scard + + + + Returns all the members of the set value stored at key. + + all elements of the set. + http://redis.io/commands/smembers + + + + Move member from the set at source to the set at destination. This operation is atomic. In every given moment the element will appear to be a member of source or destination for other clients. + When the specified element already exists in the destination set, it is only removed from the source set. + + 1 if the element is moved. 0 if the element is not a member of source and no operation was performed. + http://redis.io/commands/smove + + + + Removes and returns a random element from the set value stored at key. + + the removed element, or nil when key does not exist. + http://redis.io/commands/spop + + + + Return a random element from the set value stored at key. + + the randomly selected element, or nil when key does not exist + http://redis.io/commands/srandmember + + + + Return an array of count distinct elements if count is positive. If called with a negative count the behavior changes and the command is allowed to return the same element multiple times. + In this case the numer of returned elements is the absolute value of the specified count. + + an array of elements, or an empty array when key does not exist + http://redis.io/commands/srandmember + + + + Remove the specified member from the set stored at key. Specified members that are not a member of this set are ignored. + + True if the specified member was already present in the set, else False + http://redis.io/commands/srem + + + + Remove the specified members from the set stored at key. Specified members that are not a member of this set are ignored. + + the number of members that were removed from the set, not including non existing members. + http://redis.io/commands/srem + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default); By default, the elements themselves are compared, but the values can also be + used to perform external key-lookups using the by parameter. By default, the elements themselves are returned, but external key-lookups (one or many) can + be performed instead by specifying the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. When used in hashes, by and get + can be used to specify fields using -> notation (again, refer to redis documentation). + + http://redis.io/commands/sort + Returns the number of elements stored in the new list + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default); By default, the elements themselves are compared, but the values can also be + used to perform external key-lookups using the by parameter. By default, the elements themselves are returned, but external key-lookups (one or many) can + be performed instead by specifying the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. When used in hashes, by and get + can be used to specify fields using -> notation (again, refer to redis documentation). + + http://redis.io/commands/sort + Returns the sorted elements, or the external values if get is specified + + + + Adds the specified member with the specified score to the sorted set stored at key. If the specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + True if the value was added, False if it already existed (the score is still updated) + http://redis.io/commands/zadd + + + + Adds the specified member with the specified score to the sorted set stored at key. If the specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + True if the value was added, False if it already existed (the score is still updated) + http://redis.io/commands/zadd + + + + Adds all the specified members with the specified scores to the sorted set stored at key. If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The number of elements added to the sorted sets, not including elements already existing for which the score was updated. + http://redis.io/commands/zadd + + + + Adds all the specified members with the specified scores to the sorted set stored at key. If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The number of elements added to the sorted sets, not including elements already existing for which the score was updated. + http://redis.io/commands/zadd + + + + Computes a set operation over two sorted sets, and stores the result in destination, optionally performing + a specific aggregation (defaults to sum) + + http://redis.io/commands/zunionstore + http://redis.io/commands/zinterstore + the number of elements in the resulting sorted set at destination + + + + Computes a set operation over multiple sorted sets (optionally using per-set weights), and stores the result in destination, optionally performing + a specific aggregation (defaults to sum) + + http://redis.io/commands/zunionstore + http://redis.io/commands/zinterstore + the number of elements in the resulting sorted set at destination + + + + Decrements the score of member in the sorted set stored at key by decrement. If member does not exist in the sorted set, it is added with -decrement as its score (as if its previous score was 0.0). + + the new score of member + http://redis.io/commands/zincrby + + + + Increments the score of member in the sorted set stored at key by increment. If member does not exist in the sorted set, it is added with increment as its score (as if its previous score was 0.0). + + the new score of member + http://redis.io/commands/zincrby + + + + Returns the sorted set cardinality (number of elements) of the sorted set stored at key. + + the cardinality (number of elements) of the sorted set, or 0 if key does not exist. + http://redis.io/commands/zcard + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns the number of elements in the sorted set at key with a value between min and max. + + the number of elements in the specified score range. + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns all the elements in the sorted set at key with a value between min and max. + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + list of elements in the specified range + http://redis.io/commands/zrange + http://redis.io/commands/zrevrange + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + list of elements in the specified range + http://redis.io/commands/zrange + http://redis.io/commands/zrevrange + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. Similar to other range methods the values are inclusive. + + list of elements in the specified score range + http://redis.io/commands/zrangebyscore + http://redis.io/commands/zrevrangebyscore + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. Similar to other range methods the values are inclusive. + + list of elements in the specified score range + http://redis.io/commands/zrangebyscore + http://redis.io/commands/zrevrangebyscore + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns all the elements in the sorted set at key with a value between min and max. + + http://redis.io/commands/zrangebylex + list of elements in the specified score range. + + + + Returns the rank of member in the sorted set stored at key, by default with the scores ordered from low to high. The rank (or index) is 0-based, which means that the member with the lowest score has rank 0. + + If member exists in the sorted set, the rank of member; If member does not exist in the sorted set or key does not exist, null + http://redis.io/commands/zrank + http://redis.io/commands/zrevrank + + + + Removes the specified member from the sorted set stored at key. Non existing members are ignored. + + True if the member existed in the sorted set and was removed; False otherwise. + http://redis.io/commands/zrem + + + + Removes the specified members from the sorted set stored at key. Non existing members are ignored. + + The number of members removed from the sorted set, not including non existing members. + http://redis.io/commands/zrem + + + + Removes all elements in the sorted set stored at key with rank between start and stop. Both start and stop are 0 -based indexes with 0 being the element with the lowest score. These indexes can be negative numbers, where they indicate offsets starting at the element with the highest score. For example: -1 is the element with the highest score, -2 the element with the second highest score and so forth. + + the number of elements removed. + http://redis.io/commands/zremrangebyrank + + + + Removes all elements in the sorted set stored at key with a score between min and max (inclusive by default). + + the number of elements removed. + http://redis.io/commands/zremrangebyscore + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command removes all elements in the sorted set stored at key between the lexicographical range specified by min and max. + + http://redis.io/commands/zremrangebylex + the number of elements removed. + + + + Returns the score of member in the sorted set at key; If member does not exist in the sorted set, or key does not exist, nil is returned. + + the score of member + http://redis.io/commands/zscore + + + + If key already exists and is a string, this command appends the value at the end of the string. If key does not exist it is created and set as an empty string, + so APPEND will be similar to SET in this special case. + + the length of the string after the append operation. + http://redis.io/commands/append + + + + Count the number of set bits (population counting) in a string. + By default all the bytes contained in the string are examined.It is possible to specify the counting operation only in an interval passing the additional arguments start and end. + Like for the GETRANGE command start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The number of bits set to 1 + http://redis.io/commands/bitcount + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator: the second key should be omitted in this case + and only the first key will be considered. + The result of the operation is always stored at destkey. + + The size of the string stored in the destination key, that is equal to the size of the longest input string. + http://redis.io/commands/bitop + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator. + The result of the operation is always stored at destkey. + + The size of the string stored in the destination key, that is equal to the size of the longest input string. + http://redis.io/commands/bitop + + + + Return the position of the first bit set to 1 or 0 in a string. + The position is returned thinking at the string as an array of bits from left to right where the first byte most significant bit is at position 0, the second byte most significant big is at position 8 and so forth. + An start and end may be specified; these are in bytes, not bits; start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The command returns the position of the first bit set to 1 or 0 according to the request. + If we look for set bits(the bit argument is 1) and the string is empty or composed of just zero bytes, -1 is returned. + http://redis.io/commands/bitpos + + + + Decrements the number stored at key by decrement. If the key does not exist, it is set to 0 before performing the operation. An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. This operation is limited to 64 bit signed integers. + + the value of key after the increment + http://redis.io/commands/decrby + http://redis.io/commands/decr + + + + Decrements the string representing a floating point number stored at key by the specified increment. If the key does not exist, it is set to 0 before performing the operation. The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + the value of key after the increment + http://redis.io/commands/incrbyfloat + + + + Get the value of key. If the key does not exist the special value nil is returned. An error is returned if the value stored at key is not a string, because GET only handles string values. + + the value of key, or nil when key does not exist. + http://redis.io/commands/get + + + + Returns the values of all specified keys. For every key that does not hold a string value or does not exist, the special value nil is returned. + + http://redis.io/commands/mget + + + + Returns the bit value at offset in the string value stored at key. + When offset is beyond the string length, the string is assumed to be a contiguous space with 0 bits. + + the bit value stored at offset. + http://redis.io/commands/getbit + + + + Returns the substring of the string value stored at key, determined by the offsets start and end (both are inclusive). Negative offsets can be used in order to provide an offset starting from the end of the string. So -1 means the last character, -2 the penultimate and so forth. + + the substring of the string value stored at key + http://redis.io/commands/getrange + + + + Atomically sets key to value and returns the old value stored at key. + + http://redis.io/commands/getset + the old value stored at key, or nil when key did not exist. + + + + Get the value of key. If the key does not exist the special value nil is returned. An error is returned if the value stored at key is not a string, because GET only handles string values. + + the value of key, or nil when key does not exist. + http://redis.io/commands/get + + + + Increments the number stored at key by increment. If the key does not exist, it is set to 0 before performing the operation. An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. This operation is limited to 64 bit signed integers. + + the value of key after the increment + http://redis.io/commands/incrby + http://redis.io/commands/incr + + + + Increment the string representing a floating point number stored at key by the specified increment. If the key does not exist, it is set to 0 before performing the operation. The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + the value of key after the increment + http://redis.io/commands/incrbyfloat + + + + Returns the length of the string value stored at key. + + the length of the string at key, or 0 when key does not exist. + http://redis.io/commands/strlen + + + + Set key to hold the string value. If key already holds a value, it is overwritten, regardless of its type. + + http://redis.io/commands/set + + + + Sets the given keys to their respective values. If "not exists" is specified, this will not perform any operation at all even if just a single key already exists. + + True if the keys were set, else False + http://redis.io/commands/mset + http://redis.io/commands/msetnx + + + + Sets or clears the bit at offset in the string value stored at key. + The bit is either set or cleared depending on value, which can be either 0 or 1. When key does not exist, a new string value is created.The string is grown to make sure it can hold a bit at offset. + + the original bit value stored at offset. + http://redis.io/commands/setbit + + + + Overwrites part of the string stored at key, starting at the specified offset, for the entire length of value. If the offset is larger than the current length of the string at key, the string is padded with zero-bytes to make offset fit. Non-existing keys are considered as empty strings, so this command will make sure it holds a string large enough to be able to set value at offset. + + the length of the string after it was modified by the command. + http://redis.io/commands/setrange + + + + Describes a value/expiry pair + + + + + The expiry of this record + + + + + The value of this record + + + + + Describes internal errors (mainly intended for debugging) + + + + + Gets the connection-type of the failing connection + + + + + Gets the failing server-endpoint (this can be null) + + + + + Gets the exception if available (this can be null) + + + + + The underlying origin of the error + + + + + If an IProfiledCommand is a retransmission of a previous command, this enum + is used to indicate what prompted the retransmission. + + This can be used to distinguish between transient causes (moving hashslots, joining nodes, etc.) + and incorrect routing. + + + + + No stated reason + + + + + Issued to investigate which node owns a key + + + + + A node has indicated that it does *not* own the given key + + + + + A profiled command against a redis instance. + + TimeSpans returned by this interface use a high precision timer if possible. + DateTimes returned by this interface are no more precise than DateTime.UtcNow. + + + + + The endpoint this command was sent to. + + + + + The Db this command was sent to. + + + + + The name of this command. + + + + + The CommandFlags the command was submitted with. + + + + + When this command was *created*, will be approximately + when the paired method of StackExchange.Redis was called but + before that method returned. + + Note that the resolution of the returned DateTime is limited by DateTime.UtcNow. + + + + + How long this command waited to be added to the queue of pending + redis commands. A large TimeSpan indicates serious contention for + the pending queue. + + + + + How long this command spent in the pending queue before being sent to redis. + A large TimeSpan can indicate a large number of pending events, large pending events, + or network issues. + + + + + How long before Redis responded to this command and it's response could be handled after it was sent. + A large TimeSpan can indicate a large response body, an overtaxed redis instance, or network issues. + + + + + How long between Redis responding to this command and awaiting consumers being notified. + + + + + How long it took this redis command to be processed, from creation to deserializing the final response. + + Note that this TimeSpan *does not* include time spent awaiting a Task in consumer code. + + + + + If a command has to be resent due to an ASK or MOVED response from redis (in a cluster configuration), + the second sending of the command will have this property set to the original IProfiledCommand. + + This can only be set if redis is configured as a cluster. + + + + + If RetransmissionOf is not null, this property will be set to either Ask or Moved to indicate + what sort of response triggered the retransmission. + + This can be useful for determining the root cause of extra commands. + + + + + Interface for profiling individual commands against an Redis ConnectionMulitplexer. + + + + + Called to provide a context object. + + This method is called before the method which triggers work against redis (such as StringSet(Async)) returns, + and will always be called on the same thread as that method. + + Note that GetContext() may be called even if ConnectionMultiplexer.BeginProfiling() has not been called. + You may return `null` to prevent any tracking of commands. + + + + + Describes retry policy functionality that can be provided to the multiplexer to be used for connection reconnects + + + + + This method is called by the multiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the multiplexer while it was in connecting state + Total time elapsed in milliseconds since the last reconnect retry was made + + + + Common operations available to all redis connections + + + + + This command is often used to test if a connection is still alive, or to measure latency. + + The observed latency. + http://redis.io/commands/ping + + + + Represents a resumable, cursor-based scanning operation + + + + + Returns the cursor that represents the *active* page of results (not the pending/next page of results as returned by SCAN/HSCAN/ZSCAN/SSCAN) + + + + + The page size of the current operation + + + + + The offset into the current page + + + + + Common operations available to all redis connections + + + + + Gets the multiplexer that created this instance + + + + + This command is often used to test if a connection is still alive, or to measure latency. + + The observed latency. + http://redis.io/commands/ping + + + + Wait for a given asynchronous operation to complete (or timeout), reporting which + + + + + Wait for a given asynchronous operation to complete (or timeout) + + + + + Wait for a given asynchronous operation to complete (or timeout) + + + + + Wait for the given asynchronous operations to complete (or timeout) + + + + + Provides configuration controls of a redis server + + + + + Gets the cluster configuration associated with this server, if known + + + + + Gets the address of the connected server + + + + + Gets the features available to the connected server + + + + + Gets whether the connection to the server is active and usable + + + + + Gets whether the connected server is a replica / slave + + + + + Explicitly opt in for slave writes on writable slaves + + + + + Gets the operating mode of the connected server + + + + + Gets the version of the connected server + + + + + The CLIENT KILL command closes a given client connection identified by ip:port. + The ip:port should match a line returned by the CLIENT LIST command. + Due to the single-treaded nature of Redis, it is not possible to kill a client connection while it is executing a command.From the client point of view, the connection can never be closed in the middle of the execution of a command.However, the client will notice the connection has been closed only when the next command is sent (and results in network error). + + http://redis.io/commands/client-kill + + + + The CLIENT KILL command closes a given client connection identified by ip:port. + The ip:port should match a line returned by the CLIENT LIST command. + Due to the single-treaded nature of Redis, it is not possible to kill a client connection while it is executing a command.From the client point of view, the connection can never be closed in the middle of the execution of a command.However, the client will notice the connection has been closed only when the next command is sent (and results in network error). + + http://redis.io/commands/client-kill + + + + The CLIENT KILL command closes multiple connections that match the specified filters + + the number of clients killed. + http://redis.io/commands/client-kill + + + + The CLIENT KILL command closes multiple connections that match the specified filters + + the number of clients killed. + http://redis.io/commands/client-kill + + + + The CLIENT LIST command returns information and statistics about the client connections server in a mostly human readable format. + + http://redis.io/commands/client-list + + + + The CLIENT LIST command returns information and statistics about the client connections server in a mostly human readable format. + + http://redis.io/commands/client-list + + + + Obtains the current CLUSTER NODES output from a cluster server + + + + + Obtains the current CLUSTER NODES output from a cluster server + + + + + Obtains the current raw CLUSTER NODES output from a cluster server + + + + + Obtains the current raw CLUSTER NODES output from a cluster server + + + + + Get all configuration parameters matching the specified pattern. + + All matching configuration parameters. + http://redis.io/commands/config-get + + + + Get all configuration parameters matching the specified pattern. + + All matching configuration parameters. + http://redis.io/commands/config-get + + + + Resets the statistics reported by Redis using the INFO command. + + http://redis.io/commands/config-resetstat + + + + Resets the statistics reported by Redis using the INFO command. + + http://redis.io/commands/config-resetstat + + + + The CONFIG REWRITE command rewrites the redis.conf file the server was started with, applying the minimal changes needed to make it reflecting the configuration currently used by the server, that may be different compared to the original one because of the use of the CONFIG SET command. + + http://redis.io/commands/config-rewrite + + + + The CONFIG REWRITE command rewrites the redis.conf file the server was started with, applying the minimal changes needed to make it reflecting the configuration currently used by the server, that may be different compared to the original one because of the use of the CONFIG SET command. + + http://redis.io/commands/config-rewrite + + + + The CONFIG SET command is used in order to reconfigure the server at runtime without the need to restart Redis. You can change both trivial parameters or switch from one to another persistence option using this command. + + http://redis.io/commands/config-set + + + + The CONFIG SET command is used in order to reconfigure the server at runtime without the need to restart Redis. You can change both trivial parameters or switch from one to another persistence option using this command. + + http://redis.io/commands/config-set + + + + Return the number of keys in the database. + + http://redis.io/commands/dbsize + + + + Return the number of keys in the database. + + http://redis.io/commands/dbsize + + + + Return the same message passed in + + http://redis.io/commands/echo + + + + Return the same message passed in + + http://redis.io/commands/echo + + + + Delete all the keys of all databases on the server. + + http://redis.io/commands/flushall + + + + Delete all the keys of all databases on the server. + + http://redis.io/commands/flushall + + + + Delete all the keys of the database. + + http://redis.io/commands/flushdb + + + + Delete all the keys of the database. + + http://redis.io/commands/flushdb + + + + Get summary statistics associates with this server + + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + http://redis.io/commands/info + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + http://redis.io/commands/info + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + http://redis.io/commands/info + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + http://redis.io/commands/info + + + + Returns all keys matching pattern; the KEYS or SCAN commands will be used based on the server capabilities. + + Warning: consider KEYS as a command that should only be used in production environments with extreme care. + http://redis.io/commands/keys + http://redis.io/commands/scan + + + + Returns all keys matching pattern; the KEYS or SCAN commands will be used based on the server capabilities; note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor. + + Warning: consider KEYS as a command that should only be used in production environments with extreme care. + http://redis.io/commands/keys + http://redis.io/commands/scan + + + + Return the time of the last DB save executed with success. A client may check if a BGSAVE command succeeded reading the LASTSAVE value, then issuing a BGSAVE command and checking at regular intervals every N seconds if LASTSAVE changed. + + http://redis.io/commands/lastsave + + + + Return the time of the last DB save executed with success. A client may check if a BGSAVE command succeeded reading the LASTSAVE value, then issuing a BGSAVE command and checking at regular intervals every N seconds if LASTSAVE changed. + + http://redis.io/commands/lastsave + + + + Promote the selected node to be master + + + + + Explicitly request the database to persist the current state to disk + + http://redis.io/commands/bgrewriteaof + http://redis.io/commands/bgsave + http://redis.io/commands/save + http://redis.io/topics/persistence + + + + Explicitly request the database to persist the current state to disk + + http://redis.io/commands/bgrewriteaof + http://redis.io/commands/bgsave + http://redis.io/commands/save + http://redis.io/topics/persistence + + + + Inidicates whether the specified script is defined on the server + + + + + Inidicates whether the specified script hash is defined on the server + + + + + Inidicates whether the specified script is defined on the server + + + + + Inidicates whether the specified script hash is defined on the server + + + + + Removes all cached scripts on this server + + + + + Removes all cached scripts on this server + + + + + Explicitly defines a script on the server + + + + + Explicitly defines a script on the server + + + + + Explicitly defines a script on the server + + + + + Explicitly defines a script on the server + + + + Asks the redis server to shutdown, killing all connections. Please FULLY read the notes on the SHUTDOWN command. + http://redis.io/commands/shutdown + + + + The SLAVEOF command can change the replication settings of a slave on the fly. If a Redis server is already acting as slave, specifying a null master will turn off the replication, turning the Redis server into a MASTER. Specifying a non-null master will make the server a slave of another server listening at the specified hostname and port. + + http://redis.io/commands/slaveof + + + + The SLAVEOF command can change the replication settings of a slave on the fly. If a Redis server is already acting as slave, specifying a null master will turn off the replication, turning the Redis server into a MASTER. Specifying a non-null master will make the server a slave of another server listening at the specified hostname and port. + + http://redis.io/commands/slaveof + + + + To read the slow log the SLOWLOG GET command is used, that returns every entry in the slow log. It is possible to return only the N most recent entries passing an additional argument to the command (for instance SLOWLOG GET 10). + + http://redis.io/commands/slowlog + + + + To read the slow log the SLOWLOG GET command is used, that returns every entry in the slow log. It is possible to return only the N most recent entries passing an additional argument to the command (for instance SLOWLOG GET 10). + + http://redis.io/commands/slowlog + + + + You can reset the slow log using the SLOWLOG RESET command. Once deleted the information is lost forever. + + http://redis.io/commands/slowlog + + + + You can reset the slow log using the SLOWLOG RESET command. Once deleted the information is lost forever. + + http://redis.io/commands/slowlog + + + + Lists the currently active channels. An active channel is a Pub/Sub channel with one ore more subscribers (not including clients subscribed to patterns). + + a list of active channels, optionally matching the specified pattern. + http://redis.io/commands/pubsub + + + + Lists the currently active channels. An active channel is a Pub/Sub channel with one ore more subscribers (not including clients subscribed to patterns). + + a list of active channels, optionally matching the specified pattern. + http://redis.io/commands/pubsub + + + + Returns the number of subscriptions to patterns (that are performed using the PSUBSCRIBE command). Note that this is not just the count of clients subscribed to patterns but the total number of patterns all the clients are subscribed to. + + the number of patterns all the clients are subscribed to. + http://redis.io/commands/pubsub + + + + Returns the number of subscriptions to patterns (that are performed using the PSUBSCRIBE command). Note that this is not just the count of clients subscribed to patterns but the total number of patterns all the clients are subscribed to. + + the number of patterns all the clients are subscribed to. + http://redis.io/commands/pubsub + + + + Returns the number of subscribers (not counting clients subscribed to patterns) for the specified channel. + + http://redis.io/commands/pubsub + + + + Returns the number of subscribers (not counting clients subscribed to patterns) for the specified channel. + + http://redis.io/commands/pubsub + + + + The TIME command returns the current server time. + + The server's current time. + http://redis.io/commands/time + + + + The TIME command returns the current server time. + + The server's current time. + http://redis.io/commands/time + + + + Returns the ip and port number of the master with that name. + If a failover is in progress or terminated successfully for this master it returns the address and port of the promoted slave. + + the sentinel service name + + the master ip and port + http://redis.io/topics/sentinel + + + + Returns the ip and port number of the master with that name. + If a failover is in progress or terminated successfully for this master it returns the address and port of the promoted slave. + + the sentinel service name + + the master ip and port + http://redis.io/topics/sentinel + + + + Show the state and info of the specified master. + + the sentinel service name + + the master state as KeyValuePairs + http://redis.io/topics/sentinel + + + + Force a failover as if the master was not reachable, and without asking for agreement to other Sentinels + (however a new version of the configuration will be published so that the other Sentinels will update their configurations). + + the sentinel service name + + the master state as KeyValuePairs + http://redis.io/topics/sentinel + + + + Show a list of monitored masters and their state. + + + an array of master state KeyValuePair arrays + http://redis.io/topics/sentinel + + + + Show a list of monitored masters and their state. + + + an array of master state KeyValuePair arrays + http://redis.io/topics/sentinel + + + + Show a list of slaves for this master, and their state. + + the sentinel service name + + an array of slave state KeyValuePair arrays + http://redis.io/topics/sentinel + + + + Show a list of slaves for this master, and their state. + + the sentinel service name + + an array of slave state KeyValuePair arrays + http://redis.io/topics/sentinel + + + + Force a failover as if the master was not reachable, and without asking for agreement to other Sentinels + (however a new version of the configuration will be published so that the other Sentinels will update their configurations). + + the sentinel service name + + http://redis.io/topics/sentinel + + + + Force a failover as if the master was not reachable, and without asking for agreement to other Sentinels + (however a new version of the configuration will be published so that the other Sentinels will update their configurations). + + the sentinel service name + + http://redis.io/topics/sentinel + + + + A redis connection used as the subscriber in a pub/sub scenario + + + + + Inidicate exactly which redis server we are talking to + + + + + Inidicate exactly which redis server we are talking to + + + + + Indicates whether the instance can communicate with the server; + if a channel is specified, the existing subscription map is queried to + resolve the server responsible for that subscription - otherwise the + server is chosen aribtraily from the masters. + + + + + Posts a message to the given channel. + + the number of clients that received the message. + http://redis.io/commands/publish + + + + Posts a message to the given channel. + + the number of clients that received the message. + http://redis.io/commands/publish + + + + Subscribe to perform some operation when a change to the preferred/active node is broadcast. + + http://redis.io/commands/subscribe + http://redis.io/commands/psubscribe + + + + Subscribe to perform some operation when a change to the preferred/active node is broadcast. + + http://redis.io/commands/subscribe + http://redis.io/commands/psubscribe + + + + Inidicate to which redis server we are actively subscribed for a given channel; returns null if + the channel is not actively subscribed + + + + + Unsubscribe from a specified message channel; note; if no handler is specified, the subscription is cancelled regardless + of the subscribers; if a handler is specified, the subscription is only cancelled if this handler is the + last handler remaining against the channel + + http://redis.io/commands/unsubscribe + http://redis.io/commands/punsubscribe + + + + Unsubscribe all subscriptions on this instance + + http://redis.io/commands/unsubscribe + http://redis.io/commands/punsubscribe + + + + Unsubscribe all subscriptions on this instance + + http://redis.io/commands/unsubscribe + http://redis.io/commands/punsubscribe + + + + Unsubscribe from a specified message channel; note; if no handler is specified, the subscription is cancelled regardless + of the subscribers; if a handler is specified, the subscription is only cancelled if this handler is the + last handler remaining against the channel + + http://redis.io/commands/unsubscribe + http://redis.io/commands/punsubscribe + + + + Represents a group of operations that will be sent to the server as a single unit, + and processed on the server as a single unit. Transactions can also include constraints + (implemented via WATCH), but note that constraint checking involves will (very briefly) + block the connection, since the transaction cannot be correctly committed (EXEC), + aborted (DISCARD) or not applied in the first place (UNWATCH) until the responses from + the constraint checks have arrived. + + http://redis.io/topics/transactions + Note that on a cluster, it may be required that all keys involved in the transaction + (including constraints) are in the same hash-slot + + + + Adds a precondition for this transaction + + + + + Execute the batch operation, sending all queued commands to the server. + + + + + Execute the batch operation, sending all queued commands to the server. + + + + + Provides the extension method to . + + + + + Creates a new instance that provides an isolated key space + of the specified underyling database instance. + + + The underlying database instance that the returned instance shall use. + + + The prefix that defines a key space isolation for the returned database instance. + + + A new instance that invokes the specified underlying + but prepends the specified + to all key paramters and thus forms a logical key space isolation. + + + + The following methods are not supported in a key space isolated database and + will throw an when invoked: + + + + + + + Please notice that keys passed to a script are prefixed (as normal) but care must + be taken when a script returns the name of a key as that will (currently) not be + "unprefixed". + + + + + + Represents a retry policy that performs retries at a fixed interval. The retries are performed upto a maximum allowed time. + + + + + Initializes a new instance using the specified maximum retry elapsed time allowed. + + maximum elapsed time in milliseconds to be allowed for it to perform retries + + + + This method is called by the ConnectionMultiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the ConnectionMultiplexer while it was in the connecting state + Total elapsed time in milliseconds since the last reconnect retry was made + + + + Represents a Lua script that can be executed on Redis. + + Unlike normal Redis Lua scripts, LuaScript can have named parameters (prefixed by a @). + Public fields and properties of the passed in object are treated as parameters. + + Parameters of type RedisKey are sent to Redis as KEY (http://redis.io/commands/eval) in addition to arguments, + so as to play nicely with Redis Cluster. + + All members of this class are thread safe. + + + + + The original Lua script that was used to create this. + + + + + The Lua script that will actually be sent to Redis for execution. + + All @-prefixed parameter names have been replaced at this point. + + + + + Finalizer, used to prompt cleanups of the script cache when + a LuaScript reference goes out of scope. + + + + + Invalidates the internal cache of LuaScript objects. + Existing LuaScripts will continue to work, but future calls to LuaScript.Prepare + return a new LuaScript instance. + + + + + Returns the number of cached LuaScripts. + + + + + Prepares a Lua script with named parameters to be run against any Redis instance. + + + + + Evaluates this LuaScript against the given database, extracting parameters from the passed in object if any. + + + + + Evaluates this LuaScript against the given database, extracting parameters from the passed in object if any. + + + + + Loads this LuaScript into the given IServer so it can be run with it's SHA1 hash, instead of + passing the full script on each Evaluate or EvaluateAsync call. + + Note: the FireAndForget command flag cannot be set + + + + + Loads this LuaScript into the given IServer so it can be run with it's SHA1 hash, instead of + passing the full script on each Evaluate or EvaluateAsync call. + + Note: the FireAndForget command flag cannot be set + + + + + Represents a Lua script that can be executed on Redis. + + Unlike LuaScript, LoadedLuaScript sends the hash of it's ExecutableScript to Redis rather than pass + the whole script on each call. This requires that the script be loaded into Redis before it is used. + + To create a LoadedLuaScript first create a LuaScript via LuaScript.Prepare(string), then + call Load(IServer, CommandFlags) on the returned LuaScript. + + Unlike normal Redis Lua scripts, LoadedLuaScript can have named parameters (prefixed by a @). + Public fields and properties of the passed in object are treated as parameters. + + Parameters of type RedisKey are sent to Redis as KEY (http://redis.io/commands/eval) in addition to arguments, + so as to play nicely with Redis Cluster. + + All members of this class are thread safe. + + + + + The original script that was used to create this LoadedLuaScript. + + + + + The script that will actually be sent to Redis for execution. + + + + + The SHA1 hash of ExecutableScript. + + This is sent to Redis instead of ExecutableScript during Evaluate and EvaluateAsync calls. + + + + + Evaluates this LoadedLuaScript against the given database, extracting parameters for the passed in object if any. + + This method sends the SHA1 hash of the ExecutableScript instead of the script itself. If the script has not + been loaded into the passed Redis instance it will fail. + + + + + Evaluates this LoadedLuaScript against the given database, extracting parameters for the passed in object if any. + + This method sends the SHA1 hash of the ExecutableScript instead of the script itself. If the script has not + been loaded into the passed Redis instance it will fail. + + + + + Indicates that a command was illegal and was not sent to the server + + + + + Indicates the time allotted for a command or operation has expired. + + + + + status of the command while communicating with Redis + + + + + Indicates a connection fault when communicating with redis + + + + + The type of connection failure + + + + + status of the command while communicating with Redis + + + + + Indicates an issue communicating with redis + + + + + Deserialization constructor; not intended for general usage + + + + + Indicates an exception raised by a redis server + + + + + Things with the potential to cause harm, or to reveal configuration information + + + + + This does a few important things: + 1: it suppresses error events for commands that the user isn't interested in + (i.e. "why does my standalone server keep saying ERR unknown command 'cluster' ?") + 2: it allows the initial PING and GET (during connect) to get queued rather + than be rejected as no-server-available (note that this doesn't apply to + handshake messages, as they bypass the queue completely) + 3: it disables non-pref logging, as it is usually server-targeted + + + + + Checks both high-pri and regular queues to see if the next item is a PING, and if so: dequeues it and returns it + + + + + Additional options for the MIGRATE command + + + + + No options specified + + + + + Do not remove the key from the local instance. + + + + + Replace existing key on the remote instance. + + + + + The direction in which to sequence elements + + + + + Ordered from low values to high values + + + + + Ordered from high values to low values + + + + + This writes a message **directly** to the output stream; note + that this ignores the queue, so should only be used *either* + from the regular dequeue loop, *or* from the "I've just + connected" handshake (when there is no dequeue loop) - otherwise, + you can pretty much assume you're going to destroy the stream + + + + + Big ol' wrapper around most of the profiling storage logic, 'cause it got too big to just live in ConnectionMultiplexer. + + + + + Necessary, because WeakReference can't be readily comparable (since the reference is... weak). + + This lets us detect leaks* with some reasonable confidence, and cleanup periodically. + + Some calisthenics are done to avoid allocating WeakReferences for no reason, as often + we're just looking up ProfileStorage. + + * Somebody starts profiling, but for whatever reason never *stops* with a context object + + + + + Suitable for use as a key into something. + + This instance **WILL NOT** keep forObj alive, so it can + be copied out of the calling method's scope. + + + + + Only suitable for looking up. + + This instance **ABSOLUTELY WILL** keep forObj alive, so this + had better not be copied into anything outside the scope of the + calling method. + + + + + Registers the passed context with a collection that can be retried with subsequent calls to TryGetValue. + + Returns false if the passed context object is already registered. + + + + + Returns true and sets val to the tracking collection associated with the given context if the context + was registered with TryCreate. + + Otherwise returns false and sets val to null. + + + + + Removes a context, setting all commands to a (non-thread safe) enumerable of + all the commands attached to that context. + + If the context was never registered, will return false and set commands to null. + + Subsequent calls to TryRemove with the same context will return false unless it is + re-registered with TryCreate. + + + + + If enough time has passed (1 minute) since the last call, this does walk of all contexts + and removes those that the GC has collected. + + + + + Represents a pub/sub channel name + + + + + Create a new redis channel from a buffer, explicitly controlling the pattern mode + + + + + Create a new redis channel from a string, explicitly controlling the pattern mode + + + + + Indicates whether the channel-name is either null or a zero-length value + + + + + Indicate whether two channel names are not equal + + + + + Indicate whether two channel names are not equal + + + + + Indicate whether two channel names are not equal + + + + + Indicate whether two channel names are not equal + + + + + Indicate whether two channel names are not equal + + + + + Indicate whether two channel names are equal + + + + + Indicate whether two channel names are equal + + + + + Indicate whether two channel names are equal + + + + + Indicate whether two channel names are equal + + + + + Indicate whether two channel names are equal + + + + + See Object.Equals + + + + + Indicate whether two channel names are equal + + + + + See Object.GetHashCode + + + + + Obtains a string representation of the channel name + + + + + The matching pattern for this channel + + + + + Will be treated as a pattern if it includes * + + + + + Never a pattern + + + + + Always a pattern + + + + + Create a channel name from a String + + + + + Create a channel name from a Byte[] + + + + + Obtain the channel name as a Byte[] + + + + + Obtain the channel name as a String + + + + + Notification of errors from the redis server + + + + + The origin of the message + + + + + The message from the server + + + + + Provides basic information about the features available on a particular version of Redis + + + + + Create a new RedisFeatures instance for the given version + + + + + Does BITOP / BITCOUNT exist? + + + + + Is CLIENT SETNAME available? + + + + + Does EXEC support EXECABORT if there are errors? + + + + + Can EXPIRE be used to set expiration on a key that is already volatile (i.e. has an expiration)? + + + + + Does HDEL support varadic usage? + + + + + Does INCRBYFLOAT / HINCRBYFLOAT exist? + + + + + Does INFO support sections? + + + + + Is LINSERT available? + + + + + Indicates whether PEXPIRE and PTTL are supported + + + + + Does SRANDMEMBER support "count"? + + + + + Is the PERSIST operation supported? + + + + + Is RPUSHX and LPUSHX available? + + + + + Are cursor-based scans available? + + + + + Does EVAL / EVALSHA / etc exist? + + + + + Does SET have the EX|PX|NX|XX extensions? + + + + + Does SADD support varadic usage? + + + + + Is STRLEN available? + + + + + Is SETRANGE available? + + + + + Does TIME exist? + + + + + Are Lua changes to the calling database transparent to the calling client? + + + + + Is PFCOUNT supported on slaves? + + + + + Are the GEO commands available? + + + + + The Redis version of the server + + + + + Create a string representation of the available features + + + + + Represents a key that can be stored in redis + + + + + Indicate whether two keys are not equal + + + + + Indicate whether two keys are not equal + + + + + Indicate whether two keys are not equal + + + + + Indicate whether two keys are not equal + + + + + Indicate whether two keys are not equal + + + + + Indicate whether two keys are equal + + + + + Indicate whether two keys are equal + + + + + Indicate whether two keys are equal + + + + + Indicate whether two keys are equal + + + + + Indicate whether two keys are equal + + + + + See Object.Equals + + + + + Indicate whether two keys are equal + + + + + See Object.GetHashCode + + + + + Obtains a string representation of the key + + + + + Create a key from a String + + + + + Create a key from a Byte[] + + + + + Obtain the key as a Byte[] + + + + + Obtain the key as a String + + + + + Concatenate two keys + + + + + Prepends p to this RedisKey, returning a new RedisKey. + + Avoids some allocations if possible, repeated Prepend/Appends make + it less possible. + + + + + Appends p to this RedisKey, returning a new RedisKey. + + Avoids some allocations if possible, repeated Prepend/Appends make + it less possible. + + + + + Represents a general-purpose result from redis, that may be cast into various anticipated types + + + + + Create a new RedisResult. + + + + + + Indicates whether this result was a null result + + + + + Interprets the result as a String + + + + + Interprets the result as a Byte[] + + + + + Interprets the result as a Double + + + + + Interprets the result as an Int64 + + + + + Interprets the result as an Int32 + + + + + Interprets the result as a Boolean + + + + + Interprets the result as a RedisValue + + + + + Interprets the result as a RedisKey + + + + + Interprets the result as a Nullable Double + + + + + Interprets the result as a Nullable Int64 + + + + + Interprets the result as a Nullable Int32 + + + + + Interprets the result as a Nullable Boolean + + + + + Interprets the result as an array of String + + + + + Interprets the result as an array of Byte[] + + + + + Interprets the result as an array of Double + + + + + Interprets the result as an array of Int64 + + + + + Interprets the result as an array of Int32 + + + + + Interprets the result as an array of Boolean + + + + + Interprets the result as an array of RedisValue + + + + + Interprets the result as an array of RedisKey + + + + + Interprets the result as an array of RedisResult + + + + + The intrinsinc data-types supported by redis + + http://redis.io/topics/data-types + + + + The specified key does not exist + + + + + Strings are the most basic kind of Redis value. Redis Strings are binary safe, this means that a Redis string can contain any kind of data, for instance a JPEG image or a serialized Ruby object. + A String value can be at max 512 Megabytes in length. + + http://redis.io/commands#string + + + + Redis Lists are simply lists of strings, sorted by insertion order. It is possible to add elements to a Redis List pushing new elements on the head (on the left) or on the tail (on the right) of the list. + + http://redis.io/commands#list + + + + Redis Sets are an unordered collection of Strings. It is possible to add, remove, and test for existence of members in O(1) (constant time regardless of the number of elements contained inside the Set). + Redis Sets have the desirable property of not allowing repeated members. Adding the same element multiple times will result in a set having a single copy of this element. Practically speaking this means that adding a member does not require a check if exists then add operation. + + http://redis.io/commands#set + + + + Redis Sorted Sets are, similarly to Redis Sets, non repeating collections of Strings. The difference is that every member of a Sorted Set is associated with score, that is used in order to take the sorted set ordered, from the smallest to the greatest score. While members are unique, scores may be repeated. + + http://redis.io/commands#sorted_set + + + + Redis Hashes are maps between string fields and string values, so they are the perfect data type to represent objects (eg: A User with a number of fields like name, surname, age, and so forth) + + http://redis.io/commands#hash + + + + The data-type was not recognised by the client library + + + + + Represents values that can be stored in redis + + + + + Represents the string "" + + + + + A null value + + + + + Indicates whether the value is a primitive integer + + + + + Indicates whether the value should be considered a null value + + + + + Indicates whether the value is either null or a zero-length value + + + + + Indicates whether the value is greater than zero-length + + + + + Indicates whether two RedisValue values are equivalent + + + + + Indicates whether two RedisValue values are equivalent + + + + + See Object.Equals() + + + + + Indicates whether two RedisValue values are equivalent + + + + + See Object.GetHashCode() + + + + + Returns a string representation of the value + + + + + Compare against a RedisValue for relative order + + + + + Creates a new RedisValue from an Int32 + + + + + Creates a new RedisValue from a nullable Int32 + + + + + Creates a new RedisValue from an Int64 + + + + + Creates a new RedisValue from a nullable Int64 + + + + + Creates a new RedisValue from a Double + + + + + Creates a new RedisValue from a nullable Double + + + + + Creates a new RedisValue from a String + + + + + Creates a new RedisValue from a Byte[] + + + + + Creates a new RedisValue from a Boolean + + + + + Creates a new RedisValue from a nullable Boolean + + + + + Converts the value to a Boolean + + + + + Converts the value to an Int32 + + + + + Converts the value to an Int64 + + + + + Converts the value to a Double + + + + + Converts the value to a nullable Double + + + + + Converts the value to a nullable Int64 + + + + + Converts the value to a nullable Int32 + + + + + Converts the value to a nullable Boolean + + + + + Converts the value to a String + + + + + Converts the value to a byte[] + + + + + Convert to a long if possible, returning true. + + Returns false otherwise. + + + + + Convert to a int if possible, returning true. + + Returns false otherwise. + + + + + Convert to a double if possible, returning true. + + Returns false otherwise. + + + + + Additional operations to perform when making a server a master + + + + + No additional operations + + + + + Set the tie-breaker key on all available masters, to specify this server + + + + + Broadcast to the pub-sub channel to listening clients to reconfigure themselves + + + + + Issue a SLAVEOF to all other known nodes, making this this master of all + + + + + All additional operations + + + + + The type of save operation to perform + + + + + Instruct Redis to start an Append Only File rewrite process. The rewrite will create a small optimized version of the current Append Only File. + + http://redis.io/commands/bgrewriteaof + + + + Save the DB in background. The OK code is immediately returned. Redis forks, the parent continues to serve the clients, the child saves the DB on disk then exits. A client my be able to check if the operation succeeded using the LASTSAVE command. + + http://redis.io/commands/bgsave + + + + Save the DB in foreground. This is almost never a good thing to do, and could cause significant blocking. Only do this if you know you need to save + + http://redis.io/commands/save + + + + Turns a script with @namedParameters into a LuaScript that can be executed + against a given IDatabase(Async) object + + + + + Determines whether or not the given type can be used to provide parameters for the given LuaScript. + + + + + Creates a Func that extracts parameters from the given type for use by a LuaScript. + + Members that are RedisKey's get extracted to be passed in as keys to redis; all members that + appear in the script get extracted as RedisValue arguments to be sent up as args. + + We send all values as arguments so we don't have to prepare the same script for different parameter + types. + + The created Func takes a RedisKey, which will be prefixed to all keys (and arguments of type RedisKey) for + keyspace isolation. + + + + + Illustrates the queues associates with this server + + + + + The endpoint to which this data relates (this can be null if the data represents all servers) + + + + + Counters associated with the interactive (non pub-sub) connection + + + + + Counters associated with other ambient activity + + + + + Counters associated with the subscription (pub-sub) connection + + + + + Indicates the total number of outstanding items against this server + + + + + See Object.ToString(); + + + + + Computes the hash-slot that would be used by the given key + + + + + Indicates the flavor of a particular redis server + + + + + Classic redis-server server + + + + + Monitoring/configuration redis-sentinel server + + + + + Distributed redis-cluster server + + + + + Distributed redis installation via twemproxy + + + + + Describes an algebraic set operation that can be performed to combine multiple sets + + + + + Returns the members of the set resulting from the union of all the given sets. + + + + + Returns the members of the set resulting from the intersection of all the given sets. + + + + + Returns the members of the set resulting from the difference between the first set and all the successive sets. + + + + + Defines the persistence behaviour of the server during shutdown + + + + + The data is persisted if save points are configured + + + + + The data is NOT persisted even if save points are configured + + + + + The data is persisted even if save points are NOT configured + + + + + Allows callbacks from SocketManager as work is discovered + + + + + Indicates that a socket has connected + + + + + Indicates that the socket has signalled an error condition + + + + + Indicates that data is available on the socket, and that the consumer should read synchronously from the socket while there is data + + + + + Indicates that we cannot know whether data is available, and that the consume should commence reading asynchronously + + + + + A SocketManager monitors multiple sockets for availability of data; this is done using + the Socket.Select API and a dedicated reader-thread, which allows for fast responses + even when the system is under ambient load. + + + + + Creates a new (optionally named) SocketManager instance + + + + + Creates a new SocketManager instance + + + + + Gets the name of this SocketManager instance + + + + + Releases all resources associated with this instance + + + + + Describes a sorted-set element with the corresponding value + + + + + Initializes a SortedSetEntry value + + + + + The unique element stored in the sorted set + + + + + The score against the element + + + + + The score against the element + + + + + The unique element stored in the sorted set + + + + + Converts to a key/value pair + + + + + Converts from a key/value pair + + + + + See Object.ToString() + + + + + See Object.GetHashCode() + + + + + Compares two values for equality + + + + + Compares two values for equality + + + + + Compares two values by score + + + + + Compares two values by score + + + + + Compares two values for equality + + + + + Compares two values for non-equality + + + + + Specifies how to compare elements for sorting + + + + + Elements are interpreted as a double-precision floating point number and sorted numerically + + + + + Elements are sorted using their alphabetic form (Redis is UTF-8 aware as long as the !LC_COLLATE environment variable is set at the server) + + + + + We want to prevent callers hijacking the reader thread; this is a bit nasty, but works; + see http://stackoverflow.com/a/22588431/23354 for more information; a huge + thanks to Eli Arbel for spotting this (even though it is pure evil; it is *my kind of evil*) + + + + + Indicates whether the specified task will not hijack threads when results are set + + + + + Create a new TaskCompletion source + + + + + Create a new TaskCompletionSource that will not allow result-setting threads to be hijacked + + + + + Indicates when this operation should be performed (only some variations are legal in a given context) + + + + + The operation should occur whether or not there is an existing value + + + + + The operation should only occur when there is an existing value + + + + + The operation should only occur when there is not an existing value + + + + diff --git a/PROJ-ETS/packages/StackExchange.Redis.1.2.4/lib/net46/StackExchange.Redis.dll b/PROJ-ETS/packages/StackExchange.Redis.1.2.4/lib/net46/StackExchange.Redis.dll new file mode 100644 index 0000000000000000000000000000000000000000..678c4abfbdfe040de85ff442de226ad26fb80ed9 GIT binary patch literal 424448 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�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 + Specifies how elements should be aggregated when combining sorted sets + + + + + The values of the combined elements are added + + + + + The least value of the combined elements is used + + + + + The greatest value of the combined elements is used + + + + + Bitwise operators + + + + + And + + + + + Or + + + + + Xor + + + + + Not + + + + + The client flags can be a combination of: + O: the client is a slave in MONITOR mode + S: the client is a normal slave server + M: the client is a master + x: the client is in a MULTI/EXEC context + b: the client is waiting in a blocking operation + i: the client is waiting for a VM I/O (deprecated) + d: a watched keys has been modified - EXEC will fail + c: connection to be closed after writing entire reply + u: the client is unblocked + A: connection to be closed ASAP + N: no specific flag set + + + + + no specific flag set + + + + + the client is a slave in MONITOR mode + + + + + the client is a normal slave server + + + + + the client is a master + + + + + the client is in a MULTI/EXEC context + + + + + the client is waiting in a blocking operation + + + + + a watched keys has been modified - EXEC will fail + + + + + connection to be closed after writing entire reply + + + + + the client is unblocked + + + + + connection to be closed ASAP + + + + + Represents the state of an individual client connection to redis + + + + + Address (host and port) of the client + + + + + total duration of the connection in seconds + + + + + current database ID + + + + + The flags associated with this connection + + + + + The client flags can be a combination of: + O: the client is a slave in MONITOR mode + S: the client is a normal slave server + M: the client is a master + x: the client is in a MULTI/EXEC context + b: the client is waiting in a blocking operation + i: the client is waiting for a VM I/O (deprecated) + d: a watched keys has been modified - EXEC will fail + c: connection to be closed after writing entire reply + u: the client is unblocked + A: connection to be closed ASAP + N: no specific flag set + + + + + The host of the client (typically an IP address) + + + + + idle time of the connection in seconds + + + + + last command played + + + + + The name allocated to this connection, if any + + + + + number of pattern matching subscriptions + + + + + The port of the client + + + + + The raw content from redis + + + + + number of channel subscriptions + + + + + number of commands in a MULTI/EXEC context + + + + + an unique 64-bit client ID (introduced in Redis 2.8.12). + + + + + Format the object as a string + + + + + The class of the connection + + + + + The class of the connection + + + + + Regular connections, including MONITOR connections + + + + + Replication connections + + + + + Subscription connections + + + + + Indicates a range of slots served by a cluster node + + + + + Create a new SlotRange value + + + + + The start of the range (inclusive) + + + + + The end of the range (inclusive) + + + + + Indicates whether two ranges are not equal + + + + + Indicates whether two ranges are equal + + + + + Try to parse a string as a range + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + + + + See Object.Equals + + + + + Indicates whether two ranges are equal + + + + + See Object.GetHashCode() + + + + + See Object.ToString() + + + + + Describes the state of the cluster as reported by a single node + + + + + Gets all nodes contained in the configuration + + + + + + The node that was asked for the configuration + + + + + Obtain the node relating to a specified endpoint + + + + + Gets the node that serves the specified slot + + + + + Gets the node that serves the specified slot + + + + + Represents the configuration of a single node in a cluster configuration + + + + + Gets all child nodes of the current node + + + + + Gets the endpoint of the current node + + + + + Gets whether this is the node which responded to the CLUSTER NODES request + + + + + Gets whether this node is a slave + + + + + Gets whether this node is flagged as noaddr + + + + + Gets the node's connection status + + + + + Gets the unique node-id of the current node + + + + + Gets the parent node of the current node + + + + + Gets the unique node-id of the parent of the current node + + + + + The configuration as reported by the server + + + + + The slots owned by this server + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + + + + See Object.Equals + + + + + Indicates whether two ClusterNode instances are equivalent + + + + + See object.GetHashCode() + + + + + See Object.ToString() + + + + + Behaviour markers associated with a given command + + + + + Default behaviour. + + + + + This command may jump regular-priority commands that have not yet been written to the redis stream. + + + + + The caller is not interested in the result; the caller will immediately receive a default-value + of the expected return type (this value is not indicative of anything at the server). + + + + + This operation should be performed on the master if it is available, but read operations may + be performed on a slave if no master is available. This is the default option. + + + + + This operation should only be performed on the master. + + + + + This operation should be performed on the slave if it is available, but will be performed on + a master if no slaves are available. Suitable for read operations only. + + + + + This operation should only be performed on a slave. Suitable for read operations only. + + + + + Indicates that this operation should not be forwarded to other servers as a result of an ASK or MOVED response + + + + + Indicates that script-related operations should use EVAL, not SCRIPT LOAD + EVALSHA + + + + + Represents the commands mapped on a particular configuration + + + + + The default commands specified by redis + + + + + The commands available to https://github.com/twitter/twemproxy + + https://github.com/twitter/twemproxy/blob/master/notes/redis.md + + + + The commands available to http://www.ideawu.com/ssdb/ + + http://www.ideawu.com/ssdb/docs/redis-to-ssdb.html + + + + The commands available to http://redis.io/topics/sentinel + + http://redis.io/topics/sentinel + + + + Create a new CommandMap, customizing some commands + + + + + Creates a CommandMap by specifying which commands are available or unavailable + + + + + See Object.ToString() + + + + + track status of a command while communicating with Redis + + + + + command status unknown + + + + + ConnectionMultiplexer has not yet started writing this command to redis + + + + + command has been sent to Redis + + + + + Represents the information known about long-running commands + + + + + The array composing the arguments of the command. + + + + + The amount of time needed for its execution + + + + + The time at which the logged command was processed. + + + + + A unique progressive identifier for every slow log entry. + + The entry's unique ID can be used in order to avoid processing slow log entries multiple times (for instance you may have a script sending you an email alert for every new slow log entry). The ID is never reset in the course of the Redis server execution, only a server restart will reset it. + + + + Deduces a link to the redis documentation about the specified command + + + + + Helper for Array.ConvertAll() as it's missing on .Net Core. + + + + + Converts array of one type to an array of another type. + + Input type + Output type + source + selector + + + + + A collection of IProfiledCommands. + + This is a very light weight data structure, only supporting enumeration. + + While it implements IEnumerable, it there are fewer allocations if one uses + it's explicit GetEnumerator() method. Using `foreach` does this automatically. + + This type is not threadsafe. + + + + + Implements IEnumerator for ProfiledCommandEnumerable. + This implementation is comparable to List.Enumerator and Dictionary.Enumerator, + and is provided to reduce allocations in the common (ie. foreach) case. + + This type is not threadsafe. + + + + + The current element. + + + + + Advances the enumeration, returning true if there is a new element to consume and false + if enumeration is complete. + + + + + Resets the enumeration. + + + + + Disposes the enumeration. + subsequent attempts to enumerate results in undefined behavior. + + + + + Returns an implementor of IEnumerator that, provided it isn't accessed + though an interface, avoids allocations. + + `foreach` will automatically use this method. + + + + + A thread-safe collection tailored to the "always append, with high contention, then enumerate once with no contention" + behavior of our profiling. + + Performs better than ConcurrentBag, which is important since profiling code shouldn't impact timings. + + + + + This method is thread-safe. + + Adds an element to the bag. + + Order is not preserved. + + The element can only be a member of *one* bag. + + + + + This method returns an enumerable view of the bag, and returns it to + an internal pool for reuse by GetOrCreate(). + + It is not thread safe. + + It should only be called once the bag is finished being mutated. + + + + + This returns the ConcurrentProfileStorageCollection to an internal pool for reuse by GetOrCreate(). + + + + + Returns a ConcurrentProfileStorageCollection to use. + + It *may* have allocated a new one, or it may return one that has previously been released. + To return the collection, call EnumerateAndReturnForReuse() + + + + + Describes a pre-condition used in a redis transaction + + + + + Enforces that the given hash-field must have the specified value + + + + + Enforces that the given hash-field must exist + + + + + Enforces that the given hash-field must not have the specified value + + + + + Enforces that the given hash-field must not exist + + + + + Enforces that the given key must exist + + + + + Enforces that the given key must not exist + + + + + Enforces that the given list index must have the specified value + + + + + Enforces that the given list index must exist + + + + + Enforces that the given list index must not have the specified value + + + + + Enforces that the given list index must not exist + + + + + Enforces that the given key must have the specified value + + + + + Enforces that the given key must not have the specified value + + + + + Enforces that the given hash length is a certain value + + + + + Enforces that the given hash length is less than a certain value + + + + + Enforces that the given hash length is greater than a certain value + + + + + Enforces that the given string length is a certain value + + + + + Enforces that the given string length is less than a certain value + + + + + Enforces that the given string length is greater than a certain value + + + + + Enforces that the given list length is a certain value + + + + + Enforces that the given list length is less than a certain value + + + + + Enforces that the given list length is greater than a certain value + + + + + Enforces that the given set cardinality is a certain value + + + + + Enforces that the given set cardinality is less than a certain value + + + + + Enforces that the given set cardinality is greater than a certain value + + + + + Enforces that the given sorted set cardinality is a certain value + + + + + Enforces that the given sorted set cardinality is less than a certain value + + + + + Enforces that the given sorted set cardinality is greater than a certain value + + + + + Indicates the status of a condition as part of a transaction + + + + + Indicates whether the condition was satisfied + + + + + Specifies the proxy that is being used to communicate to redis + + + + + Direct communication to the redis server(s) + + + + + Communication via twemproxy + + + + + The options relevant to a set of redis connections + + + + + A LocalCertificateSelectionCallback delegate responsible for selecting the certificate used for authentication; note + that this cannot be specified in the configuration-string. + + + + + A RemoteCertificateValidationCallback delegate responsible for validating the certificate supplied by the remote party; note + that this cannot be specified in the configuration-string. + + + + + Gets or sets whether connect/configuration timeouts should be explicitly notified via a TimeoutException + + + + + Indicates whether admin operations should be allowed + + + + + Indicates whether the connection should be encrypted + + + + + Indicates whether the connection should be encrypted + + + + + Configures which Ssl/TLS protocols should be allowed. If not set, defaults are chosen by the .NET framework. + + + + + Automatically encodes and decodes channels + + + + + The client name to use for all connections + + + + + The number of times to repeat the initial connect cycle if no servers respond promptly + + + + + The command-map associated with this configuration + + + + + Channel to use for broadcasting and listening for configuration change notification + + + + + Specifies the time in milliseconds that should be allowed for connection (defaults to 5 seconds unless SyncTimeout is higher) + + + + + The retry policy to be used for connection reconnects + + + + + The server version to assume + + + + + The endpoints defined for this configuration + + + + + Use ThreadPriority.AboveNormal for SocketManager reader and writer threads (true by default). If false, ThreadPriority.Normal will be used. + + + + + Specifies the time in seconds at which connections should be pinged to ensure validity + + + + + The password to use to authenticate with the server + + + + + Type of proxy to use (if any); for example Proxy.Twemproxy + + + + + Indicates whether endpoints should be resolved via DNS before connecting. + If enabled the ConnectionMultiplexer will not re-resolve DNS + when attempting to re-connect after a connection failure. + + + + + The service name used to resolve a service via sentinel + + + + + Gets or sets the SocketManager instance to be used with these options; if this is null a per-multiplexer + SocketManager is created automatically. + + + + + The target-host to use when validating SSL certificate; setting a value here enables SSL mode + + + + + Specifies the time in milliseconds that the system should allow for synchronous operations (defaults to 1 second) + + + + + Specifies the time in milliseconds that the system should allow for responses before concluding that the socket is unhealthy + (defaults to SyncTimeout) + + + + + Tie-breaker used to choose between masters (must match the endpoint exactly) + + + + + The size of the output buffer to use + + + + + Specifies the default database to be used when calling ConnectionMultiplexer.GetDatabase() without any parameters + + + + + Check configuration every n seconds (every minute by default) + + + + + Parse the configuration from a comma-delimited configuration string + + is null. + is empty. + + + + Parse the configuration from a comma-delimited configuration string + + is null. + is empty. + + + + Create a copy of the configuration + + + + + Resolve the default port for any endpoints that did not have a port explicitly specified + + + + + Returns the effective configuration string for this configuration, including Redis credentials. + + + + + Returns the effective configuration string for this configuration + with the option to include or exclude the password from the string. + + + + + Illustrates the counters associated with an individual connection + + + + + The number of operations that have been completed asynchronously + + + + + The number of operations that have been completed synchronously + + + + + The type of this connection + + + + + The number of operations that failed to complete asynchronously + + + + + Indicates if there are any pending items or failures on this connection + + + + + Indicates the total number of messages despatched to a non-preferred endpoint, for example sent to a master + when the caller stated a preference of slave + + + + + The number of operations performed on this connection + + + + + Operations that have been requested, but which have not yet been sent to the server + + + + + Operations for which the response has been processed, but which are awaiting asynchronous completion + + + + + Operations that have been sent to the server, but which are awaiting a response + + + + + The number of sockets used by this logical connection (total, including reconnects) + + + + + The number of subscriptions (with and without patterns) currently held against this connection + + + + + Indicates the total number of outstanding items against this connection + + + + + Indicates the total number of writers items against this connection + + + + + See Object.ToString() + + + + + Contains information about a server connection failure + + + + + Gets the connection-type of the failing connection + + + + + Gets the failing server-endpoint + + + + + Gets the exception if available (this can be null) + + + + + The type of failure + + + + + The known types of connection failure + + + + + This event is not a failure + + + + + No viable connections were available for this operation + + + + + The socket for this connection failed + + + + + Either SSL Stream or Redis authentication failed + + + + + An unexpected response was received from the server + + + + + An unknown internal error occurred + + + + + The socket was closed + + + + + The socket was closed + + + + + The database is loading and is not available for use + + + + + It has not been possible to create an intial connection to the redis server(s) + + + + + Represents an inter-related group of connections to redis servers + + + + + Provides a way of overriding the default Task Factory. If not set, it will use the default Task.Factory. + Useful when top level code sets it's own factory which may interfere with Redis queries. + + + + + Get summary statistics associates with this server + + + + + Gets the client-name that will be used on all new connections + + + + Tries to get the Roleinstance Id if Microsoft.WindowsAzure.ServiceRuntime is loaded. + In case of any failure, swallows the exception and returns null + + + + Gets the configuration of the connection + + + + + A server replied with an error message; + + + + + Write the configuration of all servers to an output stream + + + + + Used internally to synchronize loggine without depending on locking the log instance + + + + + Raised whenever a physical connection fails + + + + + Raised whenever an internal error occurs (this is primarily for debugging) + + + + + Raised whenever a physical connection is established + + + + + Raised when configuration changes are detected + + + + + Raised when nodes are explicitly requested to reconfigure via broadcast; + this usually means master/slave changes + + + + + Gets the timeout associated with the connections + + + + + Gets all endpoints defined on the server + + + + + + Wait for a given asynchronous operation to complete (or timeout) + + + + + Wait for a given asynchronous operation to complete (or timeout) + + + + + Wait for the given asynchronous operations to complete (or timeout) + + + + + Raised when a hash-slot has been relocated + + + + + Compute the hash-slot of a specified key + + + + + Create a new ConnectionMultiplexer instance + + + + + Create a new ConnectionMultiplexer instance + + + + + Create a new ConnectionMultiplexer instance + + + + + Create a new ConnectionMultiplexer instance + + + + + Obtain a pub/sub subscriber connection to the specified server + + + + + Obtain an interactive connection to a database inside redis + + + + + Obtain a configuration API for an individual server + + + + + Obtain a configuration API for an individual server + + + + + Obtain a configuration API for an individual server + + + + + Obtain a configuration API for an individual server + + + + + The number of operations that have been performed on all connections + + + + + Reconfigure the current connections based on the existing configuration + + + + + Reconfigure the current connections based on the existing configuration + + + + + Provides a text overview of the status of all connections + + + + + Provides a text overview of the status of all connections + + + + + See Object.ToString() + + + + + Gets or sets whether asynchronous operations should be invoked in a way that guarantees their original delivery order + + + + + Indicates whether any servers are connected + + + + + Close all connections and release all resources associated with this object + + + + + Close all connections and release all resources associated with this object + + + + + Release all resources associated with this object + + + + + Should exceptions include identifiable details? (key names, additional .Data annotations) + + + + + Should exceptions include performance counter details? (CPU usage, etc - note that this can be problematic on some platforms) + + + + + Limit at which to start recording unusual busy patterns (only one log will be retained at a time; + set to a negative value to disable this feature) + + + + + Obtains the log of unusual busy patterns + + + + + Resets the log of unusual busy patterns + + + + + Request all compatible clients to reconfigure or reconnect + + The number of instances known to have received the message (however, the actual number can be higher; returns -1 if the operation is pending) + + + + Request all compatible clients to reconfigure or reconnect + + The number of instances known to have received the message (however, the actual number can be higher) + + + + Sets an IProfiler instance for this ConnectionMultiplexer. + + An IProfiler instances is used to determine which context to associate an + IProfiledCommand with. See BeginProfiling(object) and FinishProfiling(object) + for more details. + + + + + Begins profiling for the given context. + + If the same context object is returned by the registered IProfiler, the IProfiledCommands + will be associated with each other. + + Call FinishProfiling with the same context to get the assocated commands. + + Note that forContext cannot be a WeakReference or a WeakReference<T> + + + + + Stops profiling for the given context, returns all IProfiledCommands associated. + + By default this may do a sweep for dead profiling contexts, you can disable this by passing "allowCleanupSweep: false". + + + + + The type of a connection + + + + + Not connection-type related + + + + + An interactive connection handles request/response commands for accessing data on demand + + + + + A subscriber connection recieves unsolicted messages from the server as pub/sub events occur + + + + + Completion type for CompletionTypeHelper + + + + + Retain original completion type (either sync or async) + + + + + Force sync completion + + + + + Force async completion + + + + + A list of endpoints + + + + + Create a new EndPointCollection + + + + + Create a new EndPointCollection + + + + + Format an endpoint + + + + + Attempt to parse a string into an EndPoint + + + + + Adds a new endpoint to the list + + + + + Adds a new endpoint to the list + + + + + Adds a new endpoint to the list + + + + + See Collection<T>.InsertItem() + + + + + See Collection<T>.SetItem() + + + + + Event information related to redis endpoints + + + + + The endpoint involved in this event (this can be null) + + + + + When performing a range query, by default the start / stop limits are inclusive; + however, both can also be specified separately as exclusive + + + + + Both start and stop are inclusive + + + + + Start is exclusive, stop is inclusive + + + + + Start is inclusive, stop is exclusive + + + + + Both start and stop are exclusive + + + + + Represents a retry policy that performs retries, using a randomized exponential back off scheme to determine the interval between retries. + + + + + Initializes a new instance using the specified back off interval with default maxDeltaBackOffMilliseconds of 10 seconds + + time in milliseconds for the back-off interval between retries + + + + Initializes a new instance using the specified back off interval. + + time in milliseconds for the back-off interval between retries + time in milliseconds for the maximum value that the back-off interval can exponentailly grow upto + + + + This method is called by the ConnectionMultiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the ConnectionMultiplexer while it was in the connecting state + Total elapsed time in milliseconds since the last reconnect retry was made + + + + Which settings to export + + + + + No options + + + + + The output of INFO + + + + + The output of CONFIG GET * + + + + + The output of CLIENT LIST + + + + + The output of CLUSTER NODES + + + + + Everything available + + + + + Utility methods + + + + + Create a dictionary from an array of HashEntry values + + + + + Create a dictionary from an array of HashEntry values + + + + + Create a dictionary from an array of SortedSetEntry values + + + + + Create a dictionary from an array of SortedSetEntry values + + + + + Create a dictionary from an array of key/value pairs + + + + + Create a dictionary from an array of key/value pairs + + + + + Create a dictionary from an array of string pairs + + + + + Create an array of strings from an array of values + + + + + GeoRadius command options. + + + + + No Options + + + + + Redis will return the coordinates of any results. + + + + + Redis will return the distance from center for all results. + + + + + Redis will return the geo hash value as an integer. (This is the score in the sorted set) + + + + + Populates the commonly used values from the entry (the integer hash is not returned as it is not commonly useful) + + + + + The result of a GeoRadius command. + + + + + Indicate the member being represented + + + + + The matched member. + + + + + The distance of the matched member from the center of the geo radius command. + + + + + The hash value of the matched member as an integer. (The key in the sorted set) + + Note that this is not the same as the hash returned from GeoHash + + + + The coordinates of the matched member. + + + + + Returns a new GeoRadiusResult + + + + + Describes the longitude and latitude of a GeoEntry + + + + + The Latitude of the GeoPosition + + + + + The Logitude of the GeoPosition + + + + + Creates a new GeoPosition + + + + + + + See Object.ToString() + + + + + See Object.GetHashCode() + Diagonals not an issue in the case of lat/long + + + + + Compares two values for equality + + + + + Compares two values for equality + + + + + Compares two values for equality + + + + + Compares two values for non-equality + + + + + Describes a GeoEntry element with the corresponding value + GeoEntries are stored in redis as SortedSetEntries + + + + + The name of the geo entry + + + + + Describes the longitude and latitude of a GeoEntry + + + + + Initializes a GeoEntry value + + + + + The longitude of the geo entry + + + + + The latitude of the geo entry + + + + + See Object.ToString() + + + + + See Object.GetHashCode() + + + + + Compares two values for equality + + + + + Compares two values for equality + + + + + Compares two values for equality + + + + + Compares two values for non-equality + + + + + Units associated with Geo Commands + + + + + Meters + + + + + Kilometers + + + + + Miles + + + + + Feet + + + + + Describes a hash-field (a name/value pair) + + + + + Initializes a HashEntry value + + + + + The name of the hash field + + + + + The value of the hash field + + + + + The name of the hash field + + + + + Converts to a key/value pair + + + + + Converts from a key/value pair + + + + + See Object.ToString() + + + + + See Object.GetHashCode() + + + + + Compares two values for equality + + + + + Compares two values for equality + + + + + Compares two values for equality + + + + + Compares two values for non-equality + + + + + Contains information about individual hash-slot relocations + + + + + The hash-slot that was relocated + + + + + The old endpoint for this hash-slot (if known) + + + + + The new endpoint for this hash-slot (if known) + + + + + Represents a block of operations that will be sent to the server together; + this can be useful to reduce packet fragmentation on slow connections - it + can improve the time to get *all* the operations processed, with the trade-off + of a slower time to get the *first* operation processed; this is usually + a good thing. Unless this batch is a transaction, there is no guarantee + that these operations will be processed either contiguously or atomically by the server. + + + + + Execute the batch operation, sending all queued commands to the server. + Note that this operation is neither synchronous nor truly asyncronous - it + simply enqueues the buffered messages. To check on completion, you should + check the individual responses. + + + + + Represents the abstract multiplexer API + + + + + Gets the client-name that will be used on all new connections + + + + + Gets the configuration of the connection + + + + + Gets the timeout associated with the connections + + + + + The number of operations that have been performed on all connections + + + + + Gets or sets whether asynchronous operations should be invoked in a way that guarantees their original delivery order + + + + + Indicates whether any servers are connected + + + + + Should exceptions include identifiable details? (key names, additional .Data annotations) + + + + + Limit at which to start recording unusual busy patterns (only one log will be retained at a time; + set to a negative value to disable this feature) + + + + + Sets an IProfiler instance for this ConnectionMultiplexer. + + An IProfiler instances is used to determine which context to associate an + IProfiledCommand with. See BeginProfiling(object) and FinishProfiling(object) + for more details. + + + + + Begins profiling for the given context. + + If the same context object is returned by the registered IProfiler, the IProfiledCommands + will be associated with each other. + + Call FinishProfiling with the same context to get the assocated commands. + + Note that forContext cannot be a WeakReference or a WeakReference<T> + + + + + Stops profiling for the given context, returns all IProfiledCommands associated. + + By default this may do a sweep for dead profiling contexts, you can disable this by passing "allowCleanupSweep: false". + + + + + Get summary statistics associates with this server + + + + + A server replied with an error message; + + + + + Raised whenever a physical connection fails + + + + + Raised whenever an internal error occurs (this is primarily for debugging) + + + + + Raised whenever a physical connection is established + + + + + Raised when configuration changes are detected + + + + + Raised when nodes are explicitly requested to reconfigure via broadcast; + this usually means master/slave changes + + + + + Gets all endpoints defined on the server + + + + + + Wait for a given asynchronous operation to complete (or timeout) + + + + + Wait for a given asynchronous operation to complete (or timeout) + + + + + Wait for the given asynchronous operations to complete (or timeout) + + + + + Raised when a hash-slot has been relocated + + + + + Compute the hash-slot of a specified key + + + + + Obtain a pub/sub subscriber connection to the specified server + + + + + Obtain an interactive connection to a database inside redis + + + + + Obtain a configuration API for an individual server + + + + + Obtain a configuration API for an individual server + + + + + Obtain a configuration API for an individual server + + + + + Obtain a configuration API for an individual server + + + + + Reconfigure the current connections based on the existing configuration + + + + + Reconfigure the current connections based on the existing configuration + + + + + Provides a text overview of the status of all connections + + + + + Provides a text overview of the status of all connections + + + + + See Object.ToString() + + + + + Close all connections and release all resources associated with this object + + + + + Close all connections and release all resources associated with this object + + + + + Release all resources associated with this object + + + + + Obtains the log of unusual busy patterns + + + + + Resets the log of unusual busy patterns + + + + + Request all compatible clients to reconfigure or reconnect + + The number of instances known to have received the message (however, the actual number can be higher; returns -1 if the operation is pending) + + + + Request all compatible clients to reconfigure or reconnect + + The number of instances known to have received the message (however, the actual number can be higher) + + + + Describes functionality that is common to both standalone redis servers and redis clusters + + + + + The numeric identifier of this database + + + + + Allows creation of a group of operations that will be sent to the server as a single unit, + but which may or may not be processed on the server contiguously. + + + + + Atomically transfer a key from a source Redis instance to a destination Redis instance. On success the key is deleted from the original instance by default, and is guaranteed to exist in the target instance. + + http://redis.io/commands/MIGRATE + + + + Allows creation of a group of operations that will be sent to the server as a single unit, + and processed on the server as a single unit. + + + + + Returns the raw DEBUG OBJECT output for a key; this command is not fully documented and should be avoided unless you have good reason, and then avoided anyway. + + http://redis.io/commands/debug-object + + + + Add the specified member to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + True if the specified member was not already present in the set, else False + http://redis.io/commands/geoadd + + + + Add the specified member to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + True if the specified member was not already present in the set, else False + http://redis.io/commands/geoadd + + + + Add the specified members to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + the number of elements that were added to the set, not including all the elements already present into the set. + http://redis.io/commands/geoadd + + + + Removes the specified member from the geo sorted set stored at key. Non existing members are ignored. + + True if the member existed in the sorted set and was removed; False otherwise. + http://redis.io/commands/zrem + + + + Return the distance between two members in the geospatial index represented by the sorted set. + + The command returns the distance as a double (represented as a string) in the specified unit, or NULL if one or both the elements are missing. + http://redis.io/commands/geodist + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + http://redis.io/commands/geohash + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + http://redis.io/commands/geohash + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command.Non existing elements are reported as NULL elements of the array. + http://redis.io/commands/geopos + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command.Non existing elements are reported as NULL elements of the array. + http://redis.io/commands/geopos + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + GeoRadiusResult[] + http://redis.io/commands/georadius + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + GeoRadiusResult[] + http://redis.io/commands/georadius + + + + Decrements the number stored at field in the hash stored at key by decrement. If key does not exist, a new key holding a hash is created. If field does not exist or holds a string that cannot be interpreted as integer, the value is set to 0 before the operation is performed. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + the value at field after the decrement operation. + http://redis.io/commands/hincrby + + + + Decrement the specified field of an hash stored at key, and representing a floating point number, by the specified decrement. If the field does not exist, it is set to 0 before performing the operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + the value at field after the decrement operation. + http://redis.io/commands/hincrbyfloat + + + + Removes the specified fields from the hash stored at key. Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + http://redis.io/commands/hdel + The number of fields that were removed. + + + + Removes the specified fields from the hash stored at key. Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + http://redis.io/commands/hdel + The number of fields that were removed. + + + + Returns if field is an existing field in the hash stored at key. + + 1 if the hash contains field. 0 if the hash does not contain field, or key does not exist. + http://redis.io/commands/hexists + + + + Returns the value associated with field in the hash stored at key. + + the value associated with field, or nil when field is not present in the hash or key does not exist. + http://redis.io/commands/hget + + + + Returns the values associated with the specified fields in the hash stored at key. + For every field that does not exist in the hash, a nil value is returned.Because a non-existing keys are treated as empty hashes, running HMGET against a non-existing key will return a list of nil values. + + list of values associated with the given fields, in the same order as they are requested. + http://redis.io/commands/hmget + + + + Returns all fields and values of the hash stored at key. + + list of fields and their values stored in the hash, or an empty list when key does not exist. + http://redis.io/commands/hgetall + + + + Increments the number stored at field in the hash stored at key by increment. If key does not exist, a new key holding a hash is created. If field does not exist or holds a string that cannot be interpreted as integer, the value is set to 0 before the operation is performed. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + the value at field after the increment operation. + http://redis.io/commands/hincrby + + + + Increment the specified field of an hash stored at key, and representing a floating point number, by the specified increment. If the field does not exist, it is set to 0 before performing the operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + the value at field after the increment operation. + http://redis.io/commands/hincrbyfloat + + + + Returns all field names in the hash stored at key. + + list of fields in the hash, or an empty list when key does not exist. + http://redis.io/commands/hkeys + + + + Returns the number of fields contained in the hash stored at key. + + number of fields in the hash, or 0 when key does not exist. + http://redis.io/commands/hlen + + + + The HSCAN command is used to incrementally iterate over a hash + + yields all elements of the hash. + http://redis.io/commands/hscan + + + + The HSCAN command is used to incrementally iterate over a hash; note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor. + + yields all elements of the hash. + http://redis.io/commands/hscan + + + + Sets the specified fields to their respective values in the hash stored at key. This command overwrites any existing fields in the hash. If key does not exist, a new key holding a hash is created. + + http://redis.io/commands/hmset + + + + Sets field in the hash stored at key to value. If key does not exist, a new key holding a hash is created. If field already exists in the hash, it is overwritten. + + 1 if field is a new field in the hash and value was set. 0 if field already exists in the hash and the value was updated. + http://redis.io/commands/hset + http://redis.io/commands/hsetnx + + + + Returns all values in the hash stored at key. + + list of values in the hash, or an empty list when key does not exist. + http://redis.io/commands/hvals + + + + Adds the element to the HyperLogLog data structure stored at the variable name specified as first argument. + + true if at least 1 HyperLogLog internal register was altered. false otherwise. + http://redis.io/commands/pfadd + + + + Adds all the element arguments to the HyperLogLog data structure stored at the variable name specified as first argument. + + true if at least 1 HyperLogLog internal register was altered. false otherwise. + http://redis.io/commands/pfadd + + + + Returns the approximated cardinality computed by the HyperLogLog data structure stored at the specified variable, or 0 if the variable does not exist. + + The approximated number of unique elements observed via HyperLogLogAdd. + http://redis.io/commands/pfcount + + + + Returns the approximated cardinality of the union of the HyperLogLogs passed, by internally merging the HyperLogLogs stored at the provided keys into a temporary hyperLogLog, or 0 if the variable does not exist. + + The approximated number of unique elements observed via HyperLogLogAdd. + http://redis.io/commands/pfcount + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + http://redis.io/commands/pfmerge + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + http://redis.io/commands/pfmerge + + + + Inidicate exactly which redis server we are talking to + + + + + Removes the specified key. A key is ignored if it does not exist. + + True if the key was removed. + http://redis.io/commands/del + + + + Removes the specified keys. A key is ignored if it does not exist. + + The number of keys that were removed. + http://redis.io/commands/del + + + + Serialize the value stored at key in a Redis-specific format and return it to the user. The returned value can be synthesized back into a Redis key using the RESTORE command. + + the serialized value. + http://redis.io/commands/dump + + + + Returns if key exists. + + 1 if the key exists. 0 if the key does not exist. + http://redis.io/commands/exists + + + + Set a timeout on key. After the timeout has expired, the key will automatically be deleted. A key with an associated timeout is said to be volatile in Redis terminology. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. So, if key already has an associated timeout, it will do nothing and return 0. Since Redis 2.1.3, you can update the timeout of a key. It is also possible to remove the timeout using the PERSIST command. See the page on key expiry for more information. + 1 if the timeout was set. 0 if key does not exist or the timeout could not be set. + http://redis.io/commands/expire + http://redis.io/commands/pexpire + http://redis.io/commands/persist + + + + Set a timeout on key. After the timeout has expired, the key will automatically be deleted. A key with an associated timeout is said to be volatile in Redis terminology. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. So, if key already has an associated timeout, it will do nothing and return 0. Since Redis 2.1.3, you can update the timeout of a key. It is also possible to remove the timeout using the PERSIST command. See the page on key expiry for more information. + 1 if the timeout was set. 0 if key does not exist or the timeout could not be set. + http://redis.io/commands/expireat + http://redis.io/commands/pexpireat + http://redis.io/commands/persist + + + + Move key from the currently selected database (see SELECT) to the specified destination database. When key already exists in the destination database, or it does not exist in the source database, it does nothing. It is possible to use MOVE as a locking primitive because of this. + + 1 if key was moved; 0 if key was not moved. + http://redis.io/commands/move + + + Remove the existing timeout on key, turning the key from volatile (a key with an expire set) to persistent (a key that will never expire as no timeout is associated). + 1 if the timeout was removed. 0 if key does not exist or does not have an associated timeout. + http://redis.io/commands/persist + + + + Return a random key from the currently selected database. + + the random key, or nil when the database is empty. + http://redis.io/commands/randomkey + + + + Renames key to newkey. It returns an error when the source and destination names are the same, or when key does not exist. + + http://redis.io/commands/rename + http://redis.io/commands/renamenx + + + + Create a key associated with a value that is obtained by deserializing the provided serialized value (obtained via DUMP). + If ttl is 0 the key is created without any expire, otherwise the specified expire time(in milliseconds) is set. + + http://redis.io/commands/restore + + + + Returns the remaining time to live of a key that has a timeout. This introspection capability allows a Redis client to check how many seconds a given key will continue to be part of the dataset. + + TTL, or nil when key does not exist or does not have a timeout. + http://redis.io/commands/ttl + + + + Returns the string representation of the type of the value stored at key. The different types that can be returned are: string, list, set, zset and hash. + + type of key, or none when key does not exist. + http://redis.io/commands/type + + + + Returns the element at index index in the list stored at key. The index is zero-based, so 0 means the first element, 1 the second element and so on. Negative indices can be used to designate elements starting at the tail of the list. Here, -1 means the last element, -2 means the penultimate and so forth. + + the requested element, or nil when index is out of range. + http://redis.io/commands/lindex + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + the length of the list after the insert operation, or -1 when the value pivot was not found. + http://redis.io/commands/linsert + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + the length of the list after the insert operation, or -1 when the value pivot was not found. + http://redis.io/commands/linsert + + + + Removes and returns the first element of the list stored at key. + + the value of the first element, or nil when key does not exist. + http://redis.io/commands/lpop + + + + Insert the specified value at the head of the list stored at key. If key does not exist, it is created as empty list before performing the push operations. + + the length of the list after the push operations. + http://redis.io/commands/lpush + http://redis.io/commands/lpushx + + + + Insert all the specified values at the head of the list stored at key. If key does not exist, it is created as empty list before performing the push operations. + Elements are inserted one after the other to the head of the list, from the leftmost element to the rightmost element. So for instance the command LPUSH mylist a b c will result into a list containing c as first element, b as second element and a as third element. + + the length of the list after the push operations. + http://redis.io/commands/lpush + + + + Returns the length of the list stored at key. If key does not exist, it is interpreted as an empty list and 0 is returned. + + the length of the list at key. + http://redis.io/commands/llen + + + + Returns the specified elements of the list stored at key. The offsets start and stop are zero-based indexes, with 0 being the first element of the list (the head of the list), 1 being the next element and so on. + These offsets can also be negative numbers indicating offsets starting at the end of the list.For example, -1 is the last element of the list, -2 the penultimate, and so on. + Note that if you have a list of numbers from 0 to 100, LRANGE list 0 10 will return 11 elements, that is, the rightmost item is included. + + list of elements in the specified range. + http://redis.io/commands/lrange + + + + Removes the first count occurrences of elements equal to value from the list stored at key. The count argument influences the operation in the following ways: + count > 0: Remove elements equal to value moving from head to tail. + count < 0: Remove elements equal to value moving from tail to head. + count = 0: Remove all elements equal to value. + + the number of removed elements. + http://redis.io/commands/lrem + + + + Removes and returns the last element of the list stored at key. + + http://redis.io/commands/rpop + + + + Atomically returns and removes the last element (tail) of the list stored at source, and pushes the element at the first element (head) of the list stored at destination. + + the element being popped and pushed. + http://redis.io/commands/rpoplpush + + + + Insert the specified value at the tail of the list stored at key. If key does not exist, it is created as empty list before performing the push operation. + + the length of the list after the push operation. + http://redis.io/commands/rpush + http://redis.io/commands/rpushx + + + + Insert all the specified values at the tail of the list stored at key. If key does not exist, it is created as empty list before performing the push operation. + Elements are inserted one after the other to the tail of the list, from the leftmost element to the rightmost element. So for instance the command RPUSH mylist a b c will result into a list containing a as first element, b as second element and c as third element. + + the length of the list after the push operation. + http://redis.io/commands/rpush + + + + Sets the list element at index to value. For more information on the index argument, see ListGetByIndex. An error is returned for out of range indexes. + + http://redis.io/commands/lset + + + + Trim an existing list so that it will contain only the specified range of elements specified. Both start and stop are zero-based indexes, where 0 is the first element of the list (the head), 1 the next element and so on. + For example: LTRIM foobar 0 2 will modify the list stored at foobar so that only the first three elements of the list will remain. + start and end can also be negative numbers indicating offsets from the end of the list, where -1 is the last element of the list, -2 the penultimate element and so on. + + http://redis.io/commands/ltrim + + + + Extends a lock, if the token value is correct + + + + + Queries the token held against a lock + + + + + Releases a lock, if the token value is correct + + + + + Takes a lock (specifying a token value) if it is not already taken + + + + + Posts a message to the given channel. + + the number of clients that received the message. + http://redis.io/commands/publish + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API + + A dynamic representation of the command's result + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API + + A dynamic representation of the command's result + + + + Execute a Lua script against the server + + http://redis.io/commands/eval, http://redis.io/commands/evalsha + A dynamic representation of the script's result + + + + Execute a Lua script against the server using just the SHA1 hash + + http://redis.io/commands/evalsha + A dynamic representation of the script's result + + + + Execute a lua script against the server, using previously prepared script. + Named parameters, if any, are provided by the `parameters` object. + + + + + Execute a lua script against the server, using previously prepared and loaded script. + This method sends only the SHA1 hash of the lua script to Redis. + Named parameters, if any, are provided by the `parameters` object. + + + + + Add the specified member to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + True if the specified member was not already present in the set, else False + http://redis.io/commands/sadd + + + + Add the specified members to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + the number of elements that were added to the set, not including all the elements already present into the set. + http://redis.io/commands/sadd + + + + Returns the members of the set resulting from the specified operation against the given sets. + + list with members of the resulting set. + http://redis.io/commands/sunion + http://redis.io/commands/sinter + http://redis.io/commands/sdiff + + + + Returns the members of the set resulting from the specified operation against the given sets. + + list with members of the resulting set. + http://redis.io/commands/sunion + http://redis.io/commands/sinter + http://redis.io/commands/sdiff + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. If destination already exists, it is overwritten. + + the number of elements in the resulting set. + http://redis.io/commands/sunionstore + http://redis.io/commands/sinterstore + http://redis.io/commands/sdiffstore + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. If destination already exists, it is overwritten. + + the number of elements in the resulting set. + http://redis.io/commands/sunionstore + http://redis.io/commands/sinterstore + http://redis.io/commands/sdiffstore + + + + Returns if member is a member of the set stored at key. + + 1 if the element is a member of the set. 0 if the element is not a member of the set, or if key does not exist. + http://redis.io/commands/sismember + + + + Returns the set cardinality (number of elements) of the set stored at key. + + the cardinality (number of elements) of the set, or 0 if key does not exist. + http://redis.io/commands/scard + + + + Returns all the members of the set value stored at key. + + all elements of the set. + http://redis.io/commands/smembers + + + + Move member from the set at source to the set at destination. This operation is atomic. In every given moment the element will appear to be a member of source or destination for other clients. + When the specified element already exists in the destination set, it is only removed from the source set. + + 1 if the element is moved. 0 if the element is not a member of source and no operation was performed. + http://redis.io/commands/smove + + + + Removes and returns a random element from the set value stored at key. + + the removed element, or nil when key does not exist. + http://redis.io/commands/spop + + + + Return a random element from the set value stored at key. + + the randomly selected element, or nil when key does not exist + http://redis.io/commands/srandmember + + + + Return an array of count distinct elements if count is positive. If called with a negative count the behavior changes and the command is allowed to return the same element multiple times. + In this case the numer of returned elements is the absolute value of the specified count. + + an array of elements, or an empty array when key does not exist + http://redis.io/commands/srandmember + + + + Remove the specified member from the set stored at key. Specified members that are not a member of this set are ignored. + + True if the specified member was already present in the set, else False + http://redis.io/commands/srem + + + + Remove the specified members from the set stored at key. Specified members that are not a member of this set are ignored. + + the number of members that were removed from the set, not including non existing members. + http://redis.io/commands/srem + + + + The SSCAN command is used to incrementally iterate over set + + yields all elements of the set. + http://redis.io/commands/sscan + + + + The SSCAN command is used to incrementally iterate over set; note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor. + + yields all elements of the set. + http://redis.io/commands/sscan + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default); By default, the elements themselves are compared, but the values can also be + used to perform external key-lookups using the by parameter. By default, the elements themselves are returned, but external key-lookups (one or many) can + be performed instead by specifying the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. When used in hashes, by and get + can be used to specify fields using -> notation (again, refer to redis documentation). + + http://redis.io/commands/sort + Returns the sorted elements, or the external values if get is specified + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default); By default, the elements themselves are compared, but the values can also be + used to perform external key-lookups using the by parameter. By default, the elements themselves are returned, but external key-lookups (one or many) can + be performed instead by specifying the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. When used in hashes, by and get + can be used to specify fields using -> notation (again, refer to redis documentation). + + http://redis.io/commands/sort + Returns the number of elements stored in the new list + + + + Adds the specified member with the specified score to the sorted set stored at key. If the specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + True if the value was added, False if it already existed (the score is still updated) + http://redis.io/commands/zadd + + + + Adds the specified member with the specified score to the sorted set stored at key. If the specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + True if the value was added, False if it already existed (the score is still updated) + http://redis.io/commands/zadd + + + + Adds all the specified members with the specified scores to the sorted set stored at key. If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The number of elements added to the sorted sets, not including elements already existing for which the score was updated. + http://redis.io/commands/zadd + + + + Adds all the specified members with the specified scores to the sorted set stored at key. If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The number of elements added to the sorted sets, not including elements already existing for which the score was updated. + http://redis.io/commands/zadd + + + + Computes a set operation over two sorted sets, and stores the result in destination, optionally performing + a specific aggregation (defaults to sum) + + http://redis.io/commands/zunionstore + http://redis.io/commands/zinterstore + the number of elements in the resulting sorted set at destination + + + + Computes a set operation over multiple sorted sets (optionally using per-set weights), and stores the result in destination, optionally performing + a specific aggregation (defaults to sum) + + http://redis.io/commands/zunionstore + http://redis.io/commands/zinterstore + the number of elements in the resulting sorted set at destination + + + + Decrements the score of member in the sorted set stored at key by decrement. If member does not exist in the sorted set, it is added with -decrement as its score (as if its previous score was 0.0). + + the new score of member + http://redis.io/commands/zincrby + + + + Increments the score of member in the sorted set stored at key by increment. If member does not exist in the sorted set, it is added with increment as its score (as if its previous score was 0.0). + + the new score of member + http://redis.io/commands/zincrby + + + + Returns the sorted set cardinality (number of elements) of the sorted set stored at key. + + the cardinality (number of elements) of the sorted set, or 0 if key does not exist. + http://redis.io/commands/zcard + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns the number of elements in the sorted set at key with a value between min and max. + + the number of elements in the specified score range. + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns all the elements in the sorted set at key with a value between min and max. + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + list of elements in the specified range + http://redis.io/commands/zrange + http://redis.io/commands/zrevrange + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + list of elements in the specified range + http://redis.io/commands/zrange + http://redis.io/commands/zrevrange + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. Similar to other range methods the values are inclusive. + + list of elements in the specified score range + http://redis.io/commands/zrangebyscore + http://redis.io/commands/zrevrangebyscore + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. Similar to other range methods the values are inclusive. + + list of elements in the specified score range + http://redis.io/commands/zrangebyscore + http://redis.io/commands/zrevrangebyscore + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns all the elements in the sorted set at key with a value between min and max. + + http://redis.io/commands/zrangebylex + list of elements in the specified score range. + + + + Returns the rank of member in the sorted set stored at key, by default with the scores ordered from low to high. The rank (or index) is 0-based, which means that the member with the lowest score has rank 0. + + If member exists in the sorted set, the rank of member; If member does not exist in the sorted set or key does not exist, null + http://redis.io/commands/zrank + http://redis.io/commands/zrevrank + + + + Removes the specified member from the sorted set stored at key. Non existing members are ignored. + + True if the member existed in the sorted set and was removed; False otherwise. + http://redis.io/commands/zrem + + + + Removes the specified members from the sorted set stored at key. Non existing members are ignored. + + The number of members removed from the sorted set, not including non existing members. + http://redis.io/commands/zrem + + + + Removes all elements in the sorted set stored at key with rank between start and stop. Both start and stop are 0 -based indexes with 0 being the element with the lowest score. These indexes can be negative numbers, where they indicate offsets starting at the element with the highest score. For example: -1 is the element with the highest score, -2 the element with the second highest score and so forth. + + the number of elements removed. + http://redis.io/commands/zremrangebyrank + + + + Removes all elements in the sorted set stored at key with a score between min and max (inclusive by default). + + the number of elements removed. + http://redis.io/commands/zremrangebyscore + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command removes all elements in the sorted set stored at key between the lexicographical range specified by min and max. + + http://redis.io/commands/zremrangebylex + the number of elements removed. + + + + The ZSCAN command is used to incrementally iterate over a sorted set + + yields all elements of the sorted set. + http://redis.io/commands/zscan + + + + The ZSCAN command is used to incrementally iterate over a sorted set; note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor. + + yields all elements of the sorted set. + http://redis.io/commands/zscan + + + + Returns the score of member in the sorted set at key; If member does not exist in the sorted set, or key does not exist, nil is returned. + + the score of member + http://redis.io/commands/zscore + + + + If key already exists and is a string, this command appends the value at the end of the string. If key does not exist it is created and set as an empty string, + so APPEND will be similar to SET in this special case. + + the length of the string after the append operation. + http://redis.io/commands/append + + + + Count the number of set bits (population counting) in a string. + By default all the bytes contained in the string are examined.It is possible to specify the counting operation only in an interval passing the additional arguments start and end. + Like for the GETRANGE command start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The number of bits set to 1 + http://redis.io/commands/bitcount + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator: the second key should be omitted in this case + and only the first key will be considered. + The result of the operation is always stored at destkey. + + The size of the string stored in the destination key, that is equal to the size of the longest input string. + http://redis.io/commands/bitop + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator. + The result of the operation is always stored at destkey. + + The size of the string stored in the destination key, that is equal to the size of the longest input string. + http://redis.io/commands/bitop + + + + Return the position of the first bit set to 1 or 0 in a string. + The position is returned thinking at the string as an array of bits from left to right where the first byte most significant bit is at position 0, the second byte most significant bit is at position 8 and so forth. + An start and end may be specified; these are in bytes, not bits; start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The command returns the position of the first bit set to 1 or 0 according to the request. + If we look for set bits(the bit argument is 1) and the string is empty or composed of just zero bytes, -1 is returned. + http://redis.io/commands/bitpos + + + + Decrements the number stored at key by decrement. If the key does not exist, it is set to 0 before performing the operation. + An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. This operation is limited to 64 bit signed integers. + + the value of key after the decrement + http://redis.io/commands/decrby + http://redis.io/commands/decr + + + + Decrements the string representing a floating point number stored at key by the specified decrement. If the key does not exist, it is set to 0 before performing the operation. The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + the value of key after the decrement + http://redis.io/commands/incrbyfloat + + + + Get the value of key. If the key does not exist the special value nil is returned. An error is returned if the value stored at key is not a string, because GET only handles string values. + + the value of key, or nil when key does not exist. + http://redis.io/commands/get + + + + Returns the values of all specified keys. For every key that does not hold a string value or does not exist, the special value nil is returned. + + http://redis.io/commands/mget + + + + Returns the bit value at offset in the string value stored at key. + When offset is beyond the string length, the string is assumed to be a contiguous space with 0 bits. + + the bit value stored at offset. + http://redis.io/commands/getbit + + + + Returns the substring of the string value stored at key, determined by the offsets start and end (both are inclusive). Negative offsets can be used in order to provide an offset starting from the end of the string. So -1 means the last character, -2 the penultimate and so forth. + + the substring of the string value stored at key + http://redis.io/commands/getrange + + + + Atomically sets key to value and returns the old value stored at key. + + http://redis.io/commands/getset + the old value stored at key, or nil when key did not exist. + + + + Get the value of key. If the key does not exist the special value nil is returned. An error is returned if the value stored at key is not a string, because GET only handles string values. + + the value of key, or nil when key does not exist. + http://redis.io/commands/get + + + + Increments the number stored at key by increment. If the key does not exist, it is set to 0 before performing the operation. An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. This operation is limited to 64 bit signed integers. + + the value of key after the increment + http://redis.io/commands/incrby + http://redis.io/commands/incr + + + + Increments the string representing a floating point number stored at key by the specified increment. If the key does not exist, it is set to 0 before performing the operation. The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + the value of key after the increment + http://redis.io/commands/incrbyfloat + + + + Returns the length of the string value stored at key. + + the length of the string at key, or 0 when key does not exist. + http://redis.io/commands/strlen + + + + Set key to hold the string value. If key already holds a value, it is overwritten, regardless of its type. + + http://redis.io/commands/set + + + + Sets the given keys to their respective values. If "not exists" is specified, this will not perform any operation at all even if just a single key already exists. + + True if the keys were set, else False + http://redis.io/commands/mset + http://redis.io/commands/msetnx + + + + Sets or clears the bit at offset in the string value stored at key. + The bit is either set or cleared depending on value, which can be either 0 or 1. When key does not exist, a new string value is created.The string is grown to make sure it can hold a bit at offset. + + the original bit value stored at offset. + http://redis.io/commands/setbit + + + + Overwrites part of the string stored at key, starting at the specified offset, for the entire length of value. If the offset is larger than the current length of the string at key, the string is padded with zero-bytes to make offset fit. Non-existing keys are considered as empty strings, so this command will make sure it holds a string large enough to be able to set value at offset. + + the length of the string after it was modified by the command. + http://redis.io/commands/setrange + + + + Describes functionality that is common to both standalone redis servers and redis clusters + + + + + Returns the raw DEBUG OBJECT output for a key; this command is not fully documented and should be avoided unless you have good reason, and then avoided anyway. + + http://redis.io/commands/debug-object + + + + Add the specified member to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + True if the specified member was not already present in the set, else False + http://redis.io/commands/geoadd + + + + Add the specified member to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + True if the specified member was not already present in the set, else False + http://redis.io/commands/geoadd + + + + Add the specified members to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + the number of elements that were added to the set, not including all the elements already present into the set. + http://redis.io/commands/geoadd + + + + Removes the specified member from the geo sorted set stored at key. Non existing members are ignored. + + True if the member existed in the sorted set and was removed; False otherwise. + http://redis.io/commands/zrem + + + + Return the distance between two members in the geospatial index represented by the sorted set. + + The command returns the distance as a double (represented as a string) in the specified unit, or NULL if one or both the elements are missing. + http://redis.io/commands/geodist + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + http://redis.io/commands/geohash + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + http://redis.io/commands/geohash + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command.Non existing elements are reported as NULL elements of the array. + http://redis.io/commands/geopos + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command.Non existing elements are reported as NULL elements of the array. + http://redis.io/commands/geopos + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + GeoRadiusResult[] + http://redis.io/commands/georadius + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + GeoRadiusResult[] + http://redis.io/commands/georadius + + + + Increments the number stored at field in the hash stored at key by increment. If key does not exist, a new key holding a hash is created. If field does not exist or holds a string that cannot be interpreted as integer, the value is set to 0 before the operation is performed. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + the value at field after the increment operation. + http://redis.io/commands/hincrby + + + + Decrement the specified field of an hash stored at key, and representing a floating point number, by the specified decrement. If the field does not exist, it is set to 0 before performing the operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + the value at field after the decrement operation. + http://redis.io/commands/hincrbyfloat + + + + Removes the specified fields from the hash stored at key. Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + http://redis.io/commands/hdel + The number of fields that were removed. + + + + Removes the specified fields from the hash stored at key. Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + http://redis.io/commands/hdel + The number of fields that were removed. + + + + Returns if field is an existing field in the hash stored at key. + + 1 if the hash contains field. 0 if the hash does not contain field, or key does not exist. + http://redis.io/commands/hexists + + + + Returns all fields and values of the hash stored at key. + + list of fields and their values stored in the hash, or an empty list when key does not exist. + http://redis.io/commands/hgetall + + + + Returns the value associated with field in the hash stored at key. + + the value associated with field, or nil when field is not present in the hash or key does not exist. + http://redis.io/commands/hget + + + + Returns the values associated with the specified fields in the hash stored at key. + For every field that does not exist in the hash, a nil value is returned.Because a non-existing keys are treated as empty hashes, running HMGET against a non-existing key will return a list of nil values. + + list of values associated with the given fields, in the same order as they are requested. + http://redis.io/commands/hmget + + + + Increments the number stored at field in the hash stored at key by increment. If key does not exist, a new key holding a hash is created. If field does not exist or holds a string that cannot be interpreted as integer, the value is set to 0 before the operation is performed. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + the value at field after the increment operation. + http://redis.io/commands/hincrby + + + + Increment the specified field of an hash stored at key, and representing a floating point number, by the specified increment. If the field does not exist, it is set to 0 before performing the operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + the value at field after the increment operation. + http://redis.io/commands/hincrbyfloat + + + + Returns all field names in the hash stored at key. + + list of fields in the hash, or an empty list when key does not exist. + http://redis.io/commands/hkeys + + + + Returns the number of fields contained in the hash stored at key. + + number of fields in the hash, or 0 when key does not exist. + http://redis.io/commands/hlen + + + + Sets the specified fields to their respective values in the hash stored at key. This command overwrites any existing fields in the hash. If key does not exist, a new key holding a hash is created. + + http://redis.io/commands/hmset + + + + Sets field in the hash stored at key to value. If key does not exist, a new key holding a hash is created. If field already exists in the hash, it is overwritten. + + 1 if field is a new field in the hash and value was set. 0 if field already exists in the hash and the value was updated. + http://redis.io/commands/hset + http://redis.io/commands/hsetnx + + + + Returns all values in the hash stored at key. + + list of values in the hash, or an empty list when key does not exist. + http://redis.io/commands/hvals + + + + Adds the element to the HyperLogLog data structure stored at the variable name specified as first argument. + + true if at least 1 HyperLogLog internal register was altered. false otherwise. + http://redis.io/commands/pfadd + + + + Adds all the element arguments to the HyperLogLog data structure stored at the variable name specified as first argument. + + true if at least 1 HyperLogLog internal register was altered. false otherwise. + http://redis.io/commands/pfadd + + + + Returns the approximated cardinality computed by the HyperLogLog data structure stored at the specified variable, or 0 if the variable does not exist. + + The approximated number of unique elements observed via HyperLogLogAdd. + http://redis.io/commands/pfcount + + + + Returns the approximated cardinality of the union of the HyperLogLogs passed, by internally merging the HyperLogLogs stored at the provided keys into a temporary hyperLogLog, or 0 if the variable does not exist. + + The approximated number of unique elements observed via HyperLogLogAdd. + http://redis.io/commands/pfcount + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + http://redis.io/commands/pfmerge + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + http://redis.io/commands/pfmerge + + + + Inidicate exactly which redis server we are talking to + + + + + Indicates whether the instance can communicate with the server (resolved + using the supplied key and optional flags) + + + + + Removes the specified key. A key is ignored if it does not exist. + + True if the key was removed. + http://redis.io/commands/del + + + + Removes the specified keys. A key is ignored if it does not exist. + + The number of keys that were removed. + http://redis.io/commands/del + + + + Serialize the value stored at key in a Redis-specific format and return it to the user. The returned value can be synthesized back into a Redis key using the RESTORE command. + + the serialized value. + http://redis.io/commands/dump + + + + Returns if key exists. + + 1 if the key exists. 0 if the key does not exist. + http://redis.io/commands/exists + + + + Set a timeout on key. After the timeout has expired, the key will automatically be deleted. A key with an associated timeout is said to be volatile in Redis terminology. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. So, if key already has an associated timeout, it will do nothing and return 0. Since Redis 2.1.3, you can update the timeout of a key. It is also possible to remove the timeout using the PERSIST command. See the page on key expiry for more information. + 1 if the timeout was set. 0 if key does not exist or the timeout could not be set. + http://redis.io/commands/expire + http://redis.io/commands/pexpire + http://redis.io/commands/persist + + + + Set a timeout on key. After the timeout has expired, the key will automatically be deleted. A key with an associated timeout is said to be volatile in Redis terminology. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. So, if key already has an associated timeout, it will do nothing and return 0. Since Redis 2.1.3, you can update the timeout of a key. It is also possible to remove the timeout using the PERSIST command. See the page on key expiry for more information. + 1 if the timeout was set. 0 if key does not exist or the timeout could not be set. + http://redis.io/commands/expireat + http://redis.io/commands/pexpireat + http://redis.io/commands/persist + + + + Atomically transfer a key from a source Redis instance to a destination Redis instance. On success the key is deleted from the original instance by default, and is guaranteed to exist in the target instance. + + http://redis.io/commands/MIGRATE + + + + Move key from the currently selected database (see SELECT) to the specified destination database. When key already exists in the destination database, or it does not exist in the source database, it does nothing. It is possible to use MOVE as a locking primitive because of this. + + 1 if key was moved; 0 if key was not moved. + http://redis.io/commands/move + + + Remove the existing timeout on key, turning the key from volatile (a key with an expire set) to persistent (a key that will never expire as no timeout is associated). + 1 if the timeout was removed. 0 if key does not exist or does not have an associated timeout. + http://redis.io/commands/persist + + + + Return a random key from the currently selected database. + + the random key, or nil when the database is empty. + http://redis.io/commands/randomkey + + + + Renames key to newkey. It returns an error when the source and destination names are the same, or when key does not exist. + + http://redis.io/commands/rename + http://redis.io/commands/renamenx + + + + Create a key associated with a value that is obtained by deserializing the provided serialized value (obtained via DUMP). + If ttl is 0 the key is created without any expire, otherwise the specified expire time(in milliseconds) is set. + + http://redis.io/commands/restore + + + + Returns the remaining time to live of a key that has a timeout. This introspection capability allows a Redis client to check how many seconds a given key will continue to be part of the dataset. + + TTL, or nil when key does not exist or does not have a timeout. + http://redis.io/commands/ttl + + + + Returns the string representation of the type of the value stored at key. The different types that can be returned are: string, list, set, zset and hash. + + type of key, or none when key does not exist. + http://redis.io/commands/type + + + + Returns the element at index index in the list stored at key. The index is zero-based, so 0 means the first element, 1 the second element and so on. Negative indices can be used to designate elements starting at the tail of the list. Here, -1 means the last element, -2 means the penultimate and so forth. + + the requested element, or nil when index is out of range. + http://redis.io/commands/lindex + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + the length of the list after the insert operation, or -1 when the value pivot was not found. + http://redis.io/commands/linsert + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + the length of the list after the insert operation, or -1 when the value pivot was not found. + http://redis.io/commands/linsert + + + + Removes and returns the first element of the list stored at key. + + the value of the first element, or nil when key does not exist. + http://redis.io/commands/lpop + + + + Insert the specified value at the head of the list stored at key. If key does not exist, it is created as empty list before performing the push operations. + + the length of the list after the push operations. + http://redis.io/commands/lpush + http://redis.io/commands/lpushx + + + + Insert all the specified values at the head of the list stored at key. If key does not exist, it is created as empty list before performing the push operations. + Elements are inserted one after the other to the head of the list, from the leftmost element to the rightmost element. So for instance the command LPUSH mylist a b c will result into a list containing c as first element, b as second element and a as third element. + + the length of the list after the push operations. + http://redis.io/commands/lpush + + + + Returns the length of the list stored at key. If key does not exist, it is interpreted as an empty list and 0 is returned. + + the length of the list at key. + http://redis.io/commands/llen + + + + Returns the specified elements of the list stored at key. The offsets start and stop are zero-based indexes, with 0 being the first element of the list (the head of the list), 1 being the next element and so on. + These offsets can also be negative numbers indicating offsets starting at the end of the list.For example, -1 is the last element of the list, -2 the penultimate, and so on. + Note that if you have a list of numbers from 0 to 100, LRANGE list 0 10 will return 11 elements, that is, the rightmost item is included. + + list of elements in the specified range. + http://redis.io/commands/lrange + + + + Removes the first count occurrences of elements equal to value from the list stored at key. The count argument influences the operation in the following ways: + count > 0: Remove elements equal to value moving from head to tail. + count < 0: Remove elements equal to value moving from tail to head. + count = 0: Remove all elements equal to value. + + the number of removed elements. + http://redis.io/commands/lrem + + + + Removes and returns the last element of the list stored at key. + + http://redis.io/commands/rpop + + + + Atomically returns and removes the last element (tail) of the list stored at source, and pushes the element at the first element (head) of the list stored at destination. + + the element being popped and pushed. + http://redis.io/commands/rpoplpush + + + + Insert the specified value at the tail of the list stored at key. If key does not exist, it is created as empty list before performing the push operation. + + the length of the list after the push operation. + http://redis.io/commands/rpush + http://redis.io/commands/rpushx + + + + Insert all the specified values at the tail of the list stored at key. If key does not exist, it is created as empty list before performing the push operation. + Elements are inserted one after the other to the tail of the list, from the leftmost element to the rightmost element. So for instance the command RPUSH mylist a b c will result into a list containing a as first element, b as second element and c as third element. + + the length of the list after the push operation. + http://redis.io/commands/rpush + + + + Sets the list element at index to value. For more information on the index argument, see ListGetByIndex. An error is returned for out of range indexes. + + http://redis.io/commands/lset + + + + Trim an existing list so that it will contain only the specified range of elements specified. Both start and stop are zero-based indexes, where 0 is the first element of the list (the head), 1 the next element and so on. + For example: LTRIM foobar 0 2 will modify the list stored at foobar so that only the first three elements of the list will remain. + start and end can also be negative numbers indicating offsets from the end of the list, where -1 is the last element of the list, -2 the penultimate element and so on. + + http://redis.io/commands/ltrim + + + + Extends a lock, if the token value is correct + + + + + Queries the token held against a lock + + + + + Releases a lock, if the token value is correct + + + + + Takes a lock (specifying a token value) if it is not already taken + + + + + Posts a message to the given channel. + + the number of clients that received the message. + http://redis.io/commands/publish + + + + Execute a Lua script against the server + + http://redis.io/commands/eval, http://redis.io/commands/evalsha + A dynamic representation of the script's result + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API + + A dynamic representation of the command's result + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API + + A dynamic representation of the command's result + + + + Execute a Lua script against the server using just the SHA1 hash + + http://redis.io/commands/evalsha + A dynamic representation of the script's result + + + + Execute a lua script against the server, using previously prepared script. + Named parameters, if any, are provided by the `parameters` object. + + + + + Execute a lua script against the server, using previously prepared and loaded script. + This method sends only the SHA1 hash of the lua script to Redis. + Named parameters, if any, are provided by the `parameters` object. + + + + + Add the specified member to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + True if the specified member was not already present in the set, else False + http://redis.io/commands/sadd + + + + Add the specified members to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + the number of elements that were added to the set, not including all the elements already present into the set. + http://redis.io/commands/sadd + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. If destination already exists, it is overwritten. + + the number of elements in the resulting set. + http://redis.io/commands/sunionstore + http://redis.io/commands/sinterstore + http://redis.io/commands/sdiffstore + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. If destination already exists, it is overwritten. + + the number of elements in the resulting set. + http://redis.io/commands/sunionstore + http://redis.io/commands/sinterstore + http://redis.io/commands/sdiffstore + + + + Returns the members of the set resulting from the specified operation against the given sets. + + list with members of the resulting set. + http://redis.io/commands/sunion + http://redis.io/commands/sinter + http://redis.io/commands/sdiff + + + + Returns the members of the set resulting from the specified operation against the given sets. + + list with members of the resulting set. + http://redis.io/commands/sunion + http://redis.io/commands/sinter + http://redis.io/commands/sdiff + + + + Returns if member is a member of the set stored at key. + + 1 if the element is a member of the set. 0 if the element is not a member of the set, or if key does not exist. + http://redis.io/commands/sismember + + + + Returns the set cardinality (number of elements) of the set stored at key. + + the cardinality (number of elements) of the set, or 0 if key does not exist. + http://redis.io/commands/scard + + + + Returns all the members of the set value stored at key. + + all elements of the set. + http://redis.io/commands/smembers + + + + Move member from the set at source to the set at destination. This operation is atomic. In every given moment the element will appear to be a member of source or destination for other clients. + When the specified element already exists in the destination set, it is only removed from the source set. + + 1 if the element is moved. 0 if the element is not a member of source and no operation was performed. + http://redis.io/commands/smove + + + + Removes and returns a random element from the set value stored at key. + + the removed element, or nil when key does not exist. + http://redis.io/commands/spop + + + + Return a random element from the set value stored at key. + + the randomly selected element, or nil when key does not exist + http://redis.io/commands/srandmember + + + + Return an array of count distinct elements if count is positive. If called with a negative count the behavior changes and the command is allowed to return the same element multiple times. + In this case the numer of returned elements is the absolute value of the specified count. + + an array of elements, or an empty array when key does not exist + http://redis.io/commands/srandmember + + + + Remove the specified member from the set stored at key. Specified members that are not a member of this set are ignored. + + True if the specified member was already present in the set, else False + http://redis.io/commands/srem + + + + Remove the specified members from the set stored at key. Specified members that are not a member of this set are ignored. + + the number of members that were removed from the set, not including non existing members. + http://redis.io/commands/srem + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default); By default, the elements themselves are compared, but the values can also be + used to perform external key-lookups using the by parameter. By default, the elements themselves are returned, but external key-lookups (one or many) can + be performed instead by specifying the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. When used in hashes, by and get + can be used to specify fields using -> notation (again, refer to redis documentation). + + http://redis.io/commands/sort + Returns the number of elements stored in the new list + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default); By default, the elements themselves are compared, but the values can also be + used to perform external key-lookups using the by parameter. By default, the elements themselves are returned, but external key-lookups (one or many) can + be performed instead by specifying the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. When used in hashes, by and get + can be used to specify fields using -> notation (again, refer to redis documentation). + + http://redis.io/commands/sort + Returns the sorted elements, or the external values if get is specified + + + + Adds the specified member with the specified score to the sorted set stored at key. If the specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + True if the value was added, False if it already existed (the score is still updated) + http://redis.io/commands/zadd + + + + Adds the specified member with the specified score to the sorted set stored at key. If the specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + True if the value was added, False if it already existed (the score is still updated) + http://redis.io/commands/zadd + + + + Adds all the specified members with the specified scores to the sorted set stored at key. If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The number of elements added to the sorted sets, not including elements already existing for which the score was updated. + http://redis.io/commands/zadd + + + + Adds all the specified members with the specified scores to the sorted set stored at key. If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The number of elements added to the sorted sets, not including elements already existing for which the score was updated. + http://redis.io/commands/zadd + + + + Computes a set operation over two sorted sets, and stores the result in destination, optionally performing + a specific aggregation (defaults to sum) + + http://redis.io/commands/zunionstore + http://redis.io/commands/zinterstore + the number of elements in the resulting sorted set at destination + + + + Computes a set operation over multiple sorted sets (optionally using per-set weights), and stores the result in destination, optionally performing + a specific aggregation (defaults to sum) + + http://redis.io/commands/zunionstore + http://redis.io/commands/zinterstore + the number of elements in the resulting sorted set at destination + + + + Decrements the score of member in the sorted set stored at key by decrement. If member does not exist in the sorted set, it is added with -decrement as its score (as if its previous score was 0.0). + + the new score of member + http://redis.io/commands/zincrby + + + + Increments the score of member in the sorted set stored at key by increment. If member does not exist in the sorted set, it is added with increment as its score (as if its previous score was 0.0). + + the new score of member + http://redis.io/commands/zincrby + + + + Returns the sorted set cardinality (number of elements) of the sorted set stored at key. + + the cardinality (number of elements) of the sorted set, or 0 if key does not exist. + http://redis.io/commands/zcard + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns the number of elements in the sorted set at key with a value between min and max. + + the number of elements in the specified score range. + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns all the elements in the sorted set at key with a value between min and max. + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + list of elements in the specified range + http://redis.io/commands/zrange + http://redis.io/commands/zrevrange + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + list of elements in the specified range + http://redis.io/commands/zrange + http://redis.io/commands/zrevrange + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. Similar to other range methods the values are inclusive. + + list of elements in the specified score range + http://redis.io/commands/zrangebyscore + http://redis.io/commands/zrevrangebyscore + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. Similar to other range methods the values are inclusive. + + list of elements in the specified score range + http://redis.io/commands/zrangebyscore + http://redis.io/commands/zrevrangebyscore + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns all the elements in the sorted set at key with a value between min and max. + + http://redis.io/commands/zrangebylex + list of elements in the specified score range. + + + + Returns the rank of member in the sorted set stored at key, by default with the scores ordered from low to high. The rank (or index) is 0-based, which means that the member with the lowest score has rank 0. + + If member exists in the sorted set, the rank of member; If member does not exist in the sorted set or key does not exist, null + http://redis.io/commands/zrank + http://redis.io/commands/zrevrank + + + + Removes the specified member from the sorted set stored at key. Non existing members are ignored. + + True if the member existed in the sorted set and was removed; False otherwise. + http://redis.io/commands/zrem + + + + Removes the specified members from the sorted set stored at key. Non existing members are ignored. + + The number of members removed from the sorted set, not including non existing members. + http://redis.io/commands/zrem + + + + Removes all elements in the sorted set stored at key with rank between start and stop. Both start and stop are 0 -based indexes with 0 being the element with the lowest score. These indexes can be negative numbers, where they indicate offsets starting at the element with the highest score. For example: -1 is the element with the highest score, -2 the element with the second highest score and so forth. + + the number of elements removed. + http://redis.io/commands/zremrangebyrank + + + + Removes all elements in the sorted set stored at key with a score between min and max (inclusive by default). + + the number of elements removed. + http://redis.io/commands/zremrangebyscore + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command removes all elements in the sorted set stored at key between the lexicographical range specified by min and max. + + http://redis.io/commands/zremrangebylex + the number of elements removed. + + + + Returns the score of member in the sorted set at key; If member does not exist in the sorted set, or key does not exist, nil is returned. + + the score of member + http://redis.io/commands/zscore + + + + If key already exists and is a string, this command appends the value at the end of the string. If key does not exist it is created and set as an empty string, + so APPEND will be similar to SET in this special case. + + the length of the string after the append operation. + http://redis.io/commands/append + + + + Count the number of set bits (population counting) in a string. + By default all the bytes contained in the string are examined.It is possible to specify the counting operation only in an interval passing the additional arguments start and end. + Like for the GETRANGE command start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The number of bits set to 1 + http://redis.io/commands/bitcount + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator: the second key should be omitted in this case + and only the first key will be considered. + The result of the operation is always stored at destkey. + + The size of the string stored in the destination key, that is equal to the size of the longest input string. + http://redis.io/commands/bitop + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator. + The result of the operation is always stored at destkey. + + The size of the string stored in the destination key, that is equal to the size of the longest input string. + http://redis.io/commands/bitop + + + + Return the position of the first bit set to 1 or 0 in a string. + The position is returned thinking at the string as an array of bits from left to right where the first byte most significant bit is at position 0, the second byte most significant big is at position 8 and so forth. + An start and end may be specified; these are in bytes, not bits; start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The command returns the position of the first bit set to 1 or 0 according to the request. + If we look for set bits(the bit argument is 1) and the string is empty or composed of just zero bytes, -1 is returned. + http://redis.io/commands/bitpos + + + + Decrements the number stored at key by decrement. If the key does not exist, it is set to 0 before performing the operation. An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. This operation is limited to 64 bit signed integers. + + the value of key after the increment + http://redis.io/commands/decrby + http://redis.io/commands/decr + + + + Decrements the string representing a floating point number stored at key by the specified increment. If the key does not exist, it is set to 0 before performing the operation. The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + the value of key after the increment + http://redis.io/commands/incrbyfloat + + + + Get the value of key. If the key does not exist the special value nil is returned. An error is returned if the value stored at key is not a string, because GET only handles string values. + + the value of key, or nil when key does not exist. + http://redis.io/commands/get + + + + Returns the values of all specified keys. For every key that does not hold a string value or does not exist, the special value nil is returned. + + http://redis.io/commands/mget + + + + Returns the bit value at offset in the string value stored at key. + When offset is beyond the string length, the string is assumed to be a contiguous space with 0 bits. + + the bit value stored at offset. + http://redis.io/commands/getbit + + + + Returns the substring of the string value stored at key, determined by the offsets start and end (both are inclusive). Negative offsets can be used in order to provide an offset starting from the end of the string. So -1 means the last character, -2 the penultimate and so forth. + + the substring of the string value stored at key + http://redis.io/commands/getrange + + + + Atomically sets key to value and returns the old value stored at key. + + http://redis.io/commands/getset + the old value stored at key, or nil when key did not exist. + + + + Get the value of key. If the key does not exist the special value nil is returned. An error is returned if the value stored at key is not a string, because GET only handles string values. + + the value of key, or nil when key does not exist. + http://redis.io/commands/get + + + + Increments the number stored at key by increment. If the key does not exist, it is set to 0 before performing the operation. An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. This operation is limited to 64 bit signed integers. + + the value of key after the increment + http://redis.io/commands/incrby + http://redis.io/commands/incr + + + + Increment the string representing a floating point number stored at key by the specified increment. If the key does not exist, it is set to 0 before performing the operation. The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + the value of key after the increment + http://redis.io/commands/incrbyfloat + + + + Returns the length of the string value stored at key. + + the length of the string at key, or 0 when key does not exist. + http://redis.io/commands/strlen + + + + Set key to hold the string value. If key already holds a value, it is overwritten, regardless of its type. + + http://redis.io/commands/set + + + + Sets the given keys to their respective values. If "not exists" is specified, this will not perform any operation at all even if just a single key already exists. + + True if the keys were set, else False + http://redis.io/commands/mset + http://redis.io/commands/msetnx + + + + Sets or clears the bit at offset in the string value stored at key. + The bit is either set or cleared depending on value, which can be either 0 or 1. When key does not exist, a new string value is created.The string is grown to make sure it can hold a bit at offset. + + the original bit value stored at offset. + http://redis.io/commands/setbit + + + + Overwrites part of the string stored at key, starting at the specified offset, for the entire length of value. If the offset is larger than the current length of the string at key, the string is padded with zero-bytes to make offset fit. Non-existing keys are considered as empty strings, so this command will make sure it holds a string large enough to be able to set value at offset. + + the length of the string after it was modified by the command. + http://redis.io/commands/setrange + + + + Describes a value/expiry pair + + + + + The expiry of this record + + + + + The value of this record + + + + + Describes internal errors (mainly intended for debugging) + + + + + Gets the connection-type of the failing connection + + + + + Gets the failing server-endpoint (this can be null) + + + + + Gets the exception if available (this can be null) + + + + + The underlying origin of the error + + + + + If an IProfiledCommand is a retransmission of a previous command, this enum + is used to indicate what prompted the retransmission. + + This can be used to distinguish between transient causes (moving hashslots, joining nodes, etc.) + and incorrect routing. + + + + + No stated reason + + + + + Issued to investigate which node owns a key + + + + + A node has indicated that it does *not* own the given key + + + + + A profiled command against a redis instance. + + TimeSpans returned by this interface use a high precision timer if possible. + DateTimes returned by this interface are no more precise than DateTime.UtcNow. + + + + + The endpoint this command was sent to. + + + + + The Db this command was sent to. + + + + + The name of this command. + + + + + The CommandFlags the command was submitted with. + + + + + When this command was *created*, will be approximately + when the paired method of StackExchange.Redis was called but + before that method returned. + + Note that the resolution of the returned DateTime is limited by DateTime.UtcNow. + + + + + How long this command waited to be added to the queue of pending + redis commands. A large TimeSpan indicates serious contention for + the pending queue. + + + + + How long this command spent in the pending queue before being sent to redis. + A large TimeSpan can indicate a large number of pending events, large pending events, + or network issues. + + + + + How long before Redis responded to this command and it's response could be handled after it was sent. + A large TimeSpan can indicate a large response body, an overtaxed redis instance, or network issues. + + + + + How long between Redis responding to this command and awaiting consumers being notified. + + + + + How long it took this redis command to be processed, from creation to deserializing the final response. + + Note that this TimeSpan *does not* include time spent awaiting a Task in consumer code. + + + + + If a command has to be resent due to an ASK or MOVED response from redis (in a cluster configuration), + the second sending of the command will have this property set to the original IProfiledCommand. + + This can only be set if redis is configured as a cluster. + + + + + If RetransmissionOf is not null, this property will be set to either Ask or Moved to indicate + what sort of response triggered the retransmission. + + This can be useful for determining the root cause of extra commands. + + + + + Interface for profiling individual commands against an Redis ConnectionMulitplexer. + + + + + Called to provide a context object. + + This method is called before the method which triggers work against redis (such as StringSet(Async)) returns, + and will always be called on the same thread as that method. + + Note that GetContext() may be called even if ConnectionMultiplexer.BeginProfiling() has not been called. + You may return `null` to prevent any tracking of commands. + + + + + Describes retry policy functionality that can be provided to the multiplexer to be used for connection reconnects + + + + + This method is called by the multiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the multiplexer while it was in connecting state + Total time elapsed in milliseconds since the last reconnect retry was made + + + + Common operations available to all redis connections + + + + + This command is often used to test if a connection is still alive, or to measure latency. + + The observed latency. + http://redis.io/commands/ping + + + + Represents a resumable, cursor-based scanning operation + + + + + Returns the cursor that represents the *active* page of results (not the pending/next page of results as returned by SCAN/HSCAN/ZSCAN/SSCAN) + + + + + The page size of the current operation + + + + + The offset into the current page + + + + + Common operations available to all redis connections + + + + + Gets the multiplexer that created this instance + + + + + This command is often used to test if a connection is still alive, or to measure latency. + + The observed latency. + http://redis.io/commands/ping + + + + Wait for a given asynchronous operation to complete (or timeout), reporting which + + + + + Wait for a given asynchronous operation to complete (or timeout) + + + + + Wait for a given asynchronous operation to complete (or timeout) + + + + + Wait for the given asynchronous operations to complete (or timeout) + + + + + Provides configuration controls of a redis server + + + + + Gets the cluster configuration associated with this server, if known + + + + + Gets the address of the connected server + + + + + Gets the features available to the connected server + + + + + Gets whether the connection to the server is active and usable + + + + + Gets whether the connected server is a replica / slave + + + + + Explicitly opt in for slave writes on writable slaves + + + + + Gets the operating mode of the connected server + + + + + Gets the version of the connected server + + + + + The CLIENT KILL command closes a given client connection identified by ip:port. + The ip:port should match a line returned by the CLIENT LIST command. + Due to the single-treaded nature of Redis, it is not possible to kill a client connection while it is executing a command.From the client point of view, the connection can never be closed in the middle of the execution of a command.However, the client will notice the connection has been closed only when the next command is sent (and results in network error). + + http://redis.io/commands/client-kill + + + + The CLIENT KILL command closes a given client connection identified by ip:port. + The ip:port should match a line returned by the CLIENT LIST command. + Due to the single-treaded nature of Redis, it is not possible to kill a client connection while it is executing a command.From the client point of view, the connection can never be closed in the middle of the execution of a command.However, the client will notice the connection has been closed only when the next command is sent (and results in network error). + + http://redis.io/commands/client-kill + + + + The CLIENT KILL command closes multiple connections that match the specified filters + + the number of clients killed. + http://redis.io/commands/client-kill + + + + The CLIENT KILL command closes multiple connections that match the specified filters + + the number of clients killed. + http://redis.io/commands/client-kill + + + + The CLIENT LIST command returns information and statistics about the client connections server in a mostly human readable format. + + http://redis.io/commands/client-list + + + + The CLIENT LIST command returns information and statistics about the client connections server in a mostly human readable format. + + http://redis.io/commands/client-list + + + + Obtains the current CLUSTER NODES output from a cluster server + + + + + Obtains the current CLUSTER NODES output from a cluster server + + + + + Obtains the current raw CLUSTER NODES output from a cluster server + + + + + Obtains the current raw CLUSTER NODES output from a cluster server + + + + + Get all configuration parameters matching the specified pattern. + + All matching configuration parameters. + http://redis.io/commands/config-get + + + + Get all configuration parameters matching the specified pattern. + + All matching configuration parameters. + http://redis.io/commands/config-get + + + + Resets the statistics reported by Redis using the INFO command. + + http://redis.io/commands/config-resetstat + + + + Resets the statistics reported by Redis using the INFO command. + + http://redis.io/commands/config-resetstat + + + + The CONFIG REWRITE command rewrites the redis.conf file the server was started with, applying the minimal changes needed to make it reflecting the configuration currently used by the server, that may be different compared to the original one because of the use of the CONFIG SET command. + + http://redis.io/commands/config-rewrite + + + + The CONFIG REWRITE command rewrites the redis.conf file the server was started with, applying the minimal changes needed to make it reflecting the configuration currently used by the server, that may be different compared to the original one because of the use of the CONFIG SET command. + + http://redis.io/commands/config-rewrite + + + + The CONFIG SET command is used in order to reconfigure the server at runtime without the need to restart Redis. You can change both trivial parameters or switch from one to another persistence option using this command. + + http://redis.io/commands/config-set + + + + The CONFIG SET command is used in order to reconfigure the server at runtime without the need to restart Redis. You can change both trivial parameters or switch from one to another persistence option using this command. + + http://redis.io/commands/config-set + + + + Return the number of keys in the database. + + http://redis.io/commands/dbsize + + + + Return the number of keys in the database. + + http://redis.io/commands/dbsize + + + + Return the same message passed in + + http://redis.io/commands/echo + + + + Return the same message passed in + + http://redis.io/commands/echo + + + + Delete all the keys of all databases on the server. + + http://redis.io/commands/flushall + + + + Delete all the keys of all databases on the server. + + http://redis.io/commands/flushall + + + + Delete all the keys of the database. + + http://redis.io/commands/flushdb + + + + Delete all the keys of the database. + + http://redis.io/commands/flushdb + + + + Get summary statistics associates with this server + + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + http://redis.io/commands/info + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + http://redis.io/commands/info + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + http://redis.io/commands/info + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + http://redis.io/commands/info + + + + Returns all keys matching pattern; the KEYS or SCAN commands will be used based on the server capabilities. + + Warning: consider KEYS as a command that should only be used in production environments with extreme care. + http://redis.io/commands/keys + http://redis.io/commands/scan + + + + Returns all keys matching pattern; the KEYS or SCAN commands will be used based on the server capabilities; note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor. + + Warning: consider KEYS as a command that should only be used in production environments with extreme care. + http://redis.io/commands/keys + http://redis.io/commands/scan + + + + Return the time of the last DB save executed with success. A client may check if a BGSAVE command succeeded reading the LASTSAVE value, then issuing a BGSAVE command and checking at regular intervals every N seconds if LASTSAVE changed. + + http://redis.io/commands/lastsave + + + + Return the time of the last DB save executed with success. A client may check if a BGSAVE command succeeded reading the LASTSAVE value, then issuing a BGSAVE command and checking at regular intervals every N seconds if LASTSAVE changed. + + http://redis.io/commands/lastsave + + + + Promote the selected node to be master + + + + + Explicitly request the database to persist the current state to disk + + http://redis.io/commands/bgrewriteaof + http://redis.io/commands/bgsave + http://redis.io/commands/save + http://redis.io/topics/persistence + + + + Explicitly request the database to persist the current state to disk + + http://redis.io/commands/bgrewriteaof + http://redis.io/commands/bgsave + http://redis.io/commands/save + http://redis.io/topics/persistence + + + + Inidicates whether the specified script is defined on the server + + + + + Inidicates whether the specified script hash is defined on the server + + + + + Inidicates whether the specified script is defined on the server + + + + + Inidicates whether the specified script hash is defined on the server + + + + + Removes all cached scripts on this server + + + + + Removes all cached scripts on this server + + + + + Explicitly defines a script on the server + + + + + Explicitly defines a script on the server + + + + + Explicitly defines a script on the server + + + + + Explicitly defines a script on the server + + + + Asks the redis server to shutdown, killing all connections. Please FULLY read the notes on the SHUTDOWN command. + http://redis.io/commands/shutdown + + + + The SLAVEOF command can change the replication settings of a slave on the fly. If a Redis server is already acting as slave, specifying a null master will turn off the replication, turning the Redis server into a MASTER. Specifying a non-null master will make the server a slave of another server listening at the specified hostname and port. + + http://redis.io/commands/slaveof + + + + The SLAVEOF command can change the replication settings of a slave on the fly. If a Redis server is already acting as slave, specifying a null master will turn off the replication, turning the Redis server into a MASTER. Specifying a non-null master will make the server a slave of another server listening at the specified hostname and port. + + http://redis.io/commands/slaveof + + + + To read the slow log the SLOWLOG GET command is used, that returns every entry in the slow log. It is possible to return only the N most recent entries passing an additional argument to the command (for instance SLOWLOG GET 10). + + http://redis.io/commands/slowlog + + + + To read the slow log the SLOWLOG GET command is used, that returns every entry in the slow log. It is possible to return only the N most recent entries passing an additional argument to the command (for instance SLOWLOG GET 10). + + http://redis.io/commands/slowlog + + + + You can reset the slow log using the SLOWLOG RESET command. Once deleted the information is lost forever. + + http://redis.io/commands/slowlog + + + + You can reset the slow log using the SLOWLOG RESET command. Once deleted the information is lost forever. + + http://redis.io/commands/slowlog + + + + Lists the currently active channels. An active channel is a Pub/Sub channel with one ore more subscribers (not including clients subscribed to patterns). + + a list of active channels, optionally matching the specified pattern. + http://redis.io/commands/pubsub + + + + Lists the currently active channels. An active channel is a Pub/Sub channel with one ore more subscribers (not including clients subscribed to patterns). + + a list of active channels, optionally matching the specified pattern. + http://redis.io/commands/pubsub + + + + Returns the number of subscriptions to patterns (that are performed using the PSUBSCRIBE command). Note that this is not just the count of clients subscribed to patterns but the total number of patterns all the clients are subscribed to. + + the number of patterns all the clients are subscribed to. + http://redis.io/commands/pubsub + + + + Returns the number of subscriptions to patterns (that are performed using the PSUBSCRIBE command). Note that this is not just the count of clients subscribed to patterns but the total number of patterns all the clients are subscribed to. + + the number of patterns all the clients are subscribed to. + http://redis.io/commands/pubsub + + + + Returns the number of subscribers (not counting clients subscribed to patterns) for the specified channel. + + http://redis.io/commands/pubsub + + + + Returns the number of subscribers (not counting clients subscribed to patterns) for the specified channel. + + http://redis.io/commands/pubsub + + + + The TIME command returns the current server time. + + The server's current time. + http://redis.io/commands/time + + + + The TIME command returns the current server time. + + The server's current time. + http://redis.io/commands/time + + + + Returns the ip and port number of the master with that name. + If a failover is in progress or terminated successfully for this master it returns the address and port of the promoted slave. + + the sentinel service name + + the master ip and port + http://redis.io/topics/sentinel + + + + Returns the ip and port number of the master with that name. + If a failover is in progress or terminated successfully for this master it returns the address and port of the promoted slave. + + the sentinel service name + + the master ip and port + http://redis.io/topics/sentinel + + + + Show the state and info of the specified master. + + the sentinel service name + + the master state as KeyValuePairs + http://redis.io/topics/sentinel + + + + Force a failover as if the master was not reachable, and without asking for agreement to other Sentinels + (however a new version of the configuration will be published so that the other Sentinels will update their configurations). + + the sentinel service name + + the master state as KeyValuePairs + http://redis.io/topics/sentinel + + + + Show a list of monitored masters and their state. + + + an array of master state KeyValuePair arrays + http://redis.io/topics/sentinel + + + + Show a list of monitored masters and their state. + + + an array of master state KeyValuePair arrays + http://redis.io/topics/sentinel + + + + Show a list of slaves for this master, and their state. + + the sentinel service name + + an array of slave state KeyValuePair arrays + http://redis.io/topics/sentinel + + + + Show a list of slaves for this master, and their state. + + the sentinel service name + + an array of slave state KeyValuePair arrays + http://redis.io/topics/sentinel + + + + Force a failover as if the master was not reachable, and without asking for agreement to other Sentinels + (however a new version of the configuration will be published so that the other Sentinels will update their configurations). + + the sentinel service name + + http://redis.io/topics/sentinel + + + + Force a failover as if the master was not reachable, and without asking for agreement to other Sentinels + (however a new version of the configuration will be published so that the other Sentinels will update their configurations). + + the sentinel service name + + http://redis.io/topics/sentinel + + + + A redis connection used as the subscriber in a pub/sub scenario + + + + + Inidicate exactly which redis server we are talking to + + + + + Inidicate exactly which redis server we are talking to + + + + + Indicates whether the instance can communicate with the server; + if a channel is specified, the existing subscription map is queried to + resolve the server responsible for that subscription - otherwise the + server is chosen aribtraily from the masters. + + + + + Posts a message to the given channel. + + the number of clients that received the message. + http://redis.io/commands/publish + + + + Posts a message to the given channel. + + the number of clients that received the message. + http://redis.io/commands/publish + + + + Subscribe to perform some operation when a change to the preferred/active node is broadcast. + + http://redis.io/commands/subscribe + http://redis.io/commands/psubscribe + + + + Subscribe to perform some operation when a change to the preferred/active node is broadcast. + + http://redis.io/commands/subscribe + http://redis.io/commands/psubscribe + + + + Inidicate to which redis server we are actively subscribed for a given channel; returns null if + the channel is not actively subscribed + + + + + Unsubscribe from a specified message channel; note; if no handler is specified, the subscription is cancelled regardless + of the subscribers; if a handler is specified, the subscription is only cancelled if this handler is the + last handler remaining against the channel + + http://redis.io/commands/unsubscribe + http://redis.io/commands/punsubscribe + + + + Unsubscribe all subscriptions on this instance + + http://redis.io/commands/unsubscribe + http://redis.io/commands/punsubscribe + + + + Unsubscribe all subscriptions on this instance + + http://redis.io/commands/unsubscribe + http://redis.io/commands/punsubscribe + + + + Unsubscribe from a specified message channel; note; if no handler is specified, the subscription is cancelled regardless + of the subscribers; if a handler is specified, the subscription is only cancelled if this handler is the + last handler remaining against the channel + + http://redis.io/commands/unsubscribe + http://redis.io/commands/punsubscribe + + + + Represents a group of operations that will be sent to the server as a single unit, + and processed on the server as a single unit. Transactions can also include constraints + (implemented via WATCH), but note that constraint checking involves will (very briefly) + block the connection, since the transaction cannot be correctly committed (EXEC), + aborted (DISCARD) or not applied in the first place (UNWATCH) until the responses from + the constraint checks have arrived. + + http://redis.io/topics/transactions + Note that on a cluster, it may be required that all keys involved in the transaction + (including constraints) are in the same hash-slot + + + + Adds a precondition for this transaction + + + + + Execute the batch operation, sending all queued commands to the server. + + + + + Execute the batch operation, sending all queued commands to the server. + + + + + Provides the extension method to . + + + + + Creates a new instance that provides an isolated key space + of the specified underyling database instance. + + + The underlying database instance that the returned instance shall use. + + + The prefix that defines a key space isolation for the returned database instance. + + + A new instance that invokes the specified underlying + but prepends the specified + to all key paramters and thus forms a logical key space isolation. + + + + The following methods are not supported in a key space isolated database and + will throw an when invoked: + + + + + + + Please notice that keys passed to a script are prefixed (as normal) but care must + be taken when a script returns the name of a key as that will (currently) not be + "unprefixed". + + + + + + Represents a retry policy that performs retries at a fixed interval. The retries are performed upto a maximum allowed time. + + + + + Initializes a new instance using the specified maximum retry elapsed time allowed. + + maximum elapsed time in milliseconds to be allowed for it to perform retries + + + + This method is called by the ConnectionMultiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the ConnectionMultiplexer while it was in the connecting state + Total elapsed time in milliseconds since the last reconnect retry was made + + + + Represents a Lua script that can be executed on Redis. + + Unlike normal Redis Lua scripts, LuaScript can have named parameters (prefixed by a @). + Public fields and properties of the passed in object are treated as parameters. + + Parameters of type RedisKey are sent to Redis as KEY (http://redis.io/commands/eval) in addition to arguments, + so as to play nicely with Redis Cluster. + + All members of this class are thread safe. + + + + + The original Lua script that was used to create this. + + + + + The Lua script that will actually be sent to Redis for execution. + + All @-prefixed parameter names have been replaced at this point. + + + + + Finalizer, used to prompt cleanups of the script cache when + a LuaScript reference goes out of scope. + + + + + Invalidates the internal cache of LuaScript objects. + Existing LuaScripts will continue to work, but future calls to LuaScript.Prepare + return a new LuaScript instance. + + + + + Returns the number of cached LuaScripts. + + + + + Prepares a Lua script with named parameters to be run against any Redis instance. + + + + + Evaluates this LuaScript against the given database, extracting parameters from the passed in object if any. + + + + + Evaluates this LuaScript against the given database, extracting parameters from the passed in object if any. + + + + + Loads this LuaScript into the given IServer so it can be run with it's SHA1 hash, instead of + passing the full script on each Evaluate or EvaluateAsync call. + + Note: the FireAndForget command flag cannot be set + + + + + Loads this LuaScript into the given IServer so it can be run with it's SHA1 hash, instead of + passing the full script on each Evaluate or EvaluateAsync call. + + Note: the FireAndForget command flag cannot be set + + + + + Represents a Lua script that can be executed on Redis. + + Unlike LuaScript, LoadedLuaScript sends the hash of it's ExecutableScript to Redis rather than pass + the whole script on each call. This requires that the script be loaded into Redis before it is used. + + To create a LoadedLuaScript first create a LuaScript via LuaScript.Prepare(string), then + call Load(IServer, CommandFlags) on the returned LuaScript. + + Unlike normal Redis Lua scripts, LoadedLuaScript can have named parameters (prefixed by a @). + Public fields and properties of the passed in object are treated as parameters. + + Parameters of type RedisKey are sent to Redis as KEY (http://redis.io/commands/eval) in addition to arguments, + so as to play nicely with Redis Cluster. + + All members of this class are thread safe. + + + + + The original script that was used to create this LoadedLuaScript. + + + + + The script that will actually be sent to Redis for execution. + + + + + The SHA1 hash of ExecutableScript. + + This is sent to Redis instead of ExecutableScript during Evaluate and EvaluateAsync calls. + + + + + Evaluates this LoadedLuaScript against the given database, extracting parameters for the passed in object if any. + + This method sends the SHA1 hash of the ExecutableScript instead of the script itself. If the script has not + been loaded into the passed Redis instance it will fail. + + + + + Evaluates this LoadedLuaScript against the given database, extracting parameters for the passed in object if any. + + This method sends the SHA1 hash of the ExecutableScript instead of the script itself. If the script has not + been loaded into the passed Redis instance it will fail. + + + + + Indicates that a command was illegal and was not sent to the server + + + + + Indicates the time allotted for a command or operation has expired. + + + + + status of the command while communicating with Redis + + + + + Indicates a connection fault when communicating with redis + + + + + The type of connection failure + + + + + status of the command while communicating with Redis + + + + + Indicates an issue communicating with redis + + + + + Deserialization constructor; not intended for general usage + + + + + Indicates an exception raised by a redis server + + + + + Things with the potential to cause harm, or to reveal configuration information + + + + + This does a few important things: + 1: it suppresses error events for commands that the user isn't interested in + (i.e. "why does my standalone server keep saying ERR unknown command 'cluster' ?") + 2: it allows the initial PING and GET (during connect) to get queued rather + than be rejected as no-server-available (note that this doesn't apply to + handshake messages, as they bypass the queue completely) + 3: it disables non-pref logging, as it is usually server-targeted + + + + + Checks both high-pri and regular queues to see if the next item is a PING, and if so: dequeues it and returns it + + + + + Additional options for the MIGRATE command + + + + + No options specified + + + + + Do not remove the key from the local instance. + + + + + Replace existing key on the remote instance. + + + + + The direction in which to sequence elements + + + + + Ordered from low values to high values + + + + + Ordered from high values to low values + + + + + This writes a message **directly** to the output stream; note + that this ignores the queue, so should only be used *either* + from the regular dequeue loop, *or* from the "I've just + connected" handshake (when there is no dequeue loop) - otherwise, + you can pretty much assume you're going to destroy the stream + + + + + Big ol' wrapper around most of the profiling storage logic, 'cause it got too big to just live in ConnectionMultiplexer. + + + + + Necessary, because WeakReference can't be readily comparable (since the reference is... weak). + + This lets us detect leaks* with some reasonable confidence, and cleanup periodically. + + Some calisthenics are done to avoid allocating WeakReferences for no reason, as often + we're just looking up ProfileStorage. + + * Somebody starts profiling, but for whatever reason never *stops* with a context object + + + + + Suitable for use as a key into something. + + This instance **WILL NOT** keep forObj alive, so it can + be copied out of the calling method's scope. + + + + + Only suitable for looking up. + + This instance **ABSOLUTELY WILL** keep forObj alive, so this + had better not be copied into anything outside the scope of the + calling method. + + + + + Registers the passed context with a collection that can be retried with subsequent calls to TryGetValue. + + Returns false if the passed context object is already registered. + + + + + Returns true and sets val to the tracking collection associated with the given context if the context + was registered with TryCreate. + + Otherwise returns false and sets val to null. + + + + + Removes a context, setting all commands to a (non-thread safe) enumerable of + all the commands attached to that context. + + If the context was never registered, will return false and set commands to null. + + Subsequent calls to TryRemove with the same context will return false unless it is + re-registered with TryCreate. + + + + + If enough time has passed (1 minute) since the last call, this does walk of all contexts + and removes those that the GC has collected. + + + + + Represents a pub/sub channel name + + + + + Create a new redis channel from a buffer, explicitly controlling the pattern mode + + + + + Create a new redis channel from a string, explicitly controlling the pattern mode + + + + + Indicates whether the channel-name is either null or a zero-length value + + + + + Indicate whether two channel names are not equal + + + + + Indicate whether two channel names are not equal + + + + + Indicate whether two channel names are not equal + + + + + Indicate whether two channel names are not equal + + + + + Indicate whether two channel names are not equal + + + + + Indicate whether two channel names are equal + + + + + Indicate whether two channel names are equal + + + + + Indicate whether two channel names are equal + + + + + Indicate whether two channel names are equal + + + + + Indicate whether two channel names are equal + + + + + See Object.Equals + + + + + Indicate whether two channel names are equal + + + + + See Object.GetHashCode + + + + + Obtains a string representation of the channel name + + + + + The matching pattern for this channel + + + + + Will be treated as a pattern if it includes * + + + + + Never a pattern + + + + + Always a pattern + + + + + Create a channel name from a String + + + + + Create a channel name from a Byte[] + + + + + Obtain the channel name as a Byte[] + + + + + Obtain the channel name as a String + + + + + Notification of errors from the redis server + + + + + The origin of the message + + + + + The message from the server + + + + + Provides basic information about the features available on a particular version of Redis + + + + + Create a new RedisFeatures instance for the given version + + + + + Does BITOP / BITCOUNT exist? + + + + + Is CLIENT SETNAME available? + + + + + Does EXEC support EXECABORT if there are errors? + + + + + Can EXPIRE be used to set expiration on a key that is already volatile (i.e. has an expiration)? + + + + + Does HDEL support varadic usage? + + + + + Does INCRBYFLOAT / HINCRBYFLOAT exist? + + + + + Does INFO support sections? + + + + + Is LINSERT available? + + + + + Indicates whether PEXPIRE and PTTL are supported + + + + + Does SRANDMEMBER support "count"? + + + + + Is the PERSIST operation supported? + + + + + Is RPUSHX and LPUSHX available? + + + + + Are cursor-based scans available? + + + + + Does EVAL / EVALSHA / etc exist? + + + + + Does SET have the EX|PX|NX|XX extensions? + + + + + Does SADD support varadic usage? + + + + + Is STRLEN available? + + + + + Is SETRANGE available? + + + + + Does TIME exist? + + + + + Are Lua changes to the calling database transparent to the calling client? + + + + + Is PFCOUNT supported on slaves? + + + + + Are the GEO commands available? + + + + + The Redis version of the server + + + + + Create a string representation of the available features + + + + + Represents a key that can be stored in redis + + + + + Indicate whether two keys are not equal + + + + + Indicate whether two keys are not equal + + + + + Indicate whether two keys are not equal + + + + + Indicate whether two keys are not equal + + + + + Indicate whether two keys are not equal + + + + + Indicate whether two keys are equal + + + + + Indicate whether two keys are equal + + + + + Indicate whether two keys are equal + + + + + Indicate whether two keys are equal + + + + + Indicate whether two keys are equal + + + + + See Object.Equals + + + + + Indicate whether two keys are equal + + + + + See Object.GetHashCode + + + + + Obtains a string representation of the key + + + + + Create a key from a String + + + + + Create a key from a Byte[] + + + + + Obtain the key as a Byte[] + + + + + Obtain the key as a String + + + + + Concatenate two keys + + + + + Prepends p to this RedisKey, returning a new RedisKey. + + Avoids some allocations if possible, repeated Prepend/Appends make + it less possible. + + + + + Appends p to this RedisKey, returning a new RedisKey. + + Avoids some allocations if possible, repeated Prepend/Appends make + it less possible. + + + + + Represents a general-purpose result from redis, that may be cast into various anticipated types + + + + + Create a new RedisResult. + + + + + + Indicates whether this result was a null result + + + + + Interprets the result as a String + + + + + Interprets the result as a Byte[] + + + + + Interprets the result as a Double + + + + + Interprets the result as an Int64 + + + + + Interprets the result as an Int32 + + + + + Interprets the result as a Boolean + + + + + Interprets the result as a RedisValue + + + + + Interprets the result as a RedisKey + + + + + Interprets the result as a Nullable Double + + + + + Interprets the result as a Nullable Int64 + + + + + Interprets the result as a Nullable Int32 + + + + + Interprets the result as a Nullable Boolean + + + + + Interprets the result as an array of String + + + + + Interprets the result as an array of Byte[] + + + + + Interprets the result as an array of Double + + + + + Interprets the result as an array of Int64 + + + + + Interprets the result as an array of Int32 + + + + + Interprets the result as an array of Boolean + + + + + Interprets the result as an array of RedisValue + + + + + Interprets the result as an array of RedisKey + + + + + Interprets the result as an array of RedisResult + + + + + The intrinsinc data-types supported by redis + + http://redis.io/topics/data-types + + + + The specified key does not exist + + + + + Strings are the most basic kind of Redis value. Redis Strings are binary safe, this means that a Redis string can contain any kind of data, for instance a JPEG image or a serialized Ruby object. + A String value can be at max 512 Megabytes in length. + + http://redis.io/commands#string + + + + Redis Lists are simply lists of strings, sorted by insertion order. It is possible to add elements to a Redis List pushing new elements on the head (on the left) or on the tail (on the right) of the list. + + http://redis.io/commands#list + + + + Redis Sets are an unordered collection of Strings. It is possible to add, remove, and test for existence of members in O(1) (constant time regardless of the number of elements contained inside the Set). + Redis Sets have the desirable property of not allowing repeated members. Adding the same element multiple times will result in a set having a single copy of this element. Practically speaking this means that adding a member does not require a check if exists then add operation. + + http://redis.io/commands#set + + + + Redis Sorted Sets are, similarly to Redis Sets, non repeating collections of Strings. The difference is that every member of a Sorted Set is associated with score, that is used in order to take the sorted set ordered, from the smallest to the greatest score. While members are unique, scores may be repeated. + + http://redis.io/commands#sorted_set + + + + Redis Hashes are maps between string fields and string values, so they are the perfect data type to represent objects (eg: A User with a number of fields like name, surname, age, and so forth) + + http://redis.io/commands#hash + + + + The data-type was not recognised by the client library + + + + + Represents values that can be stored in redis + + + + + Represents the string "" + + + + + A null value + + + + + Indicates whether the value is a primitive integer + + + + + Indicates whether the value should be considered a null value + + + + + Indicates whether the value is either null or a zero-length value + + + + + Indicates whether the value is greater than zero-length + + + + + Indicates whether two RedisValue values are equivalent + + + + + Indicates whether two RedisValue values are equivalent + + + + + See Object.Equals() + + + + + Indicates whether two RedisValue values are equivalent + + + + + See Object.GetHashCode() + + + + + Returns a string representation of the value + + + + + Compare against a RedisValue for relative order + + + + + Creates a new RedisValue from an Int32 + + + + + Creates a new RedisValue from a nullable Int32 + + + + + Creates a new RedisValue from an Int64 + + + + + Creates a new RedisValue from a nullable Int64 + + + + + Creates a new RedisValue from a Double + + + + + Creates a new RedisValue from a nullable Double + + + + + Creates a new RedisValue from a String + + + + + Creates a new RedisValue from a Byte[] + + + + + Creates a new RedisValue from a Boolean + + + + + Creates a new RedisValue from a nullable Boolean + + + + + Converts the value to a Boolean + + + + + Converts the value to an Int32 + + + + + Converts the value to an Int64 + + + + + Converts the value to a Double + + + + + Converts the value to a nullable Double + + + + + Converts the value to a nullable Int64 + + + + + Converts the value to a nullable Int32 + + + + + Converts the value to a nullable Boolean + + + + + Converts the value to a String + + + + + Converts the value to a byte[] + + + + + Convert to a long if possible, returning true. + + Returns false otherwise. + + + + + Convert to a int if possible, returning true. + + Returns false otherwise. + + + + + Convert to a double if possible, returning true. + + Returns false otherwise. + + + + + Additional operations to perform when making a server a master + + + + + No additional operations + + + + + Set the tie-breaker key on all available masters, to specify this server + + + + + Broadcast to the pub-sub channel to listening clients to reconfigure themselves + + + + + Issue a SLAVEOF to all other known nodes, making this this master of all + + + + + All additional operations + + + + + The type of save operation to perform + + + + + Instruct Redis to start an Append Only File rewrite process. The rewrite will create a small optimized version of the current Append Only File. + + http://redis.io/commands/bgrewriteaof + + + + Save the DB in background. The OK code is immediately returned. Redis forks, the parent continues to serve the clients, the child saves the DB on disk then exits. A client my be able to check if the operation succeeded using the LASTSAVE command. + + http://redis.io/commands/bgsave + + + + Save the DB in foreground. This is almost never a good thing to do, and could cause significant blocking. Only do this if you know you need to save + + http://redis.io/commands/save + + + + Turns a script with @namedParameters into a LuaScript that can be executed + against a given IDatabase(Async) object + + + + + Determines whether or not the given type can be used to provide parameters for the given LuaScript. + + + + + Creates a Func that extracts parameters from the given type for use by a LuaScript. + + Members that are RedisKey's get extracted to be passed in as keys to redis; all members that + appear in the script get extracted as RedisValue arguments to be sent up as args. + + We send all values as arguments so we don't have to prepare the same script for different parameter + types. + + The created Func takes a RedisKey, which will be prefixed to all keys (and arguments of type RedisKey) for + keyspace isolation. + + + + + Illustrates the queues associates with this server + + + + + The endpoint to which this data relates (this can be null if the data represents all servers) + + + + + Counters associated with the interactive (non pub-sub) connection + + + + + Counters associated with other ambient activity + + + + + Counters associated with the subscription (pub-sub) connection + + + + + Indicates the total number of outstanding items against this server + + + + + See Object.ToString(); + + + + + Computes the hash-slot that would be used by the given key + + + + + Indicates the flavor of a particular redis server + + + + + Classic redis-server server + + + + + Monitoring/configuration redis-sentinel server + + + + + Distributed redis-cluster server + + + + + Distributed redis installation via twemproxy + + + + + Describes an algebraic set operation that can be performed to combine multiple sets + + + + + Returns the members of the set resulting from the union of all the given sets. + + + + + Returns the members of the set resulting from the intersection of all the given sets. + + + + + Returns the members of the set resulting from the difference between the first set and all the successive sets. + + + + + Defines the persistence behaviour of the server during shutdown + + + + + The data is persisted if save points are configured + + + + + The data is NOT persisted even if save points are configured + + + + + The data is persisted even if save points are NOT configured + + + + + Allows callbacks from SocketManager as work is discovered + + + + + Indicates that a socket has connected + + + + + Indicates that the socket has signalled an error condition + + + + + Indicates that data is available on the socket, and that the consumer should read synchronously from the socket while there is data + + + + + Indicates that we cannot know whether data is available, and that the consume should commence reading asynchronously + + + + + A SocketManager monitors multiple sockets for availability of data; this is done using + the Socket.Select API and a dedicated reader-thread, which allows for fast responses + even when the system is under ambient load. + + + + + Creates a new (optionally named) SocketManager instance + + + + + Creates a new SocketManager instance + + + + + Gets the name of this SocketManager instance + + + + + Releases all resources associated with this instance + + + + + Describes a sorted-set element with the corresponding value + + + + + Initializes a SortedSetEntry value + + + + + The unique element stored in the sorted set + + + + + The score against the element + + + + + The score against the element + + + + + The unique element stored in the sorted set + + + + + Converts to a key/value pair + + + + + Converts from a key/value pair + + + + + See Object.ToString() + + + + + See Object.GetHashCode() + + + + + Compares two values for equality + + + + + Compares two values for equality + + + + + Compares two values by score + + + + + Compares two values by score + + + + + Compares two values for equality + + + + + Compares two values for non-equality + + + + + Specifies how to compare elements for sorting + + + + + Elements are interpreted as a double-precision floating point number and sorted numerically + + + + + Elements are sorted using their alphabetic form (Redis is UTF-8 aware as long as the !LC_COLLATE environment variable is set at the server) + + + + + We want to prevent callers hijacking the reader thread; this is a bit nasty, but works; + see http://stackoverflow.com/a/22588431/23354 for more information; a huge + thanks to Eli Arbel for spotting this (even though it is pure evil; it is *my kind of evil*) + + + + + Indicates whether the specified task will not hijack threads when results are set + + + + + Create a new TaskCompletion source + + + + + Create a new TaskCompletionSource that will not allow result-setting threads to be hijacked + + + + + Indicates when this operation should be performed (only some variations are legal in a given context) + + + + + The operation should occur whether or not there is an existing value + + + + + The operation should only occur when there is an existing value + + + + + The operation should only occur when there is not an existing value + + + + diff --git a/PROJ-ETS/packages/StackExchange.Redis.1.2.4/lib/netstandard1.5/StackExchange.Redis.dll b/PROJ-ETS/packages/StackExchange.Redis.1.2.4/lib/netstandard1.5/StackExchange.Redis.dll new file mode 100644 index 0000000000000000000000000000000000000000..3306567ee06383c01bdfd8a460147aee1ca1e10a GIT binary patch literal 420352 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%0AkvT;kx;o88hD`rb=q-3O+ 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 literal 0 HcmV?d00001 diff --git a/PROJ-ETS/packages/StackExchange.Redis.1.2.4/lib/netstandard1.5/StackExchange.Redis.xml b/PROJ-ETS/packages/StackExchange.Redis.1.2.4/lib/netstandard1.5/StackExchange.Redis.xml new file mode 100644 index 0000000..a1f7018 --- /dev/null +++ b/PROJ-ETS/packages/StackExchange.Redis.1.2.4/lib/netstandard1.5/StackExchange.Redis.xml @@ -0,0 +1,6650 @@ + + + + StackExchange.Redis + + + + + Specifies how elements should be aggregated when combining sorted sets + + + + + The values of the combined elements are added + + + + + The least value of the combined elements is used + + + + + The greatest value of the combined elements is used + + + + + + + + And + + + + + Or + + + + + Xor + + + + + Not + + + + + The client flags can be a combination of: + O: the client is a slave in MONITOR mode + S: the client is a normal slave server + M: the client is a master + x: the client is in a MULTI/EXEC context + b: the client is waiting in a blocking operation + i: the client is waiting for a VM I/O (deprecated) + d: a watched keys has been modified - EXEC will fail + c: connection to be closed after writing entire reply + u: the client is unblocked + A: connection to be closed ASAP + N: no specific flag set + + + + + no specific flag set + + + + + the client is a slave in MONITOR mode + + + + + the client is a normal slave server + + + + + the client is a master + + + + + the client is in a MULTI/EXEC context + + + + + the client is waiting in a blocking operation + + + + + a watched keys has been modified - EXEC will fail + + + + + connection to be closed after writing entire reply + + + + + the client is unblocked + + + + + connection to be closed ASAP + + + + + Represents the state of an individual client connection to redis + + + + + Address (host and port) of the client + + + + + total duration of the connection in seconds + + + + + current database ID + + + + + The flags associated with this connection + + + + + The client flags can be a combination of: + O: the client is a slave in MONITOR mode + S: the client is a normal slave server + M: the client is a master + x: the client is in a MULTI/EXEC context + b: the client is waiting in a blocking operation + i: the client is waiting for a VM I/O (deprecated) + d: a watched keys has been modified - EXEC will fail + c: connection to be closed after writing entire reply + u: the client is unblocked + A: connection to be closed ASAP + N: no specific flag set + + + + + The host of the client (typically an IP address) + + + + + idle time of the connection in seconds + + + + + last command played + + + + + The name allocated to this connection, if any + + + + + number of pattern matching subscriptions + + + + + The port of the client + + + + + The raw content from redis + + + + + number of channel subscriptions + + + + + number of commands in a MULTI/EXEC context + + + + + an unique 64-bit client ID (introduced in Redis 2.8.12). + + + + + Format the object as a string + + + + + The class of the connection + + + + + The class of the connection + + + + + Regular connections, including MONITOR connections + + + + + Replication connections + + + + + Subscription connections + + + + + Indicates a range of slots served by a cluster node + + + + + Create a new SlotRange value + + + + + The start of the range (inclusive) + + + + + The end of the range (inclusive) + + + + + Indicates whether two ranges are not equal + + + + + Indicates whether two ranges are equal + + + + + Try to parse a string as a range + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + + + + See Object.Equals + + + + + Indicates whether two ranges are equal + + + + + See Object.GetHashCode() + + + + + See Object.ToString() + + + + + Describes the state of the cluster as reported by a single node + + + + + Gets all nodes contained in the configuration + + + + + + The node that was asked for the configuration + + + + + Obtain the node relating to a specified endpoint + + + + + Gets the node that serves the specified slot + + + + + Gets the node that serves the specified slot + + + + + Represents the configuration of a single node in a cluster configuration + + + + + Gets all child nodes of the current node + + + + + Gets the endpoint of the current node + + + + + Gets whether this is the node which responded to the CLUSTER NODES request + + + + + Gets whether this node is a slave + + + + + Gets whether this node is flagged as noaddr + + + + + Gets the node's connection status + + + + + Gets the unique node-id of the current node + + + + + Gets the parent node of the current node + + + + + Gets the unique node-id of the parent of the current node + + + + + The configuration as reported by the server + + + + + The slots owned by this server + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + + + + See Object.Equals + + + + + Indicates whether two ClusterNode instances are equivalent + + + + + See object.GetHashCode() + + + + + See Object.ToString() + + + + + Behaviour markers associated with a given command + + + + + Default behaviour. + + + + + This command may jump regular-priority commands that have not yet been written to the redis stream. + + + + + The caller is not interested in the result; the caller will immediately receive a default-value + of the expected return type (this value is not indicative of anything at the server). + + + + + This operation should be performed on the master if it is available, but read operations may + be performed on a slave if no master is available. This is the default option. + + + + + This operation should only be performed on the master. + + + + + This operation should be performed on the slave if it is available, but will be performed on + a master if no slaves are available. Suitable for read operations only. + + + + + This operation should only be performed on a slave. Suitable for read operations only. + + + + + Indicates that this operation should not be forwarded to other servers as a result of an ASK or MOVED response + + + + + Indicates that script-related operations should use EVAL, not SCRIPT LOAD + EVALSHA + + + + + Represents the commands mapped on a particular configuration + + + + + The default commands specified by redis + + + + + The commands available to https://github.com/twitter/twemproxy + + https://github.com/twitter/twemproxy/blob/master/notes/redis.md + + + + The commands available to http://www.ideawu.com/ssdb/ + + http://www.ideawu.com/ssdb/docs/redis-to-ssdb.html + + + + The commands available to http://redis.io/topics/sentinel + + http://redis.io/topics/sentinel + + + + Create a new CommandMap, customizing some commands + + + + + Creates a CommandMap by specifying which commands are available or unavailable + + + + + See Object.ToString() + + + + + track status of a command while communicating with Redis + + + + + command status unknown + + + + + ConnectionMultiplexer has not yet started writing this command to redis + + + + + command has been sent to Redis + + + + + Represents the information known about long-running commands + + + + + The array composing the arguments of the command. + + + + + The amount of time needed for its execution + + + + + The time at which the logged command was processed. + + + + + A unique progressive identifier for every slow log entry. + + The entry's unique ID can be used in order to avoid processing slow log entries multiple times (for instance you may have a script sending you an email alert for every new slow log entry). The ID is never reset in the course of the Redis server execution, only a server restart will reset it. + + + + Deduces a link to the redis documentation about the specified command + + + + + Helper for Array.ConvertAll() as it's missing on .Net Core. + + + + + Converts array of one type to an array of another type. + + Input type + Output type + source + selector + + + + + A collection of IProfiledCommands. + + This is a very light weight data structure, only supporting enumeration. + + While it implements IEnumerable, it there are fewer allocations if one uses + it's explicit GetEnumerator() method. Using `foreach` does this automatically. + + This type is not threadsafe. + + + + + Implements IEnumerator for ProfiledCommandEnumerable. + This implementation is comparable to List.Enumerator and Dictionary.Enumerator, + and is provided to reduce allocations in the common (ie. foreach) case. + + This type is not threadsafe. + + + + + The current element. + + + + + Advances the enumeration, returning true if there is a new element to consume and false + if enumeration is complete. + + + + + Resets the enumeration. + + + + + Disposes the enumeration. + subsequent attempts to enumerate results in undefined behavior. + + + + + Returns an implementor of IEnumerator that, provided it isn't accessed + though an interface, avoids allocations. + + `foreach` will automatically use this method. + + + + + A thread-safe collection tailored to the "always append, with high contention, then enumerate once with no contention" + behavior of our profiling. + + Performs better than ConcurrentBag, which is important since profiling code shouldn't impact timings. + + + + + This method is thread-safe. + + Adds an element to the bag. + + Order is not preserved. + + The element can only be a member of *one* bag. + + + + + This method returns an enumerable view of the bag, and returns it to + an internal pool for reuse by GetOrCreate(). + + It is not thread safe. + + It should only be called once the bag is finished being mutated. + + + + + This returns the ConcurrentProfileStorageCollection to an internal pool for reuse by GetOrCreate(). + + + + + Returns a ConcurrentProfileStorageCollection to use. + + It *may* have allocated a new one, or it may return one that has previously been released. + To return the collection, call EnumerateAndReturnForReuse() + + + + + Describes a pre-condition used in a redis transaction + + + + + Enforces that the given hash-field must have the specified value + + + + + Enforces that the given hash-field must exist + + + + + Enforces that the given hash-field must not have the specified value + + + + + Enforces that the given hash-field must not exist + + + + + Enforces that the given key must exist + + + + + Enforces that the given key must not exist + + + + + Enforces that the given list index must have the specified value + + + + + Enforces that the given list index must exist + + + + + Enforces that the given list index must not have the specified value + + + + + Enforces that the given list index must not exist + + + + + Enforces that the given key must have the specified value + + + + + Enforces that the given key must not have the specified value + + + + + Enforces that the given hash length is a certain value + + + + + Enforces that the given hash length is less than a certain value + + + + + Enforces that the given hash length is greater than a certain value + + + + + Enforces that the given string length is a certain value + + + + + Enforces that the given string length is less than a certain value + + + + + Enforces that the given string length is greater than a certain value + + + + + Enforces that the given list length is a certain value + + + + + Enforces that the given list length is less than a certain value + + + + + Enforces that the given list length is greater than a certain value + + + + + Enforces that the given set cardinality is a certain value + + + + + Enforces that the given set cardinality is less than a certain value + + + + + Enforces that the given set cardinality is greater than a certain value + + + + + Enforces that the given sorted set cardinality is a certain value + + + + + Enforces that the given sorted set cardinality is less than a certain value + + + + + Enforces that the given sorted set cardinality is greater than a certain value + + + + + Indicates the status of a condition as part of a transaction + + + + + Indicates whether the condition was satisfied + + + + + Specifies the proxy that is being used to communicate to redis + + + + + Direct communication to the redis server(s) + + + + + Communication via twemproxy + + + + + The options relevant to a set of redis connections + + + + + A LocalCertificateSelectionCallback delegate responsible for selecting the certificate used for authentication; note + that this cannot be specified in the configuration-string. + + + + + A RemoteCertificateValidationCallback delegate responsible for validating the certificate supplied by the remote party; note + that this cannot be specified in the configuration-string. + + + + + Gets or sets whether connect/configuration timeouts should be explicitly notified via a TimeoutException + + + + + Indicates whether admin operations should be allowed + + + + + Indicates whether the connection should be encrypted + + + + + Indicates whether the connection should be encrypted + + + + + Configures which Ssl/TLS protocols should be allowed. If not set, defaults are chosen by the .NET framework. + + + + + Automatically encodes and decodes channels + + + + + The client name to use for all connections + + + + + The number of times to repeat the initial connect cycle if no servers respond promptly + + + + + The command-map associated with this configuration + + + + + Channel to use for broadcasting and listening for configuration change notification + + + + + Specifies the time in milliseconds that should be allowed for connection (defaults to 5 seconds unless SyncTimeout is higher) + + + + + The retry policy to be used for connection reconnects + + + + + The server version to assume + + + + + The endpoints defined for this configuration + + + + + Use ThreadPriority.AboveNormal for SocketManager reader and writer threads (true by default). If false, ThreadPriority.Normal will be used. + + + + + Specifies the time in seconds at which connections should be pinged to ensure validity + + + + + The password to use to authenticate with the server + + + + + Type of proxy to use (if any); for example Proxy.Twemproxy + + + + + Indicates whether endpoints should be resolved via DNS before connecting. + If enabled the ConnectionMultiplexer will not re-resolve DNS + when attempting to re-connect after a connection failure. + + + + + The service name used to resolve a service via sentinel + + + + + Gets or sets the SocketManager instance to be used with these options; if this is null a per-multiplexer + SocketManager is created automatically. + + + + + The target-host to use when validating SSL certificate; setting a value here enables SSL mode + + + + + Specifies the time in milliseconds that the system should allow for synchronous operations (defaults to 1 second) + + + + + Specifies the time in milliseconds that the system should allow for responses before concluding that the socket is unhealthy + (defaults to SyncTimeout) + + + + + Tie-breaker used to choose between masters (must match the endpoint exactly) + + + + + The size of the output buffer to use + + + + + Specifies the default database to be used when calling ConnectionMultiplexer.GetDatabase() without any parameters + + + + + Check configuration every n seconds (every minute by default) + + + + + Parse the configuration from a comma-delimited configuration string + + is null. + is empty. + + + + Parse the configuration from a comma-delimited configuration string + + is null. + is empty. + + + + Create a copy of the configuration + + + + + Resolve the default port for any endpoints that did not have a port explicitly specified + + + + + Returns the effective configuration string for this configuration, including Redis credentials. + + + + + Returns the effective configuration string for this configuration + with the option to include or exclude the password from the string. + + + + + Illustrates the counters associated with an individual connection + + + + + The number of operations that have been completed asynchronously + + + + + The number of operations that have been completed synchronously + + + + + The type of this connection + + + + + The number of operations that failed to complete asynchronously + + + + + Indicates if there are any pending items or failures on this connection + + + + + Indicates the total number of messages despatched to a non-preferred endpoint, for example sent to a master + when the caller stated a preference of slave + + + + + The number of operations performed on this connection + + + + + Operations that have been requested, but which have not yet been sent to the server + + + + + Operations for which the response has been processed, but which are awaiting asynchronous completion + + + + + Operations that have been sent to the server, but which are awaiting a response + + + + + The number of sockets used by this logical connection (total, including reconnects) + + + + + The number of subscriptions (with and without patterns) currently held against this connection + + + + + Indicates the total number of outstanding items against this connection + + + + + Indicates the total number of writers items against this connection + + + + + See Object.ToString() + + + + + Contains information about a server connection failure + + + + + Gets the connection-type of the failing connection + + + + + Gets the failing server-endpoint + + + + + Gets the exception if available (this can be null) + + + + + The type of failure + + + + + The known types of connection failure + + + + + This event is not a failure + + + + + No viable connections were available for this operation + + + + + The socket for this connection failed + + + + + Either SSL Stream or Redis authentication failed + + + + + An unexpected response was received from the server + + + + + An unknown internal error occurred + + + + + The socket was closed + + + + + The socket was closed + + + + + The database is loading and is not available for use + + + + + It has not been possible to create an intial connection to the redis server(s) + + + + + Represents an inter-related group of connections to redis servers + + + + + Provides a way of overriding the default Task Factory. If not set, it will use the default Task.Factory. + Useful when top level code sets it's own factory which may interfere with Redis queries. + + + + + Get summary statistics associates with this server + + + + + Gets the client-name that will be used on all new connections + + + + Tries to get the Roleinstance Id if Microsoft.WindowsAzure.ServiceRuntime is loaded. + In case of any failure, swallows the exception and returns null + + + + Gets the configuration of the connection + + + + + A server replied with an error message; + + + + + Write the configuration of all servers to an output stream + + + + + Used internally to synchronize loggine without depending on locking the log instance + + + + + Raised whenever a physical connection fails + + + + + Raised whenever an internal error occurs (this is primarily for debugging) + + + + + Raised whenever a physical connection is established + + + + + Raised when configuration changes are detected + + + + + Raised when nodes are explicitly requested to reconfigure via broadcast; + this usually means master/slave changes + + + + + Gets the timeout associated with the connections + + + + + Gets all endpoints defined on the server + + + + + + Wait for a given asynchronous operation to complete (or timeout) + + + + + Wait for a given asynchronous operation to complete (or timeout) + + + + + Wait for the given asynchronous operations to complete (or timeout) + + + + + Raised when a hash-slot has been relocated + + + + + Compute the hash-slot of a specified key + + + + + Create a new ConnectionMultiplexer instance + + + + + Create a new ConnectionMultiplexer instance + + + + + Create a new ConnectionMultiplexer instance + + + + + Create a new ConnectionMultiplexer instance + + + + + Obtain a pub/sub subscriber connection to the specified server + + + + + Obtain an interactive connection to a database inside redis + + + + + Obtain a configuration API for an individual server + + + + + Obtain a configuration API for an individual server + + + + + Obtain a configuration API for an individual server + + + + + Obtain a configuration API for an individual server + + + + + The number of operations that have been performed on all connections + + + + + Reconfigure the current connections based on the existing configuration + + + + + Reconfigure the current connections based on the existing configuration + + + + + Provides a text overview of the status of all connections + + + + + Provides a text overview of the status of all connections + + + + + See Object.ToString() + + + + + Gets or sets whether asynchronous operations should be invoked in a way that guarantees their original delivery order + + + + + Indicates whether any servers are connected + + + + + Close all connections and release all resources associated with this object + + + + + Close all connections and release all resources associated with this object + + + + + Release all resources associated with this object + + + + + Should exceptions include identifiable details? (key names, additional .Data annotations) + + + + + Should exceptions include performance counter details? (CPU usage, etc - note that this can be problematic on some platforms) + + + + + Limit at which to start recording unusual busy patterns (only one log will be retained at a time; + set to a negative value to disable this feature) + + + + + Obtains the log of unusual busy patterns + + + + + Resets the log of unusual busy patterns + + + + + Request all compatible clients to reconfigure or reconnect + + The number of instances known to have received the message (however, the actual number can be higher; returns -1 if the operation is pending) + + + + Request all compatible clients to reconfigure or reconnect + + The number of instances known to have received the message (however, the actual number can be higher) + + + + Sets an IProfiler instance for this ConnectionMultiplexer. + + An IProfiler instances is used to determine which context to associate an + IProfiledCommand with. See BeginProfiling(object) and FinishProfiling(object) + for more details. + + + + + Begins profiling for the given context. + + If the same context object is returned by the registered IProfiler, the IProfiledCommands + will be associated with each other. + + Call FinishProfiling with the same context to get the assocated commands. + + Note that forContext cannot be a WeakReference or a WeakReference<T> + + + + + Stops profiling for the given context, returns all IProfiledCommands associated. + + By default this may do a sweep for dead profiling contexts, you can disable this by passing "allowCleanupSweep: false". + + + + + The type of a connection + + + + + Not connection-type related + + + + + An interactive connection handles request/response commands for accessing data on demand + + + + + A subscriber connection recieves unsolicted messages from the server as pub/sub events occur + + + + + Completion type for CompletionTypeHelper + + + + + Retain original completion type (either sync or async) + + + + + Force sync completion + + + + + Force async completion + + + + + A list of endpoints + + + + + Create a new EndPointCollection + + + + + Create a new EndPointCollection + + + + + Format an endpoint + + + + + Attempt to parse a string into an EndPoint + + + + + Adds a new endpoint to the list + + + + + Adds a new endpoint to the list + + + + + Adds a new endpoint to the list + + + + + See Collection<T>.InsertItem() + + + + + See Collection<T>.SetItem() + + + + + Event information related to redis endpoints + + + + + The endpoint involved in this event (this can be null) + + + + + When performing a range query, by default the start / stop limits are inclusive; + however, both can also be specified separately as exclusive + + + + + Both start and stop are inclusive + + + + + Start is exclusive, stop is inclusive + + + + + Start is inclusive, stop is exclusive + + + + + Both start and stop are exclusive + + + + + Represents a retry policy that performs retries, using a randomized exponential back off scheme to determine the interval between retries. + + + + + Initializes a new instance using the specified back off interval with default maxDeltaBackOffMilliseconds of 10 seconds + + time in milliseconds for the back-off interval between retries + + + + Initializes a new instance using the specified back off interval. + + time in milliseconds for the back-off interval between retries + time in milliseconds for the maximum value that the back-off interval can exponentailly grow upto + + + + This method is called by the ConnectionMultiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the ConnectionMultiplexer while it was in the connecting state + Total elapsed time in milliseconds since the last reconnect retry was made + + + + Which settings to export + + + + + No options + + + + + The output of INFO + + + + + The output of CONFIG GET * + + + + + The output of CLIENT LIST + + + + + The output of CLUSTER NODES + + + + + Everything available + + + + + Utility methods + + + + + Create a dictionary from an array of HashEntry values + + + + + Create a dictionary from an array of HashEntry values + + + + + Create a dictionary from an array of SortedSetEntry values + + + + + Create a dictionary from an array of SortedSetEntry values + + + + + Create a dictionary from an array of key/value pairs + + + + + Create a dictionary from an array of key/value pairs + + + + + Create a dictionary from an array of string pairs + + + + + Create an array of strings from an array of values + + + + + GeoRadius command options. + + + + + No Options + + + + + Redis will return the coordinates of any results. + + + + + Redis will return the distance from center for all results. + + + + + Redis will return the geo hash value as an integer. (This is the score in the sorted set) + + + + + Populates the commonly used values from the entry (the integer hash is not returned as it is not commonly useful) + + + + + The result of a GeoRadius command. + + + + + Indicate the member being represented + + + + + The matched member. + + + + + The distance of the matched member from the center of the geo radius command. + + + + + The hash value of the matched member as an integer. (The key in the sorted set) + + Note that this is not the same as the hash returned from GeoHash + + + + The coordinates of the matched member. + + + + + Returns a new GeoRadiusResult + + + + + Describes the longitude and latitude of a GeoEntry + + + + + The Latitude of the GeoPosition + + + + + The Logitude of the GeoPosition + + + + + Creates a new GeoPosition + + + + + + + See Object.ToString() + + + + + See Object.GetHashCode() + Diagonals not an issue in the case of lat/long + + + + + Compares two values for equality + + + + + Compares two values for equality + + + + + Compares two values for equality + + + + + Compares two values for non-equality + + + + + Describes a GeoEntry element with the corresponding value + GeoEntries are stored in redis as SortedSetEntries + + + + + The name of the geo entry + + + + + Describes the longitude and latitude of a GeoEntry + + + + + Initializes a GeoEntry value + + + + + The longitude of the geo entry + + + + + The latitude of the geo entry + + + + + See Object.ToString() + + + + + See Object.GetHashCode() + + + + + Compares two values for equality + + + + + Compares two values for equality + + + + + Compares two values for equality + + + + + Compares two values for non-equality + + + + + Units associated with Geo Commands + + + + + Meters + + + + + Kilometers + + + + + Miles + + + + + Feet + + + + + Describes a hash-field (a name/value pair) + + + + + Initializes a HashEntry value + + + + + The name of the hash field + + + + + The value of the hash field + + + + + The name of the hash field + + + + + Converts to a key/value pair + + + + + Converts from a key/value pair + + + + + See Object.ToString() + + + + + See Object.GetHashCode() + + + + + Compares two values for equality + + + + + Compares two values for equality + + + + + Compares two values for equality + + + + + Compares two values for non-equality + + + + + Contains information about individual hash-slot relocations + + + + + The hash-slot that was relocated + + + + + The old endpoint for this hash-slot (if known) + + + + + The new endpoint for this hash-slot (if known) + + + + + Represents a block of operations that will be sent to the server together; + this can be useful to reduce packet fragmentation on slow connections - it + can improve the time to get *all* the operations processed, with the trade-off + of a slower time to get the *first* operation processed; this is usually + a good thing. Unless this batch is a transaction, there is no guarantee + that these operations will be processed either contiguously or atomically by the server. + + + + + Execute the batch operation, sending all queued commands to the server. + Note that this operation is neither synchronous nor truly asyncronous - it + simply enqueues the buffered messages. To check on completion, you should + check the individual responses. + + + + + Represents the abstract multiplexer API + + + + + Gets the client-name that will be used on all new connections + + + + + Gets the configuration of the connection + + + + + Gets the timeout associated with the connections + + + + + The number of operations that have been performed on all connections + + + + + Gets or sets whether asynchronous operations should be invoked in a way that guarantees their original delivery order + + + + + Indicates whether any servers are connected + + + + + Should exceptions include identifiable details? (key names, additional .Data annotations) + + + + + Limit at which to start recording unusual busy patterns (only one log will be retained at a time; + set to a negative value to disable this feature) + + + + + Sets an IProfiler instance for this ConnectionMultiplexer. + + An IProfiler instances is used to determine which context to associate an + IProfiledCommand with. See BeginProfiling(object) and FinishProfiling(object) + for more details. + + + + + Begins profiling for the given context. + + If the same context object is returned by the registered IProfiler, the IProfiledCommands + will be associated with each other. + + Call FinishProfiling with the same context to get the assocated commands. + + Note that forContext cannot be a WeakReference or a WeakReference<T> + + + + + Stops profiling for the given context, returns all IProfiledCommands associated. + + By default this may do a sweep for dead profiling contexts, you can disable this by passing "allowCleanupSweep: false". + + + + + Get summary statistics associates with this server + + + + + A server replied with an error message; + + + + + Raised whenever a physical connection fails + + + + + Raised whenever an internal error occurs (this is primarily for debugging) + + + + + Raised whenever a physical connection is established + + + + + Raised when configuration changes are detected + + + + + Raised when nodes are explicitly requested to reconfigure via broadcast; + this usually means master/slave changes + + + + + Gets all endpoints defined on the server + + + + + + Wait for a given asynchronous operation to complete (or timeout) + + + + + Wait for a given asynchronous operation to complete (or timeout) + + + + + Wait for the given asynchronous operations to complete (or timeout) + + + + + Raised when a hash-slot has been relocated + + + + + Compute the hash-slot of a specified key + + + + + Obtain a pub/sub subscriber connection to the specified server + + + + + Obtain an interactive connection to a database inside redis + + + + + Obtain a configuration API for an individual server + + + + + Obtain a configuration API for an individual server + + + + + Obtain a configuration API for an individual server + + + + + Obtain a configuration API for an individual server + + + + + Reconfigure the current connections based on the existing configuration + + + + + Reconfigure the current connections based on the existing configuration + + + + + Provides a text overview of the status of all connections + + + + + Provides a text overview of the status of all connections + + + + + See Object.ToString() + + + + + Close all connections and release all resources associated with this object + + + + + Close all connections and release all resources associated with this object + + + + + Release all resources associated with this object + + + + + Obtains the log of unusual busy patterns + + + + + Resets the log of unusual busy patterns + + + + + Request all compatible clients to reconfigure or reconnect + + The number of instances known to have received the message (however, the actual number can be higher; returns -1 if the operation is pending) + + + + Request all compatible clients to reconfigure or reconnect + + The number of instances known to have received the message (however, the actual number can be higher) + + + + Describes functionality that is common to both standalone redis servers and redis clusters + + + + + The numeric identifier of this database + + + + + Allows creation of a group of operations that will be sent to the server as a single unit, + but which may or may not be processed on the server contiguously. + + + + + Atomically transfer a key from a source Redis instance to a destination Redis instance. On success the key is deleted from the original instance by default, and is guaranteed to exist in the target instance. + + http://redis.io/commands/MIGRATE + + + + Allows creation of a group of operations that will be sent to the server as a single unit, + and processed on the server as a single unit. + + + + + Returns the raw DEBUG OBJECT output for a key; this command is not fully documented and should be avoided unless you have good reason, and then avoided anyway. + + http://redis.io/commands/debug-object + + + + Add the specified member to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + True if the specified member was not already present in the set, else False + http://redis.io/commands/geoadd + + + + Add the specified member to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + True if the specified member was not already present in the set, else False + http://redis.io/commands/geoadd + + + + Add the specified members to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + the number of elements that were added to the set, not including all the elements already present into the set. + http://redis.io/commands/geoadd + + + + Removes the specified member from the geo sorted set stored at key. Non existing members are ignored. + + True if the member existed in the sorted set and was removed; False otherwise. + http://redis.io/commands/zrem + + + + Return the distance between two members in the geospatial index represented by the sorted set. + + The command returns the distance as a double (represented as a string) in the specified unit, or NULL if one or both the elements are missing. + http://redis.io/commands/geodist + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + http://redis.io/commands/geohash + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + http://redis.io/commands/geohash + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command.Non existing elements are reported as NULL elements of the array. + http://redis.io/commands/geopos + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command.Non existing elements are reported as NULL elements of the array. + http://redis.io/commands/geopos + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + GeoRadiusResult[] + http://redis.io/commands/georadius + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + GeoRadiusResult[] + http://redis.io/commands/georadius + + + + Decrements the number stored at field in the hash stored at key by decrement. If key does not exist, a new key holding a hash is created. If field does not exist or holds a string that cannot be interpreted as integer, the value is set to 0 before the operation is performed. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + the value at field after the decrement operation. + http://redis.io/commands/hincrby + + + + Decrement the specified field of an hash stored at key, and representing a floating point number, by the specified decrement. If the field does not exist, it is set to 0 before performing the operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + the value at field after the decrement operation. + http://redis.io/commands/hincrbyfloat + + + + Removes the specified fields from the hash stored at key. Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + http://redis.io/commands/hdel + The number of fields that were removed. + + + + Removes the specified fields from the hash stored at key. Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + http://redis.io/commands/hdel + The number of fields that were removed. + + + + Returns if field is an existing field in the hash stored at key. + + 1 if the hash contains field. 0 if the hash does not contain field, or key does not exist. + http://redis.io/commands/hexists + + + + Returns the value associated with field in the hash stored at key. + + the value associated with field, or nil when field is not present in the hash or key does not exist. + http://redis.io/commands/hget + + + + Returns the values associated with the specified fields in the hash stored at key. + For every field that does not exist in the hash, a nil value is returned.Because a non-existing keys are treated as empty hashes, running HMGET against a non-existing key will return a list of nil values. + + list of values associated with the given fields, in the same order as they are requested. + http://redis.io/commands/hmget + + + + Returns all fields and values of the hash stored at key. + + list of fields and their values stored in the hash, or an empty list when key does not exist. + http://redis.io/commands/hgetall + + + + Increments the number stored at field in the hash stored at key by increment. If key does not exist, a new key holding a hash is created. If field does not exist or holds a string that cannot be interpreted as integer, the value is set to 0 before the operation is performed. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + the value at field after the increment operation. + http://redis.io/commands/hincrby + + + + Increment the specified field of an hash stored at key, and representing a floating point number, by the specified increment. If the field does not exist, it is set to 0 before performing the operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + the value at field after the increment operation. + http://redis.io/commands/hincrbyfloat + + + + Returns all field names in the hash stored at key. + + list of fields in the hash, or an empty list when key does not exist. + http://redis.io/commands/hkeys + + + + Returns the number of fields contained in the hash stored at key. + + number of fields in the hash, or 0 when key does not exist. + http://redis.io/commands/hlen + + + + The HSCAN command is used to incrementally iterate over a hash + + yields all elements of the hash. + http://redis.io/commands/hscan + + + + The HSCAN command is used to incrementally iterate over a hash; note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor. + + yields all elements of the hash. + http://redis.io/commands/hscan + + + + Sets the specified fields to their respective values in the hash stored at key. This command overwrites any existing fields in the hash. If key does not exist, a new key holding a hash is created. + + http://redis.io/commands/hmset + + + + Sets field in the hash stored at key to value. If key does not exist, a new key holding a hash is created. If field already exists in the hash, it is overwritten. + + 1 if field is a new field in the hash and value was set. 0 if field already exists in the hash and the value was updated. + http://redis.io/commands/hset + http://redis.io/commands/hsetnx + + + + Returns all values in the hash stored at key. + + list of values in the hash, or an empty list when key does not exist. + http://redis.io/commands/hvals + + + + Adds the element to the HyperLogLog data structure stored at the variable name specified as first argument. + + true if at least 1 HyperLogLog internal register was altered. false otherwise. + http://redis.io/commands/pfadd + + + + Adds all the element arguments to the HyperLogLog data structure stored at the variable name specified as first argument. + + true if at least 1 HyperLogLog internal register was altered. false otherwise. + http://redis.io/commands/pfadd + + + + Returns the approximated cardinality computed by the HyperLogLog data structure stored at the specified variable, or 0 if the variable does not exist. + + The approximated number of unique elements observed via HyperLogLogAdd. + http://redis.io/commands/pfcount + + + + Returns the approximated cardinality of the union of the HyperLogLogs passed, by internally merging the HyperLogLogs stored at the provided keys into a temporary hyperLogLog, or 0 if the variable does not exist. + + The approximated number of unique elements observed via HyperLogLogAdd. + http://redis.io/commands/pfcount + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + http://redis.io/commands/pfmerge + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + http://redis.io/commands/pfmerge + + + + Inidicate exactly which redis server we are talking to + + + + + Removes the specified key. A key is ignored if it does not exist. + + True if the key was removed. + http://redis.io/commands/del + + + + Removes the specified keys. A key is ignored if it does not exist. + + The number of keys that were removed. + http://redis.io/commands/del + + + + Serialize the value stored at key in a Redis-specific format and return it to the user. The returned value can be synthesized back into a Redis key using the RESTORE command. + + the serialized value. + http://redis.io/commands/dump + + + + Returns if key exists. + + 1 if the key exists. 0 if the key does not exist. + http://redis.io/commands/exists + + + + Set a timeout on key. After the timeout has expired, the key will automatically be deleted. A key with an associated timeout is said to be volatile in Redis terminology. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. So, if key already has an associated timeout, it will do nothing and return 0. Since Redis 2.1.3, you can update the timeout of a key. It is also possible to remove the timeout using the PERSIST command. See the page on key expiry for more information. + 1 if the timeout was set. 0 if key does not exist or the timeout could not be set. + http://redis.io/commands/expire + http://redis.io/commands/pexpire + http://redis.io/commands/persist + + + + Set a timeout on key. After the timeout has expired, the key will automatically be deleted. A key with an associated timeout is said to be volatile in Redis terminology. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. So, if key already has an associated timeout, it will do nothing and return 0. Since Redis 2.1.3, you can update the timeout of a key. It is also possible to remove the timeout using the PERSIST command. See the page on key expiry for more information. + 1 if the timeout was set. 0 if key does not exist or the timeout could not be set. + http://redis.io/commands/expireat + http://redis.io/commands/pexpireat + http://redis.io/commands/persist + + + + Move key from the currently selected database (see SELECT) to the specified destination database. When key already exists in the destination database, or it does not exist in the source database, it does nothing. It is possible to use MOVE as a locking primitive because of this. + + 1 if key was moved; 0 if key was not moved. + http://redis.io/commands/move + + + Remove the existing timeout on key, turning the key from volatile (a key with an expire set) to persistent (a key that will never expire as no timeout is associated). + 1 if the timeout was removed. 0 if key does not exist or does not have an associated timeout. + http://redis.io/commands/persist + + + + Return a random key from the currently selected database. + + the random key, or nil when the database is empty. + http://redis.io/commands/randomkey + + + + Renames key to newkey. It returns an error when the source and destination names are the same, or when key does not exist. + + http://redis.io/commands/rename + http://redis.io/commands/renamenx + + + + Create a key associated with a value that is obtained by deserializing the provided serialized value (obtained via DUMP). + If ttl is 0 the key is created without any expire, otherwise the specified expire time(in milliseconds) is set. + + http://redis.io/commands/restore + + + + Returns the remaining time to live of a key that has a timeout. This introspection capability allows a Redis client to check how many seconds a given key will continue to be part of the dataset. + + TTL, or nil when key does not exist or does not have a timeout. + http://redis.io/commands/ttl + + + + Returns the string representation of the type of the value stored at key. The different types that can be returned are: string, list, set, zset and hash. + + type of key, or none when key does not exist. + http://redis.io/commands/type + + + + Returns the element at index index in the list stored at key. The index is zero-based, so 0 means the first element, 1 the second element and so on. Negative indices can be used to designate elements starting at the tail of the list. Here, -1 means the last element, -2 means the penultimate and so forth. + + the requested element, or nil when index is out of range. + http://redis.io/commands/lindex + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + the length of the list after the insert operation, or -1 when the value pivot was not found. + http://redis.io/commands/linsert + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + the length of the list after the insert operation, or -1 when the value pivot was not found. + http://redis.io/commands/linsert + + + + Removes and returns the first element of the list stored at key. + + the value of the first element, or nil when key does not exist. + http://redis.io/commands/lpop + + + + Insert the specified value at the head of the list stored at key. If key does not exist, it is created as empty list before performing the push operations. + + the length of the list after the push operations. + http://redis.io/commands/lpush + http://redis.io/commands/lpushx + + + + Insert all the specified values at the head of the list stored at key. If key does not exist, it is created as empty list before performing the push operations. + Elements are inserted one after the other to the head of the list, from the leftmost element to the rightmost element. So for instance the command LPUSH mylist a b c will result into a list containing c as first element, b as second element and a as third element. + + the length of the list after the push operations. + http://redis.io/commands/lpush + + + + Returns the length of the list stored at key. If key does not exist, it is interpreted as an empty list and 0 is returned. + + the length of the list at key. + http://redis.io/commands/llen + + + + Returns the specified elements of the list stored at key. The offsets start and stop are zero-based indexes, with 0 being the first element of the list (the head of the list), 1 being the next element and so on. + These offsets can also be negative numbers indicating offsets starting at the end of the list.For example, -1 is the last element of the list, -2 the penultimate, and so on. + Note that if you have a list of numbers from 0 to 100, LRANGE list 0 10 will return 11 elements, that is, the rightmost item is included. + + list of elements in the specified range. + http://redis.io/commands/lrange + + + + Removes the first count occurrences of elements equal to value from the list stored at key. The count argument influences the operation in the following ways: + count > 0: Remove elements equal to value moving from head to tail. + count < 0: Remove elements equal to value moving from tail to head. + count = 0: Remove all elements equal to value. + + the number of removed elements. + http://redis.io/commands/lrem + + + + Removes and returns the last element of the list stored at key. + + http://redis.io/commands/rpop + + + + Atomically returns and removes the last element (tail) of the list stored at source, and pushes the element at the first element (head) of the list stored at destination. + + the element being popped and pushed. + http://redis.io/commands/rpoplpush + + + + Insert the specified value at the tail of the list stored at key. If key does not exist, it is created as empty list before performing the push operation. + + the length of the list after the push operation. + http://redis.io/commands/rpush + http://redis.io/commands/rpushx + + + + Insert all the specified values at the tail of the list stored at key. If key does not exist, it is created as empty list before performing the push operation. + Elements are inserted one after the other to the tail of the list, from the leftmost element to the rightmost element. So for instance the command RPUSH mylist a b c will result into a list containing a as first element, b as second element and c as third element. + + the length of the list after the push operation. + http://redis.io/commands/rpush + + + + Sets the list element at index to value. For more information on the index argument, see ListGetByIndex. An error is returned for out of range indexes. + + http://redis.io/commands/lset + + + + Trim an existing list so that it will contain only the specified range of elements specified. Both start and stop are zero-based indexes, where 0 is the first element of the list (the head), 1 the next element and so on. + For example: LTRIM foobar 0 2 will modify the list stored at foobar so that only the first three elements of the list will remain. + start and end can also be negative numbers indicating offsets from the end of the list, where -1 is the last element of the list, -2 the penultimate element and so on. + + http://redis.io/commands/ltrim + + + + Extends a lock, if the token value is correct + + + + + Queries the token held against a lock + + + + + Releases a lock, if the token value is correct + + + + + Takes a lock (specifying a token value) if it is not already taken + + + + + Posts a message to the given channel. + + the number of clients that received the message. + http://redis.io/commands/publish + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API + + A dynamic representation of the command's result + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API + + A dynamic representation of the command's result + + + + Execute a Lua script against the server + + http://redis.io/commands/eval, http://redis.io/commands/evalsha + A dynamic representation of the script's result + + + + Execute a Lua script against the server using just the SHA1 hash + + http://redis.io/commands/evalsha + A dynamic representation of the script's result + + + + Execute a lua script against the server, using previously prepared script. + Named parameters, if any, are provided by the `parameters` object. + + + + + Execute a lua script against the server, using previously prepared and loaded script. + This method sends only the SHA1 hash of the lua script to Redis. + Named parameters, if any, are provided by the `parameters` object. + + + + + Add the specified member to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + True if the specified member was not already present in the set, else False + http://redis.io/commands/sadd + + + + Add the specified members to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + the number of elements that were added to the set, not including all the elements already present into the set. + http://redis.io/commands/sadd + + + + Returns the members of the set resulting from the specified operation against the given sets. + + list with members of the resulting set. + http://redis.io/commands/sunion + http://redis.io/commands/sinter + http://redis.io/commands/sdiff + + + + Returns the members of the set resulting from the specified operation against the given sets. + + list with members of the resulting set. + http://redis.io/commands/sunion + http://redis.io/commands/sinter + http://redis.io/commands/sdiff + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. If destination already exists, it is overwritten. + + the number of elements in the resulting set. + http://redis.io/commands/sunionstore + http://redis.io/commands/sinterstore + http://redis.io/commands/sdiffstore + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. If destination already exists, it is overwritten. + + the number of elements in the resulting set. + http://redis.io/commands/sunionstore + http://redis.io/commands/sinterstore + http://redis.io/commands/sdiffstore + + + + Returns if member is a member of the set stored at key. + + 1 if the element is a member of the set. 0 if the element is not a member of the set, or if key does not exist. + http://redis.io/commands/sismember + + + + Returns the set cardinality (number of elements) of the set stored at key. + + the cardinality (number of elements) of the set, or 0 if key does not exist. + http://redis.io/commands/scard + + + + Returns all the members of the set value stored at key. + + all elements of the set. + http://redis.io/commands/smembers + + + + Move member from the set at source to the set at destination. This operation is atomic. In every given moment the element will appear to be a member of source or destination for other clients. + When the specified element already exists in the destination set, it is only removed from the source set. + + 1 if the element is moved. 0 if the element is not a member of source and no operation was performed. + http://redis.io/commands/smove + + + + Removes and returns a random element from the set value stored at key. + + the removed element, or nil when key does not exist. + http://redis.io/commands/spop + + + + Return a random element from the set value stored at key. + + the randomly selected element, or nil when key does not exist + http://redis.io/commands/srandmember + + + + Return an array of count distinct elements if count is positive. If called with a negative count the behavior changes and the command is allowed to return the same element multiple times. + In this case the numer of returned elements is the absolute value of the specified count. + + an array of elements, or an empty array when key does not exist + http://redis.io/commands/srandmember + + + + Remove the specified member from the set stored at key. Specified members that are not a member of this set are ignored. + + True if the specified member was already present in the set, else False + http://redis.io/commands/srem + + + + Remove the specified members from the set stored at key. Specified members that are not a member of this set are ignored. + + the number of members that were removed from the set, not including non existing members. + http://redis.io/commands/srem + + + + The SSCAN command is used to incrementally iterate over set + + yields all elements of the set. + http://redis.io/commands/sscan + + + + The SSCAN command is used to incrementally iterate over set; note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor. + + yields all elements of the set. + http://redis.io/commands/sscan + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default); By default, the elements themselves are compared, but the values can also be + used to perform external key-lookups using the by parameter. By default, the elements themselves are returned, but external key-lookups (one or many) can + be performed instead by specifying the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. When used in hashes, by and get + can be used to specify fields using -> notation (again, refer to redis documentation). + + http://redis.io/commands/sort + Returns the sorted elements, or the external values if get is specified + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default); By default, the elements themselves are compared, but the values can also be + used to perform external key-lookups using the by parameter. By default, the elements themselves are returned, but external key-lookups (one or many) can + be performed instead by specifying the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. When used in hashes, by and get + can be used to specify fields using -> notation (again, refer to redis documentation). + + http://redis.io/commands/sort + Returns the number of elements stored in the new list + + + + Adds the specified member with the specified score to the sorted set stored at key. If the specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + True if the value was added, False if it already existed (the score is still updated) + http://redis.io/commands/zadd + + + + Adds the specified member with the specified score to the sorted set stored at key. If the specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + True if the value was added, False if it already existed (the score is still updated) + http://redis.io/commands/zadd + + + + Adds all the specified members with the specified scores to the sorted set stored at key. If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The number of elements added to the sorted sets, not including elements already existing for which the score was updated. + http://redis.io/commands/zadd + + + + Adds all the specified members with the specified scores to the sorted set stored at key. If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The number of elements added to the sorted sets, not including elements already existing for which the score was updated. + http://redis.io/commands/zadd + + + + Computes a set operation over two sorted sets, and stores the result in destination, optionally performing + a specific aggregation (defaults to sum) + + http://redis.io/commands/zunionstore + http://redis.io/commands/zinterstore + the number of elements in the resulting sorted set at destination + + + + Computes a set operation over multiple sorted sets (optionally using per-set weights), and stores the result in destination, optionally performing + a specific aggregation (defaults to sum) + + http://redis.io/commands/zunionstore + http://redis.io/commands/zinterstore + the number of elements in the resulting sorted set at destination + + + + Decrements the score of member in the sorted set stored at key by decrement. If member does not exist in the sorted set, it is added with -decrement as its score (as if its previous score was 0.0). + + the new score of member + http://redis.io/commands/zincrby + + + + Increments the score of member in the sorted set stored at key by increment. If member does not exist in the sorted set, it is added with increment as its score (as if its previous score was 0.0). + + the new score of member + http://redis.io/commands/zincrby + + + + Returns the sorted set cardinality (number of elements) of the sorted set stored at key. + + the cardinality (number of elements) of the sorted set, or 0 if key does not exist. + http://redis.io/commands/zcard + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns the number of elements in the sorted set at key with a value between min and max. + + the number of elements in the specified score range. + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns all the elements in the sorted set at key with a value between min and max. + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + list of elements in the specified range + http://redis.io/commands/zrange + http://redis.io/commands/zrevrange + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + list of elements in the specified range + http://redis.io/commands/zrange + http://redis.io/commands/zrevrange + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. Similar to other range methods the values are inclusive. + + list of elements in the specified score range + http://redis.io/commands/zrangebyscore + http://redis.io/commands/zrevrangebyscore + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. Similar to other range methods the values are inclusive. + + list of elements in the specified score range + http://redis.io/commands/zrangebyscore + http://redis.io/commands/zrevrangebyscore + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns all the elements in the sorted set at key with a value between min and max. + + http://redis.io/commands/zrangebylex + list of elements in the specified score range. + + + + Returns the rank of member in the sorted set stored at key, by default with the scores ordered from low to high. The rank (or index) is 0-based, which means that the member with the lowest score has rank 0. + + If member exists in the sorted set, the rank of member; If member does not exist in the sorted set or key does not exist, null + http://redis.io/commands/zrank + http://redis.io/commands/zrevrank + + + + Removes the specified member from the sorted set stored at key. Non existing members are ignored. + + True if the member existed in the sorted set and was removed; False otherwise. + http://redis.io/commands/zrem + + + + Removes the specified members from the sorted set stored at key. Non existing members are ignored. + + The number of members removed from the sorted set, not including non existing members. + http://redis.io/commands/zrem + + + + Removes all elements in the sorted set stored at key with rank between start and stop. Both start and stop are 0 -based indexes with 0 being the element with the lowest score. These indexes can be negative numbers, where they indicate offsets starting at the element with the highest score. For example: -1 is the element with the highest score, -2 the element with the second highest score and so forth. + + the number of elements removed. + http://redis.io/commands/zremrangebyrank + + + + Removes all elements in the sorted set stored at key with a score between min and max (inclusive by default). + + the number of elements removed. + http://redis.io/commands/zremrangebyscore + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command removes all elements in the sorted set stored at key between the lexicographical range specified by min and max. + + http://redis.io/commands/zremrangebylex + the number of elements removed. + + + + The ZSCAN command is used to incrementally iterate over a sorted set + + yields all elements of the sorted set. + http://redis.io/commands/zscan + + + + The ZSCAN command is used to incrementally iterate over a sorted set; note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor. + + yields all elements of the sorted set. + http://redis.io/commands/zscan + + + + Returns the score of member in the sorted set at key; If member does not exist in the sorted set, or key does not exist, nil is returned. + + the score of member + http://redis.io/commands/zscore + + + + If key already exists and is a string, this command appends the value at the end of the string. If key does not exist it is created and set as an empty string, + so APPEND will be similar to SET in this special case. + + the length of the string after the append operation. + http://redis.io/commands/append + + + + Count the number of set bits (population counting) in a string. + By default all the bytes contained in the string are examined.It is possible to specify the counting operation only in an interval passing the additional arguments start and end. + Like for the GETRANGE command start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The number of bits set to 1 + http://redis.io/commands/bitcount + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator: the second key should be omitted in this case + and only the first key will be considered. + The result of the operation is always stored at destkey. + + The size of the string stored in the destination key, that is equal to the size of the longest input string. + http://redis.io/commands/bitop + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator. + The result of the operation is always stored at destkey. + + The size of the string stored in the destination key, that is equal to the size of the longest input string. + http://redis.io/commands/bitop + + + + Return the position of the first bit set to 1 or 0 in a string. + The position is returned thinking at the string as an array of bits from left to right where the first byte most significant bit is at position 0, the second byte most significant bit is at position 8 and so forth. + An start and end may be specified; these are in bytes, not bits; start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The command returns the position of the first bit set to 1 or 0 according to the request. + If we look for set bits(the bit argument is 1) and the string is empty or composed of just zero bytes, -1 is returned. + http://redis.io/commands/bitpos + + + + Decrements the number stored at key by decrement. If the key does not exist, it is set to 0 before performing the operation. + An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. This operation is limited to 64 bit signed integers. + + the value of key after the decrement + http://redis.io/commands/decrby + http://redis.io/commands/decr + + + + Decrements the string representing a floating point number stored at key by the specified decrement. If the key does not exist, it is set to 0 before performing the operation. The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + the value of key after the decrement + http://redis.io/commands/incrbyfloat + + + + Get the value of key. If the key does not exist the special value nil is returned. An error is returned if the value stored at key is not a string, because GET only handles string values. + + the value of key, or nil when key does not exist. + http://redis.io/commands/get + + + + Returns the values of all specified keys. For every key that does not hold a string value or does not exist, the special value nil is returned. + + http://redis.io/commands/mget + + + + Returns the bit value at offset in the string value stored at key. + When offset is beyond the string length, the string is assumed to be a contiguous space with 0 bits. + + the bit value stored at offset. + http://redis.io/commands/getbit + + + + Returns the substring of the string value stored at key, determined by the offsets start and end (both are inclusive). Negative offsets can be used in order to provide an offset starting from the end of the string. So -1 means the last character, -2 the penultimate and so forth. + + the substring of the string value stored at key + http://redis.io/commands/getrange + + + + Atomically sets key to value and returns the old value stored at key. + + http://redis.io/commands/getset + the old value stored at key, or nil when key did not exist. + + + + Get the value of key. If the key does not exist the special value nil is returned. An error is returned if the value stored at key is not a string, because GET only handles string values. + + the value of key, or nil when key does not exist. + http://redis.io/commands/get + + + + Increments the number stored at key by increment. If the key does not exist, it is set to 0 before performing the operation. An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. This operation is limited to 64 bit signed integers. + + the value of key after the increment + http://redis.io/commands/incrby + http://redis.io/commands/incr + + + + Increments the string representing a floating point number stored at key by the specified increment. If the key does not exist, it is set to 0 before performing the operation. The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + the value of key after the increment + http://redis.io/commands/incrbyfloat + + + + Returns the length of the string value stored at key. + + the length of the string at key, or 0 when key does not exist. + http://redis.io/commands/strlen + + + + Set key to hold the string value. If key already holds a value, it is overwritten, regardless of its type. + + http://redis.io/commands/set + + + + Sets the given keys to their respective values. If "not exists" is specified, this will not perform any operation at all even if just a single key already exists. + + True if the keys were set, else False + http://redis.io/commands/mset + http://redis.io/commands/msetnx + + + + Sets or clears the bit at offset in the string value stored at key. + The bit is either set or cleared depending on value, which can be either 0 or 1. When key does not exist, a new string value is created.The string is grown to make sure it can hold a bit at offset. + + the original bit value stored at offset. + http://redis.io/commands/setbit + + + + Overwrites part of the string stored at key, starting at the specified offset, for the entire length of value. If the offset is larger than the current length of the string at key, the string is padded with zero-bytes to make offset fit. Non-existing keys are considered as empty strings, so this command will make sure it holds a string large enough to be able to set value at offset. + + the length of the string after it was modified by the command. + http://redis.io/commands/setrange + + + + Describes functionality that is common to both standalone redis servers and redis clusters + + + + + Returns the raw DEBUG OBJECT output for a key; this command is not fully documented and should be avoided unless you have good reason, and then avoided anyway. + + http://redis.io/commands/debug-object + + + + Add the specified member to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + True if the specified member was not already present in the set, else False + http://redis.io/commands/geoadd + + + + Add the specified member to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + True if the specified member was not already present in the set, else False + http://redis.io/commands/geoadd + + + + Add the specified members to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + the number of elements that were added to the set, not including all the elements already present into the set. + http://redis.io/commands/geoadd + + + + Removes the specified member from the geo sorted set stored at key. Non existing members are ignored. + + True if the member existed in the sorted set and was removed; False otherwise. + http://redis.io/commands/zrem + + + + Return the distance between two members in the geospatial index represented by the sorted set. + + The command returns the distance as a double (represented as a string) in the specified unit, or NULL if one or both the elements are missing. + http://redis.io/commands/geodist + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + http://redis.io/commands/geohash + + + + Return valid Geohash strings representing the position of one or more elements in a sorted set value representing a geospatial index (where elements were added using GEOADD). + + The command returns an array where each element is the Geohash corresponding to each member name passed as argument to the command. + http://redis.io/commands/geohash + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command.Non existing elements are reported as NULL elements of the array. + http://redis.io/commands/geopos + + + + Return the positions (longitude,latitude) of all the specified members of the geospatial index represented by the sorted set at key. + + The command returns an array where each element is a two elements array representing longitude and latitude (x,y) of each member name passed as argument to the command.Non existing elements are reported as NULL elements of the array. + http://redis.io/commands/geopos + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + GeoRadiusResult[] + http://redis.io/commands/georadius + + + + Return the members of a sorted set populated with geospatial information using GEOADD, which are within the borders of the area specified with the center location and the maximum distance from the center (the radius). + + GeoRadiusResult[] + http://redis.io/commands/georadius + + + + Increments the number stored at field in the hash stored at key by increment. If key does not exist, a new key holding a hash is created. If field does not exist or holds a string that cannot be interpreted as integer, the value is set to 0 before the operation is performed. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + the value at field after the increment operation. + http://redis.io/commands/hincrby + + + + Decrement the specified field of an hash stored at key, and representing a floating point number, by the specified decrement. If the field does not exist, it is set to 0 before performing the operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + the value at field after the decrement operation. + http://redis.io/commands/hincrbyfloat + + + + Removes the specified fields from the hash stored at key. Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + http://redis.io/commands/hdel + The number of fields that were removed. + + + + Removes the specified fields from the hash stored at key. Non-existing fields are ignored. Non-existing keys are treated as empty hashes and this command returns 0. + + http://redis.io/commands/hdel + The number of fields that were removed. + + + + Returns if field is an existing field in the hash stored at key. + + 1 if the hash contains field. 0 if the hash does not contain field, or key does not exist. + http://redis.io/commands/hexists + + + + Returns all fields and values of the hash stored at key. + + list of fields and their values stored in the hash, or an empty list when key does not exist. + http://redis.io/commands/hgetall + + + + Returns the value associated with field in the hash stored at key. + + the value associated with field, or nil when field is not present in the hash or key does not exist. + http://redis.io/commands/hget + + + + Returns the values associated with the specified fields in the hash stored at key. + For every field that does not exist in the hash, a nil value is returned.Because a non-existing keys are treated as empty hashes, running HMGET against a non-existing key will return a list of nil values. + + list of values associated with the given fields, in the same order as they are requested. + http://redis.io/commands/hmget + + + + Increments the number stored at field in the hash stored at key by increment. If key does not exist, a new key holding a hash is created. If field does not exist or holds a string that cannot be interpreted as integer, the value is set to 0 before the operation is performed. + + The range of values supported by HINCRBY is limited to 64 bit signed integers. + the value at field after the increment operation. + http://redis.io/commands/hincrby + + + + Increment the specified field of an hash stored at key, and representing a floating point number, by the specified increment. If the field does not exist, it is set to 0 before performing the operation. + + The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + the value at field after the increment operation. + http://redis.io/commands/hincrbyfloat + + + + Returns all field names in the hash stored at key. + + list of fields in the hash, or an empty list when key does not exist. + http://redis.io/commands/hkeys + + + + Returns the number of fields contained in the hash stored at key. + + number of fields in the hash, or 0 when key does not exist. + http://redis.io/commands/hlen + + + + Sets the specified fields to their respective values in the hash stored at key. This command overwrites any existing fields in the hash. If key does not exist, a new key holding a hash is created. + + http://redis.io/commands/hmset + + + + Sets field in the hash stored at key to value. If key does not exist, a new key holding a hash is created. If field already exists in the hash, it is overwritten. + + 1 if field is a new field in the hash and value was set. 0 if field already exists in the hash and the value was updated. + http://redis.io/commands/hset + http://redis.io/commands/hsetnx + + + + Returns all values in the hash stored at key. + + list of values in the hash, or an empty list when key does not exist. + http://redis.io/commands/hvals + + + + Adds the element to the HyperLogLog data structure stored at the variable name specified as first argument. + + true if at least 1 HyperLogLog internal register was altered. false otherwise. + http://redis.io/commands/pfadd + + + + Adds all the element arguments to the HyperLogLog data structure stored at the variable name specified as first argument. + + true if at least 1 HyperLogLog internal register was altered. false otherwise. + http://redis.io/commands/pfadd + + + + Returns the approximated cardinality computed by the HyperLogLog data structure stored at the specified variable, or 0 if the variable does not exist. + + The approximated number of unique elements observed via HyperLogLogAdd. + http://redis.io/commands/pfcount + + + + Returns the approximated cardinality of the union of the HyperLogLogs passed, by internally merging the HyperLogLogs stored at the provided keys into a temporary hyperLogLog, or 0 if the variable does not exist. + + The approximated number of unique elements observed via HyperLogLogAdd. + http://redis.io/commands/pfcount + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + http://redis.io/commands/pfmerge + + + + Merge multiple HyperLogLog values into an unique value that will approximate the cardinality of the union of the observed Sets of the source HyperLogLog structures. + + http://redis.io/commands/pfmerge + + + + Inidicate exactly which redis server we are talking to + + + + + Indicates whether the instance can communicate with the server (resolved + using the supplied key and optional flags) + + + + + Removes the specified key. A key is ignored if it does not exist. + + True if the key was removed. + http://redis.io/commands/del + + + + Removes the specified keys. A key is ignored if it does not exist. + + The number of keys that were removed. + http://redis.io/commands/del + + + + Serialize the value stored at key in a Redis-specific format and return it to the user. The returned value can be synthesized back into a Redis key using the RESTORE command. + + the serialized value. + http://redis.io/commands/dump + + + + Returns if key exists. + + 1 if the key exists. 0 if the key does not exist. + http://redis.io/commands/exists + + + + Set a timeout on key. After the timeout has expired, the key will automatically be deleted. A key with an associated timeout is said to be volatile in Redis terminology. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. So, if key already has an associated timeout, it will do nothing and return 0. Since Redis 2.1.3, you can update the timeout of a key. It is also possible to remove the timeout using the PERSIST command. See the page on key expiry for more information. + 1 if the timeout was set. 0 if key does not exist or the timeout could not be set. + http://redis.io/commands/expire + http://redis.io/commands/pexpire + http://redis.io/commands/persist + + + + Set a timeout on key. After the timeout has expired, the key will automatically be deleted. A key with an associated timeout is said to be volatile in Redis terminology. + + If key is updated before the timeout has expired, then the timeout is removed as if the PERSIST command was invoked on key. + For Redis versions < 2.1.3, existing timeouts cannot be overwritten. So, if key already has an associated timeout, it will do nothing and return 0. Since Redis 2.1.3, you can update the timeout of a key. It is also possible to remove the timeout using the PERSIST command. See the page on key expiry for more information. + 1 if the timeout was set. 0 if key does not exist or the timeout could not be set. + http://redis.io/commands/expireat + http://redis.io/commands/pexpireat + http://redis.io/commands/persist + + + + Atomically transfer a key from a source Redis instance to a destination Redis instance. On success the key is deleted from the original instance by default, and is guaranteed to exist in the target instance. + + http://redis.io/commands/MIGRATE + + + + Move key from the currently selected database (see SELECT) to the specified destination database. When key already exists in the destination database, or it does not exist in the source database, it does nothing. It is possible to use MOVE as a locking primitive because of this. + + 1 if key was moved; 0 if key was not moved. + http://redis.io/commands/move + + + Remove the existing timeout on key, turning the key from volatile (a key with an expire set) to persistent (a key that will never expire as no timeout is associated). + 1 if the timeout was removed. 0 if key does not exist or does not have an associated timeout. + http://redis.io/commands/persist + + + + Return a random key from the currently selected database. + + the random key, or nil when the database is empty. + http://redis.io/commands/randomkey + + + + Renames key to newkey. It returns an error when the source and destination names are the same, or when key does not exist. + + http://redis.io/commands/rename + http://redis.io/commands/renamenx + + + + Create a key associated with a value that is obtained by deserializing the provided serialized value (obtained via DUMP). + If ttl is 0 the key is created without any expire, otherwise the specified expire time(in milliseconds) is set. + + http://redis.io/commands/restore + + + + Returns the remaining time to live of a key that has a timeout. This introspection capability allows a Redis client to check how many seconds a given key will continue to be part of the dataset. + + TTL, or nil when key does not exist or does not have a timeout. + http://redis.io/commands/ttl + + + + Returns the string representation of the type of the value stored at key. The different types that can be returned are: string, list, set, zset and hash. + + type of key, or none when key does not exist. + http://redis.io/commands/type + + + + Returns the element at index index in the list stored at key. The index is zero-based, so 0 means the first element, 1 the second element and so on. Negative indices can be used to designate elements starting at the tail of the list. Here, -1 means the last element, -2 means the penultimate and so forth. + + the requested element, or nil when index is out of range. + http://redis.io/commands/lindex + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + the length of the list after the insert operation, or -1 when the value pivot was not found. + http://redis.io/commands/linsert + + + + Inserts value in the list stored at key either before or after the reference value pivot. + When key does not exist, it is considered an empty list and no operation is performed. + + the length of the list after the insert operation, or -1 when the value pivot was not found. + http://redis.io/commands/linsert + + + + Removes and returns the first element of the list stored at key. + + the value of the first element, or nil when key does not exist. + http://redis.io/commands/lpop + + + + Insert the specified value at the head of the list stored at key. If key does not exist, it is created as empty list before performing the push operations. + + the length of the list after the push operations. + http://redis.io/commands/lpush + http://redis.io/commands/lpushx + + + + Insert all the specified values at the head of the list stored at key. If key does not exist, it is created as empty list before performing the push operations. + Elements are inserted one after the other to the head of the list, from the leftmost element to the rightmost element. So for instance the command LPUSH mylist a b c will result into a list containing c as first element, b as second element and a as third element. + + the length of the list after the push operations. + http://redis.io/commands/lpush + + + + Returns the length of the list stored at key. If key does not exist, it is interpreted as an empty list and 0 is returned. + + the length of the list at key. + http://redis.io/commands/llen + + + + Returns the specified elements of the list stored at key. The offsets start and stop are zero-based indexes, with 0 being the first element of the list (the head of the list), 1 being the next element and so on. + These offsets can also be negative numbers indicating offsets starting at the end of the list.For example, -1 is the last element of the list, -2 the penultimate, and so on. + Note that if you have a list of numbers from 0 to 100, LRANGE list 0 10 will return 11 elements, that is, the rightmost item is included. + + list of elements in the specified range. + http://redis.io/commands/lrange + + + + Removes the first count occurrences of elements equal to value from the list stored at key. The count argument influences the operation in the following ways: + count > 0: Remove elements equal to value moving from head to tail. + count < 0: Remove elements equal to value moving from tail to head. + count = 0: Remove all elements equal to value. + + the number of removed elements. + http://redis.io/commands/lrem + + + + Removes and returns the last element of the list stored at key. + + http://redis.io/commands/rpop + + + + Atomically returns and removes the last element (tail) of the list stored at source, and pushes the element at the first element (head) of the list stored at destination. + + the element being popped and pushed. + http://redis.io/commands/rpoplpush + + + + Insert the specified value at the tail of the list stored at key. If key does not exist, it is created as empty list before performing the push operation. + + the length of the list after the push operation. + http://redis.io/commands/rpush + http://redis.io/commands/rpushx + + + + Insert all the specified values at the tail of the list stored at key. If key does not exist, it is created as empty list before performing the push operation. + Elements are inserted one after the other to the tail of the list, from the leftmost element to the rightmost element. So for instance the command RPUSH mylist a b c will result into a list containing a as first element, b as second element and c as third element. + + the length of the list after the push operation. + http://redis.io/commands/rpush + + + + Sets the list element at index to value. For more information on the index argument, see ListGetByIndex. An error is returned for out of range indexes. + + http://redis.io/commands/lset + + + + Trim an existing list so that it will contain only the specified range of elements specified. Both start and stop are zero-based indexes, where 0 is the first element of the list (the head), 1 the next element and so on. + For example: LTRIM foobar 0 2 will modify the list stored at foobar so that only the first three elements of the list will remain. + start and end can also be negative numbers indicating offsets from the end of the list, where -1 is the last element of the list, -2 the penultimate element and so on. + + http://redis.io/commands/ltrim + + + + Extends a lock, if the token value is correct + + + + + Queries the token held against a lock + + + + + Releases a lock, if the token value is correct + + + + + Takes a lock (specifying a token value) if it is not already taken + + + + + Posts a message to the given channel. + + the number of clients that received the message. + http://redis.io/commands/publish + + + + Execute a Lua script against the server + + http://redis.io/commands/eval, http://redis.io/commands/evalsha + A dynamic representation of the script's result + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API + + A dynamic representation of the command's result + + + + Execute an arbitrary command against the server; this is primarily intended for + executing modules, but may also be used to provide access to new features that lack + a direct API + + A dynamic representation of the command's result + + + + Execute a Lua script against the server using just the SHA1 hash + + http://redis.io/commands/evalsha + A dynamic representation of the script's result + + + + Execute a lua script against the server, using previously prepared script. + Named parameters, if any, are provided by the `parameters` object. + + + + + Execute a lua script against the server, using previously prepared and loaded script. + This method sends only the SHA1 hash of the lua script to Redis. + Named parameters, if any, are provided by the `parameters` object. + + + + + Add the specified member to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + True if the specified member was not already present in the set, else False + http://redis.io/commands/sadd + + + + Add the specified members to the set stored at key. Specified members that are already a member of this set are ignored. If key does not exist, a new set is created before adding the specified members. + + the number of elements that were added to the set, not including all the elements already present into the set. + http://redis.io/commands/sadd + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. If destination already exists, it is overwritten. + + the number of elements in the resulting set. + http://redis.io/commands/sunionstore + http://redis.io/commands/sinterstore + http://redis.io/commands/sdiffstore + + + + This command is equal to SetCombine, but instead of returning the resulting set, it is stored in destination. If destination already exists, it is overwritten. + + the number of elements in the resulting set. + http://redis.io/commands/sunionstore + http://redis.io/commands/sinterstore + http://redis.io/commands/sdiffstore + + + + Returns the members of the set resulting from the specified operation against the given sets. + + list with members of the resulting set. + http://redis.io/commands/sunion + http://redis.io/commands/sinter + http://redis.io/commands/sdiff + + + + Returns the members of the set resulting from the specified operation against the given sets. + + list with members of the resulting set. + http://redis.io/commands/sunion + http://redis.io/commands/sinter + http://redis.io/commands/sdiff + + + + Returns if member is a member of the set stored at key. + + 1 if the element is a member of the set. 0 if the element is not a member of the set, or if key does not exist. + http://redis.io/commands/sismember + + + + Returns the set cardinality (number of elements) of the set stored at key. + + the cardinality (number of elements) of the set, or 0 if key does not exist. + http://redis.io/commands/scard + + + + Returns all the members of the set value stored at key. + + all elements of the set. + http://redis.io/commands/smembers + + + + Move member from the set at source to the set at destination. This operation is atomic. In every given moment the element will appear to be a member of source or destination for other clients. + When the specified element already exists in the destination set, it is only removed from the source set. + + 1 if the element is moved. 0 if the element is not a member of source and no operation was performed. + http://redis.io/commands/smove + + + + Removes and returns a random element from the set value stored at key. + + the removed element, or nil when key does not exist. + http://redis.io/commands/spop + + + + Return a random element from the set value stored at key. + + the randomly selected element, or nil when key does not exist + http://redis.io/commands/srandmember + + + + Return an array of count distinct elements if count is positive. If called with a negative count the behavior changes and the command is allowed to return the same element multiple times. + In this case the numer of returned elements is the absolute value of the specified count. + + an array of elements, or an empty array when key does not exist + http://redis.io/commands/srandmember + + + + Remove the specified member from the set stored at key. Specified members that are not a member of this set are ignored. + + True if the specified member was already present in the set, else False + http://redis.io/commands/srem + + + + Remove the specified members from the set stored at key. Specified members that are not a member of this set are ignored. + + the number of members that were removed from the set, not including non existing members. + http://redis.io/commands/srem + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default); By default, the elements themselves are compared, but the values can also be + used to perform external key-lookups using the by parameter. By default, the elements themselves are returned, but external key-lookups (one or many) can + be performed instead by specifying the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. When used in hashes, by and get + can be used to specify fields using -> notation (again, refer to redis documentation). + + http://redis.io/commands/sort + Returns the number of elements stored in the new list + + + + Sorts a list, set or sorted set (numerically or alphabetically, ascending by default); By default, the elements themselves are compared, but the values can also be + used to perform external key-lookups using the by parameter. By default, the elements themselves are returned, but external key-lookups (one or many) can + be performed instead by specifying the get parameter (note that # specifies the element itself, when used in get). + Referring to the redis SORT documentation for examples is recommended. When used in hashes, by and get + can be used to specify fields using -> notation (again, refer to redis documentation). + + http://redis.io/commands/sort + Returns the sorted elements, or the external values if get is specified + + + + Adds the specified member with the specified score to the sorted set stored at key. If the specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + True if the value was added, False if it already existed (the score is still updated) + http://redis.io/commands/zadd + + + + Adds the specified member with the specified score to the sorted set stored at key. If the specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + True if the value was added, False if it already existed (the score is still updated) + http://redis.io/commands/zadd + + + + Adds all the specified members with the specified scores to the sorted set stored at key. If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The number of elements added to the sorted sets, not including elements already existing for which the score was updated. + http://redis.io/commands/zadd + + + + Adds all the specified members with the specified scores to the sorted set stored at key. If a specified member is already a member of the sorted set, the score is updated and the element reinserted at the right position to ensure the correct ordering. + + The number of elements added to the sorted sets, not including elements already existing for which the score was updated. + http://redis.io/commands/zadd + + + + Computes a set operation over two sorted sets, and stores the result in destination, optionally performing + a specific aggregation (defaults to sum) + + http://redis.io/commands/zunionstore + http://redis.io/commands/zinterstore + the number of elements in the resulting sorted set at destination + + + + Computes a set operation over multiple sorted sets (optionally using per-set weights), and stores the result in destination, optionally performing + a specific aggregation (defaults to sum) + + http://redis.io/commands/zunionstore + http://redis.io/commands/zinterstore + the number of elements in the resulting sorted set at destination + + + + Decrements the score of member in the sorted set stored at key by decrement. If member does not exist in the sorted set, it is added with -decrement as its score (as if its previous score was 0.0). + + the new score of member + http://redis.io/commands/zincrby + + + + Increments the score of member in the sorted set stored at key by increment. If member does not exist in the sorted set, it is added with increment as its score (as if its previous score was 0.0). + + the new score of member + http://redis.io/commands/zincrby + + + + Returns the sorted set cardinality (number of elements) of the sorted set stored at key. + + the cardinality (number of elements) of the sorted set, or 0 if key does not exist. + http://redis.io/commands/zcard + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns the number of elements in the sorted set at key with a value between min and max. + + the number of elements in the specified score range. + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns all the elements in the sorted set at key with a value between min and max. + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + list of elements in the specified range + http://redis.io/commands/zrange + http://redis.io/commands/zrevrange + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Both start and stop are zero-based indexes, where 0 is the first element, 1 is the next element and so on. They can also be negative numbers indicating offsets from the end of the sorted set, with -1 being the last element of the sorted set, -2 the penultimate element and so on. + + list of elements in the specified range + http://redis.io/commands/zrange + http://redis.io/commands/zrevrange + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. Similar to other range methods the values are inclusive. + + list of elements in the specified score range + http://redis.io/commands/zrangebyscore + http://redis.io/commands/zrevrangebyscore + + + + Returns the specified range of elements in the sorted set stored at key. By default the elements are considered to be ordered from the lowest to the highest score. Lexicographical order is used for elements with equal score. + Start and stop are used to specify the min and max range for score values. Similar to other range methods the values are inclusive. + + list of elements in the specified score range + http://redis.io/commands/zrangebyscore + http://redis.io/commands/zrevrangebyscore + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command returns all the elements in the sorted set at key with a value between min and max. + + http://redis.io/commands/zrangebylex + list of elements in the specified score range. + + + + Returns the rank of member in the sorted set stored at key, by default with the scores ordered from low to high. The rank (or index) is 0-based, which means that the member with the lowest score has rank 0. + + If member exists in the sorted set, the rank of member; If member does not exist in the sorted set or key does not exist, null + http://redis.io/commands/zrank + http://redis.io/commands/zrevrank + + + + Removes the specified member from the sorted set stored at key. Non existing members are ignored. + + True if the member existed in the sorted set and was removed; False otherwise. + http://redis.io/commands/zrem + + + + Removes the specified members from the sorted set stored at key. Non existing members are ignored. + + The number of members removed from the sorted set, not including non existing members. + http://redis.io/commands/zrem + + + + Removes all elements in the sorted set stored at key with rank between start and stop. Both start and stop are 0 -based indexes with 0 being the element with the lowest score. These indexes can be negative numbers, where they indicate offsets starting at the element with the highest score. For example: -1 is the element with the highest score, -2 the element with the second highest score and so forth. + + the number of elements removed. + http://redis.io/commands/zremrangebyrank + + + + Removes all elements in the sorted set stored at key with a score between min and max (inclusive by default). + + the number of elements removed. + http://redis.io/commands/zremrangebyscore + + + + When all the elements in a sorted set are inserted with the same score, in order to force lexicographical ordering, this command removes all elements in the sorted set stored at key between the lexicographical range specified by min and max. + + http://redis.io/commands/zremrangebylex + the number of elements removed. + + + + Returns the score of member in the sorted set at key; If member does not exist in the sorted set, or key does not exist, nil is returned. + + the score of member + http://redis.io/commands/zscore + + + + If key already exists and is a string, this command appends the value at the end of the string. If key does not exist it is created and set as an empty string, + so APPEND will be similar to SET in this special case. + + the length of the string after the append operation. + http://redis.io/commands/append + + + + Count the number of set bits (population counting) in a string. + By default all the bytes contained in the string are examined.It is possible to specify the counting operation only in an interval passing the additional arguments start and end. + Like for the GETRANGE command start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The number of bits set to 1 + http://redis.io/commands/bitcount + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator: the second key should be omitted in this case + and only the first key will be considered. + The result of the operation is always stored at destkey. + + The size of the string stored in the destination key, that is equal to the size of the longest input string. + http://redis.io/commands/bitop + + + + Perform a bitwise operation between multiple keys (containing string values) and store the result in the destination key. + The BITOP command supports four bitwise operations; note that NOT is a unary operator. + The result of the operation is always stored at destkey. + + The size of the string stored in the destination key, that is equal to the size of the longest input string. + http://redis.io/commands/bitop + + + + Return the position of the first bit set to 1 or 0 in a string. + The position is returned thinking at the string as an array of bits from left to right where the first byte most significant bit is at position 0, the second byte most significant big is at position 8 and so forth. + An start and end may be specified; these are in bytes, not bits; start and end can contain negative values in order to index bytes starting from the end of the string, where -1 is the last byte, -2 is the penultimate, and so forth. + + The command returns the position of the first bit set to 1 or 0 according to the request. + If we look for set bits(the bit argument is 1) and the string is empty or composed of just zero bytes, -1 is returned. + http://redis.io/commands/bitpos + + + + Decrements the number stored at key by decrement. If the key does not exist, it is set to 0 before performing the operation. An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. This operation is limited to 64 bit signed integers. + + the value of key after the increment + http://redis.io/commands/decrby + http://redis.io/commands/decr + + + + Decrements the string representing a floating point number stored at key by the specified increment. If the key does not exist, it is set to 0 before performing the operation. The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + the value of key after the increment + http://redis.io/commands/incrbyfloat + + + + Get the value of key. If the key does not exist the special value nil is returned. An error is returned if the value stored at key is not a string, because GET only handles string values. + + the value of key, or nil when key does not exist. + http://redis.io/commands/get + + + + Returns the values of all specified keys. For every key that does not hold a string value or does not exist, the special value nil is returned. + + http://redis.io/commands/mget + + + + Returns the bit value at offset in the string value stored at key. + When offset is beyond the string length, the string is assumed to be a contiguous space with 0 bits. + + the bit value stored at offset. + http://redis.io/commands/getbit + + + + Returns the substring of the string value stored at key, determined by the offsets start and end (both are inclusive). Negative offsets can be used in order to provide an offset starting from the end of the string. So -1 means the last character, -2 the penultimate and so forth. + + the substring of the string value stored at key + http://redis.io/commands/getrange + + + + Atomically sets key to value and returns the old value stored at key. + + http://redis.io/commands/getset + the old value stored at key, or nil when key did not exist. + + + + Get the value of key. If the key does not exist the special value nil is returned. An error is returned if the value stored at key is not a string, because GET only handles string values. + + the value of key, or nil when key does not exist. + http://redis.io/commands/get + + + + Increments the number stored at key by increment. If the key does not exist, it is set to 0 before performing the operation. An error is returned if the key contains a value of the wrong type or contains a string that is not representable as integer. This operation is limited to 64 bit signed integers. + + the value of key after the increment + http://redis.io/commands/incrby + http://redis.io/commands/incr + + + + Increment the string representing a floating point number stored at key by the specified increment. If the key does not exist, it is set to 0 before performing the operation. The precision of the output is fixed at 17 digits after the decimal point regardless of the actual internal precision of the computation. + + the value of key after the increment + http://redis.io/commands/incrbyfloat + + + + Returns the length of the string value stored at key. + + the length of the string at key, or 0 when key does not exist. + http://redis.io/commands/strlen + + + + Set key to hold the string value. If key already holds a value, it is overwritten, regardless of its type. + + http://redis.io/commands/set + + + + Sets the given keys to their respective values. If "not exists" is specified, this will not perform any operation at all even if just a single key already exists. + + True if the keys were set, else False + http://redis.io/commands/mset + http://redis.io/commands/msetnx + + + + Sets or clears the bit at offset in the string value stored at key. + The bit is either set or cleared depending on value, which can be either 0 or 1. When key does not exist, a new string value is created.The string is grown to make sure it can hold a bit at offset. + + the original bit value stored at offset. + http://redis.io/commands/setbit + + + + Overwrites part of the string stored at key, starting at the specified offset, for the entire length of value. If the offset is larger than the current length of the string at key, the string is padded with zero-bytes to make offset fit. Non-existing keys are considered as empty strings, so this command will make sure it holds a string large enough to be able to set value at offset. + + the length of the string after it was modified by the command. + http://redis.io/commands/setrange + + + + Describes a value/expiry pair + + + + + The expiry of this record + + + + + The value of this record + + + + + Describes internal errors (mainly intended for debugging) + + + + + Gets the connection-type of the failing connection + + + + + Gets the failing server-endpoint (this can be null) + + + + + Gets the exception if available (this can be null) + + + + + The underlying origin of the error + + + + + If an IProfiledCommand is a retransmission of a previous command, this enum + is used to indicate what prompted the retransmission. + + This can be used to distinguish between transient causes (moving hashslots, joining nodes, etc.) + and incorrect routing. + + + + + No stated reason + + + + + Issued to investigate which node owns a key + + + + + A node has indicated that it does *not* own the given key + + + + + A profiled command against a redis instance. + + TimeSpans returned by this interface use a high precision timer if possible. + DateTimes returned by this interface are no more precise than DateTime.UtcNow. + + + + + The endpoint this command was sent to. + + + + + The Db this command was sent to. + + + + + The name of this command. + + + + + The CommandFlags the command was submitted with. + + + + + When this command was *created*, will be approximately + when the paired method of StackExchange.Redis was called but + before that method returned. + + Note that the resolution of the returned DateTime is limited by DateTime.UtcNow. + + + + + How long this command waited to be added to the queue of pending + redis commands. A large TimeSpan indicates serious contention for + the pending queue. + + + + + How long this command spent in the pending queue before being sent to redis. + A large TimeSpan can indicate a large number of pending events, large pending events, + or network issues. + + + + + How long before Redis responded to this command and it's response could be handled after it was sent. + A large TimeSpan can indicate a large response body, an overtaxed redis instance, or network issues. + + + + + How long between Redis responding to this command and awaiting consumers being notified. + + + + + How long it took this redis command to be processed, from creation to deserializing the final response. + + Note that this TimeSpan *does not* include time spent awaiting a Task in consumer code. + + + + + If a command has to be resent due to an ASK or MOVED response from redis (in a cluster configuration), + the second sending of the command will have this property set to the original IProfiledCommand. + + This can only be set if redis is configured as a cluster. + + + + + If RetransmissionOf is not null, this property will be set to either Ask or Moved to indicate + what sort of response triggered the retransmission. + + This can be useful for determining the root cause of extra commands. + + + + + Interface for profiling individual commands against an Redis ConnectionMulitplexer. + + + + + Called to provide a context object. + + This method is called before the method which triggers work against redis (such as StringSet(Async)) returns, + and will always be called on the same thread as that method. + + Note that GetContext() may be called even if ConnectionMultiplexer.BeginProfiling() has not been called. + You may return `null` to prevent any tracking of commands. + + + + + Describes retry policy functionality that can be provided to the multiplexer to be used for connection reconnects + + + + + This method is called by the multiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the multiplexer while it was in connecting state + Total time elapsed in milliseconds since the last reconnect retry was made + + + + Common operations available to all redis connections + + + + + This command is often used to test if a connection is still alive, or to measure latency. + + The observed latency. + http://redis.io/commands/ping + + + + Represents a resumable, cursor-based scanning operation + + + + + Returns the cursor that represents the *active* page of results (not the pending/next page of results as returned by SCAN/HSCAN/ZSCAN/SSCAN) + + + + + The page size of the current operation + + + + + The offset into the current page + + + + + Common operations available to all redis connections + + + + + Gets the multiplexer that created this instance + + + + + This command is often used to test if a connection is still alive, or to measure latency. + + The observed latency. + http://redis.io/commands/ping + + + + Wait for a given asynchronous operation to complete (or timeout), reporting which + + + + + Wait for a given asynchronous operation to complete (or timeout) + + + + + Wait for a given asynchronous operation to complete (or timeout) + + + + + Wait for the given asynchronous operations to complete (or timeout) + + + + + Provides configuration controls of a redis server + + + + + Gets the cluster configuration associated with this server, if known + + + + + Gets the address of the connected server + + + + + Gets the features available to the connected server + + + + + Gets whether the connection to the server is active and usable + + + + + Gets whether the connected server is a replica / slave + + + + + Explicitly opt in for slave writes on writable slaves + + + + + Gets the operating mode of the connected server + + + + + Gets the version of the connected server + + + + + The CLIENT KILL command closes a given client connection identified by ip:port. + The ip:port should match a line returned by the CLIENT LIST command. + Due to the single-treaded nature of Redis, it is not possible to kill a client connection while it is executing a command.From the client point of view, the connection can never be closed in the middle of the execution of a command.However, the client will notice the connection has been closed only when the next command is sent (and results in network error). + + http://redis.io/commands/client-kill + + + + The CLIENT KILL command closes a given client connection identified by ip:port. + The ip:port should match a line returned by the CLIENT LIST command. + Due to the single-treaded nature of Redis, it is not possible to kill a client connection while it is executing a command.From the client point of view, the connection can never be closed in the middle of the execution of a command.However, the client will notice the connection has been closed only when the next command is sent (and results in network error). + + http://redis.io/commands/client-kill + + + + The CLIENT KILL command closes multiple connections that match the specified filters + + the number of clients killed. + http://redis.io/commands/client-kill + + + + The CLIENT KILL command closes multiple connections that match the specified filters + + the number of clients killed. + http://redis.io/commands/client-kill + + + + The CLIENT LIST command returns information and statistics about the client connections server in a mostly human readable format. + + http://redis.io/commands/client-list + + + + The CLIENT LIST command returns information and statistics about the client connections server in a mostly human readable format. + + http://redis.io/commands/client-list + + + + Obtains the current CLUSTER NODES output from a cluster server + + + + + Obtains the current CLUSTER NODES output from a cluster server + + + + + Obtains the current raw CLUSTER NODES output from a cluster server + + + + + Obtains the current raw CLUSTER NODES output from a cluster server + + + + + Get all configuration parameters matching the specified pattern. + + All matching configuration parameters. + http://redis.io/commands/config-get + + + + Get all configuration parameters matching the specified pattern. + + All matching configuration parameters. + http://redis.io/commands/config-get + + + + Resets the statistics reported by Redis using the INFO command. + + http://redis.io/commands/config-resetstat + + + + Resets the statistics reported by Redis using the INFO command. + + http://redis.io/commands/config-resetstat + + + + The CONFIG REWRITE command rewrites the redis.conf file the server was started with, applying the minimal changes needed to make it reflecting the configuration currently used by the server, that may be different compared to the original one because of the use of the CONFIG SET command. + + http://redis.io/commands/config-rewrite + + + + The CONFIG REWRITE command rewrites the redis.conf file the server was started with, applying the minimal changes needed to make it reflecting the configuration currently used by the server, that may be different compared to the original one because of the use of the CONFIG SET command. + + http://redis.io/commands/config-rewrite + + + + The CONFIG SET command is used in order to reconfigure the server at runtime without the need to restart Redis. You can change both trivial parameters or switch from one to another persistence option using this command. + + http://redis.io/commands/config-set + + + + The CONFIG SET command is used in order to reconfigure the server at runtime without the need to restart Redis. You can change both trivial parameters or switch from one to another persistence option using this command. + + http://redis.io/commands/config-set + + + + Return the number of keys in the database. + + http://redis.io/commands/dbsize + + + + Return the number of keys in the database. + + http://redis.io/commands/dbsize + + + + Return the same message passed in + + http://redis.io/commands/echo + + + + Return the same message passed in + + http://redis.io/commands/echo + + + + Delete all the keys of all databases on the server. + + http://redis.io/commands/flushall + + + + Delete all the keys of all databases on the server. + + http://redis.io/commands/flushall + + + + Delete all the keys of the database. + + http://redis.io/commands/flushdb + + + + Delete all the keys of the database. + + http://redis.io/commands/flushdb + + + + Get summary statistics associates with this server + + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + http://redis.io/commands/info + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + http://redis.io/commands/info + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + http://redis.io/commands/info + + + + The INFO command returns information and statistics about the server in a format that is simple to parse by computers and easy to read by humans. + + http://redis.io/commands/info + + + + Returns all keys matching pattern; the KEYS or SCAN commands will be used based on the server capabilities. + + Warning: consider KEYS as a command that should only be used in production environments with extreme care. + http://redis.io/commands/keys + http://redis.io/commands/scan + + + + Returns all keys matching pattern; the KEYS or SCAN commands will be used based on the server capabilities; note: to resume an iteration via cursor, cast the original enumerable or enumerator to IScanningCursor. + + Warning: consider KEYS as a command that should only be used in production environments with extreme care. + http://redis.io/commands/keys + http://redis.io/commands/scan + + + + Return the time of the last DB save executed with success. A client may check if a BGSAVE command succeeded reading the LASTSAVE value, then issuing a BGSAVE command and checking at regular intervals every N seconds if LASTSAVE changed. + + http://redis.io/commands/lastsave + + + + Return the time of the last DB save executed with success. A client may check if a BGSAVE command succeeded reading the LASTSAVE value, then issuing a BGSAVE command and checking at regular intervals every N seconds if LASTSAVE changed. + + http://redis.io/commands/lastsave + + + + Promote the selected node to be master + + + + + Explicitly request the database to persist the current state to disk + + http://redis.io/commands/bgrewriteaof + http://redis.io/commands/bgsave + http://redis.io/commands/save + http://redis.io/topics/persistence + + + + Explicitly request the database to persist the current state to disk + + http://redis.io/commands/bgrewriteaof + http://redis.io/commands/bgsave + http://redis.io/commands/save + http://redis.io/topics/persistence + + + + Inidicates whether the specified script is defined on the server + + + + + Inidicates whether the specified script hash is defined on the server + + + + + Inidicates whether the specified script is defined on the server + + + + + Inidicates whether the specified script hash is defined on the server + + + + + Removes all cached scripts on this server + + + + + Removes all cached scripts on this server + + + + + Explicitly defines a script on the server + + + + + Explicitly defines a script on the server + + + + + Explicitly defines a script on the server + + + + + Explicitly defines a script on the server + + + + Asks the redis server to shutdown, killing all connections. Please FULLY read the notes on the SHUTDOWN command. + http://redis.io/commands/shutdown + + + + The SLAVEOF command can change the replication settings of a slave on the fly. If a Redis server is already acting as slave, specifying a null master will turn off the replication, turning the Redis server into a MASTER. Specifying a non-null master will make the server a slave of another server listening at the specified hostname and port. + + http://redis.io/commands/slaveof + + + + The SLAVEOF command can change the replication settings of a slave on the fly. If a Redis server is already acting as slave, specifying a null master will turn off the replication, turning the Redis server into a MASTER. Specifying a non-null master will make the server a slave of another server listening at the specified hostname and port. + + http://redis.io/commands/slaveof + + + + To read the slow log the SLOWLOG GET command is used, that returns every entry in the slow log. It is possible to return only the N most recent entries passing an additional argument to the command (for instance SLOWLOG GET 10). + + http://redis.io/commands/slowlog + + + + To read the slow log the SLOWLOG GET command is used, that returns every entry in the slow log. It is possible to return only the N most recent entries passing an additional argument to the command (for instance SLOWLOG GET 10). + + http://redis.io/commands/slowlog + + + + You can reset the slow log using the SLOWLOG RESET command. Once deleted the information is lost forever. + + http://redis.io/commands/slowlog + + + + You can reset the slow log using the SLOWLOG RESET command. Once deleted the information is lost forever. + + http://redis.io/commands/slowlog + + + + Lists the currently active channels. An active channel is a Pub/Sub channel with one ore more subscribers (not including clients subscribed to patterns). + + a list of active channels, optionally matching the specified pattern. + http://redis.io/commands/pubsub + + + + Lists the currently active channels. An active channel is a Pub/Sub channel with one ore more subscribers (not including clients subscribed to patterns). + + a list of active channels, optionally matching the specified pattern. + http://redis.io/commands/pubsub + + + + Returns the number of subscriptions to patterns (that are performed using the PSUBSCRIBE command). Note that this is not just the count of clients subscribed to patterns but the total number of patterns all the clients are subscribed to. + + the number of patterns all the clients are subscribed to. + http://redis.io/commands/pubsub + + + + Returns the number of subscriptions to patterns (that are performed using the PSUBSCRIBE command). Note that this is not just the count of clients subscribed to patterns but the total number of patterns all the clients are subscribed to. + + the number of patterns all the clients are subscribed to. + http://redis.io/commands/pubsub + + + + Returns the number of subscribers (not counting clients subscribed to patterns) for the specified channel. + + http://redis.io/commands/pubsub + + + + Returns the number of subscribers (not counting clients subscribed to patterns) for the specified channel. + + http://redis.io/commands/pubsub + + + + The TIME command returns the current server time. + + The server's current time. + http://redis.io/commands/time + + + + The TIME command returns the current server time. + + The server's current time. + http://redis.io/commands/time + + + + Returns the ip and port number of the master with that name. + If a failover is in progress or terminated successfully for this master it returns the address and port of the promoted slave. + + the sentinel service name + + the master ip and port + http://redis.io/topics/sentinel + + + + Returns the ip and port number of the master with that name. + If a failover is in progress or terminated successfully for this master it returns the address and port of the promoted slave. + + the sentinel service name + + the master ip and port + http://redis.io/topics/sentinel + + + + Show the state and info of the specified master. + + the sentinel service name + + the master state as KeyValuePairs + http://redis.io/topics/sentinel + + + + Force a failover as if the master was not reachable, and without asking for agreement to other Sentinels + (however a new version of the configuration will be published so that the other Sentinels will update their configurations). + + the sentinel service name + + the master state as KeyValuePairs + http://redis.io/topics/sentinel + + + + Show a list of monitored masters and their state. + + + an array of master state KeyValuePair arrays + http://redis.io/topics/sentinel + + + + Show a list of monitored masters and their state. + + + an array of master state KeyValuePair arrays + http://redis.io/topics/sentinel + + + + Show a list of slaves for this master, and their state. + + the sentinel service name + + an array of slave state KeyValuePair arrays + http://redis.io/topics/sentinel + + + + Show a list of slaves for this master, and their state. + + the sentinel service name + + an array of slave state KeyValuePair arrays + http://redis.io/topics/sentinel + + + + Force a failover as if the master was not reachable, and without asking for agreement to other Sentinels + (however a new version of the configuration will be published so that the other Sentinels will update their configurations). + + the sentinel service name + + http://redis.io/topics/sentinel + + + + Force a failover as if the master was not reachable, and without asking for agreement to other Sentinels + (however a new version of the configuration will be published so that the other Sentinels will update their configurations). + + the sentinel service name + + http://redis.io/topics/sentinel + + + + A redis connection used as the subscriber in a pub/sub scenario + + + + + Inidicate exactly which redis server we are talking to + + + + + Inidicate exactly which redis server we are talking to + + + + + Indicates whether the instance can communicate with the server; + if a channel is specified, the existing subscription map is queried to + resolve the server responsible for that subscription - otherwise the + server is chosen aribtraily from the masters. + + + + + Posts a message to the given channel. + + the number of clients that received the message. + http://redis.io/commands/publish + + + + Posts a message to the given channel. + + the number of clients that received the message. + http://redis.io/commands/publish + + + + Subscribe to perform some operation when a change to the preferred/active node is broadcast. + + http://redis.io/commands/subscribe + http://redis.io/commands/psubscribe + + + + Subscribe to perform some operation when a change to the preferred/active node is broadcast. + + http://redis.io/commands/subscribe + http://redis.io/commands/psubscribe + + + + Inidicate to which redis server we are actively subscribed for a given channel; returns null if + the channel is not actively subscribed + + + + + Unsubscribe from a specified message channel; note; if no handler is specified, the subscription is cancelled regardless + of the subscribers; if a handler is specified, the subscription is only cancelled if this handler is the + last handler remaining against the channel + + http://redis.io/commands/unsubscribe + http://redis.io/commands/punsubscribe + + + + Unsubscribe all subscriptions on this instance + + http://redis.io/commands/unsubscribe + http://redis.io/commands/punsubscribe + + + + Unsubscribe all subscriptions on this instance + + http://redis.io/commands/unsubscribe + http://redis.io/commands/punsubscribe + + + + Unsubscribe from a specified message channel; note; if no handler is specified, the subscription is cancelled regardless + of the subscribers; if a handler is specified, the subscription is only cancelled if this handler is the + last handler remaining against the channel + + http://redis.io/commands/unsubscribe + http://redis.io/commands/punsubscribe + + + + Represents a group of operations that will be sent to the server as a single unit, + and processed on the server as a single unit. Transactions can also include constraints + (implemented via WATCH), but note that constraint checking involves will (very briefly) + block the connection, since the transaction cannot be correctly committed (EXEC), + aborted (DISCARD) or not applied in the first place (UNWATCH) until the responses from + the constraint checks have arrived. + + http://redis.io/topics/transactions + Note that on a cluster, it may be required that all keys involved in the transaction + (including constraints) are in the same hash-slot + + + + Adds a precondition for this transaction + + + + + Execute the batch operation, sending all queued commands to the server. + + + + + Execute the batch operation, sending all queued commands to the server. + + + + + Provides the extension method to . + + + + + Creates a new instance that provides an isolated key space + of the specified underyling database instance. + + + The underlying database instance that the returned instance shall use. + + + The prefix that defines a key space isolation for the returned database instance. + + + A new instance that invokes the specified underlying + but prepends the specified + to all key paramters and thus forms a logical key space isolation. + + + + The following methods are not supported in a key space isolated database and + will throw an when invoked: + + + + + + + Please notice that keys passed to a script are prefixed (as normal) but care must + be taken when a script returns the name of a key as that will (currently) not be + "unprefixed". + + + + + + Represents a retry policy that performs retries at a fixed interval. The retries are performed upto a maximum allowed time. + + + + + Initializes a new instance using the specified maximum retry elapsed time allowed. + + maximum elapsed time in milliseconds to be allowed for it to perform retries + + + + This method is called by the ConnectionMultiplexer to determine if a reconnect operation can be retried now. + + The number of times reconnect retries have already been made by the ConnectionMultiplexer while it was in the connecting state + Total elapsed time in milliseconds since the last reconnect retry was made + + + + Represents a Lua script that can be executed on Redis. + + Unlike normal Redis Lua scripts, LuaScript can have named parameters (prefixed by a @). + Public fields and properties of the passed in object are treated as parameters. + + Parameters of type RedisKey are sent to Redis as KEY (http://redis.io/commands/eval) in addition to arguments, + so as to play nicely with Redis Cluster. + + All members of this class are thread safe. + + + + + The original Lua script that was used to create this. + + + + + The Lua script that will actually be sent to Redis for execution. + + All @-prefixed parameter names have been replaced at this point. + + + + + Finalizer, used to prompt cleanups of the script cache when + a LuaScript reference goes out of scope. + + + + + Invalidates the internal cache of LuaScript objects. + Existing LuaScripts will continue to work, but future calls to LuaScript.Prepare + return a new LuaScript instance. + + + + + Returns the number of cached LuaScripts. + + + + + Prepares a Lua script with named parameters to be run against any Redis instance. + + + + + Evaluates this LuaScript against the given database, extracting parameters from the passed in object if any. + + + + + Evaluates this LuaScript against the given database, extracting parameters from the passed in object if any. + + + + + Loads this LuaScript into the given IServer so it can be run with it's SHA1 hash, instead of + passing the full script on each Evaluate or EvaluateAsync call. + + Note: the FireAndForget command flag cannot be set + + + + + Loads this LuaScript into the given IServer so it can be run with it's SHA1 hash, instead of + passing the full script on each Evaluate or EvaluateAsync call. + + Note: the FireAndForget command flag cannot be set + + + + + Represents a Lua script that can be executed on Redis. + + Unlike LuaScript, LoadedLuaScript sends the hash of it's ExecutableScript to Redis rather than pass + the whole script on each call. This requires that the script be loaded into Redis before it is used. + + To create a LoadedLuaScript first create a LuaScript via LuaScript.Prepare(string), then + call Load(IServer, CommandFlags) on the returned LuaScript. + + Unlike normal Redis Lua scripts, LoadedLuaScript can have named parameters (prefixed by a @). + Public fields and properties of the passed in object are treated as parameters. + + Parameters of type RedisKey are sent to Redis as KEY (http://redis.io/commands/eval) in addition to arguments, + so as to play nicely with Redis Cluster. + + All members of this class are thread safe. + + + + + The original script that was used to create this LoadedLuaScript. + + + + + The script that will actually be sent to Redis for execution. + + + + + The SHA1 hash of ExecutableScript. + + This is sent to Redis instead of ExecutableScript during Evaluate and EvaluateAsync calls. + + + + + Evaluates this LoadedLuaScript against the given database, extracting parameters for the passed in object if any. + + This method sends the SHA1 hash of the ExecutableScript instead of the script itself. If the script has not + been loaded into the passed Redis instance it will fail. + + + + + Evaluates this LoadedLuaScript against the given database, extracting parameters for the passed in object if any. + + This method sends the SHA1 hash of the ExecutableScript instead of the script itself. If the script has not + been loaded into the passed Redis instance it will fail. + + + + + Indicates that a command was illegal and was not sent to the server + + + + + Indicates the time allotted for a command or operation has expired. + + + + + status of the command while communicating with Redis + + + + + Indicates a connection fault when communicating with redis + + + + + The type of connection failure + + + + + status of the command while communicating with Redis + + + + + Indicates an issue communicating with redis + + + + + Deserialization constructor; not intended for general usage + + + + + Indicates an exception raised by a redis server + + + + + Things with the potential to cause harm, or to reveal configuration information + + + + + This does a few important things: + 1: it suppresses error events for commands that the user isn't interested in + (i.e. "why does my standalone server keep saying ERR unknown command 'cluster' ?") + 2: it allows the initial PING and GET (during connect) to get queued rather + than be rejected as no-server-available (note that this doesn't apply to + handshake messages, as they bypass the queue completely) + 3: it disables non-pref logging, as it is usually server-targeted + + + + + Checks both high-pri and regular queues to see if the next item is a PING, and if so: dequeues it and returns it + + + + + Additional options for the MIGRATE command + + + + + No options specified + + + + + Do not remove the key from the local instance. + + + + + Replace existing key on the remote instance. + + + + + The direction in which to sequence elements + + + + + Ordered from low values to high values + + + + + Ordered from high values to low values + + + + + This writes a message **directly** to the output stream; note + that this ignores the queue, so should only be used *either* + from the regular dequeue loop, *or* from the "I've just + connected" handshake (when there is no dequeue loop) - otherwise, + you can pretty much assume you're going to destroy the stream + + + + + Big ol' wrapper around most of the profiling storage logic, 'cause it got too big to just live in ConnectionMultiplexer. + + + + + Necessary, because WeakReference can't be readily comparable (since the reference is... weak). + + This lets us detect leaks* with some reasonable confidence, and cleanup periodically. + + Some calisthenics are done to avoid allocating WeakReferences for no reason, as often + we're just looking up ProfileStorage. + + * Somebody starts profiling, but for whatever reason never *stops* with a context object + + + + + Suitable for use as a key into something. + + This instance **WILL NOT** keep forObj alive, so it can + be copied out of the calling method's scope. + + + + + Only suitable for looking up. + + This instance **ABSOLUTELY WILL** keep forObj alive, so this + had better not be copied into anything outside the scope of the + calling method. + + + + + Registers the passed context with a collection that can be retried with subsequent calls to TryGetValue. + + Returns false if the passed context object is already registered. + + + + + Returns true and sets val to the tracking collection associated with the given context if the context + was registered with TryCreate. + + Otherwise returns false and sets val to null. + + + + + Removes a context, setting all commands to a (non-thread safe) enumerable of + all the commands attached to that context. + + If the context was never registered, will return false and set commands to null. + + Subsequent calls to TryRemove with the same context will return false unless it is + re-registered with TryCreate. + + + + + If enough time has passed (1 minute) since the last call, this does walk of all contexts + and removes those that the GC has collected. + + + + + Represents a pub/sub channel name + + + + + Create a new redis channel from a buffer, explicitly controlling the pattern mode + + + + + Create a new redis channel from a string, explicitly controlling the pattern mode + + + + + Indicates whether the channel-name is either null or a zero-length value + + + + + Indicate whether two channel names are not equal + + + + + Indicate whether two channel names are not equal + + + + + Indicate whether two channel names are not equal + + + + + Indicate whether two channel names are not equal + + + + + Indicate whether two channel names are not equal + + + + + Indicate whether two channel names are equal + + + + + Indicate whether two channel names are equal + + + + + Indicate whether two channel names are equal + + + + + Indicate whether two channel names are equal + + + + + Indicate whether two channel names are equal + + + + + See Object.Equals + + + + + Indicate whether two channel names are equal + + + + + See Object.GetHashCode + + + + + Obtains a string representation of the channel name + + + + + The matching pattern for this channel + + + + + Will be treated as a pattern if it includes * + + + + + Never a pattern + + + + + Always a pattern + + + + + Create a channel name from a String + + + + + Create a channel name from a Byte[] + + + + + Obtain the channel name as a Byte[] + + + + + Obtain the channel name as a String + + + + + Notification of errors from the redis server + + + + + The origin of the message + + + + + The message from the server + + + + + Provides basic information about the features available on a particular version of Redis + + + + + Create a new RedisFeatures instance for the given version + + + + + Does BITOP / BITCOUNT exist? + + + + + Is CLIENT SETNAME available? + + + + + Does EXEC support EXECABORT if there are errors? + + + + + Can EXPIRE be used to set expiration on a key that is already volatile (i.e. has an expiration)? + + + + + Does HDEL support varadic usage? + + + + + Does INCRBYFLOAT / HINCRBYFLOAT exist? + + + + + Does INFO support sections? + + + + + Is LINSERT available? + + + + + Indicates whether PEXPIRE and PTTL are supported + + + + + Does SRANDMEMBER support "count"? + + + + + Is the PERSIST operation supported? + + + + + Is RPUSHX and LPUSHX available? + + + + + Are cursor-based scans available? + + + + + Does EVAL / EVALSHA / etc exist? + + + + + Does SET have the EX|PX|NX|XX extensions? + + + + + Does SADD support varadic usage? + + + + + Is STRLEN available? + + + + + Is SETRANGE available? + + + + + Does TIME exist? + + + + + Are Lua changes to the calling database transparent to the calling client? + + + + + Is PFCOUNT supported on slaves? + + + + + Are the GEO commands available? + + + + + The Redis version of the server + + + + + Create a string representation of the available features + + + + + Represents a key that can be stored in redis + + + + + Indicate whether two keys are not equal + + + + + Indicate whether two keys are not equal + + + + + Indicate whether two keys are not equal + + + + + Indicate whether two keys are not equal + + + + + Indicate whether two keys are not equal + + + + + Indicate whether two keys are equal + + + + + Indicate whether two keys are equal + + + + + Indicate whether two keys are equal + + + + + Indicate whether two keys are equal + + + + + Indicate whether two keys are equal + + + + + See Object.Equals + + + + + Indicate whether two keys are equal + + + + + See Object.GetHashCode + + + + + Obtains a string representation of the key + + + + + Create a key from a String + + + + + Create a key from a Byte[] + + + + + Obtain the key as a Byte[] + + + + + Obtain the key as a String + + + + + Concatenate two keys + + + + + Prepends p to this RedisKey, returning a new RedisKey. + + Avoids some allocations if possible, repeated Prepend/Appends make + it less possible. + + + + + Appends p to this RedisKey, returning a new RedisKey. + + Avoids some allocations if possible, repeated Prepend/Appends make + it less possible. + + + + + Represents a general-purpose result from redis, that may be cast into various anticipated types + + + + + Create a new RedisResult. + + + + + + Indicates whether this result was a null result + + + + + Interprets the result as a String + + + + + Interprets the result as a Byte[] + + + + + Interprets the result as a Double + + + + + Interprets the result as an Int64 + + + + + Interprets the result as an Int32 + + + + + Interprets the result as a Boolean + + + + + Interprets the result as a RedisValue + + + + + Interprets the result as a RedisKey + + + + + Interprets the result as a Nullable Double + + + + + Interprets the result as a Nullable Int64 + + + + + Interprets the result as a Nullable Int32 + + + + + Interprets the result as a Nullable Boolean + + + + + Interprets the result as an array of String + + + + + Interprets the result as an array of Byte[] + + + + + Interprets the result as an array of Double + + + + + Interprets the result as an array of Int64 + + + + + Interprets the result as an array of Int32 + + + + + Interprets the result as an array of Boolean + + + + + Interprets the result as an array of RedisValue + + + + + Interprets the result as an array of RedisKey + + + + + Interprets the result as an array of RedisResult + + + + + The intrinsinc data-types supported by redis + + http://redis.io/topics/data-types + + + + The specified key does not exist + + + + + Strings are the most basic kind of Redis value. Redis Strings are binary safe, this means that a Redis string can contain any kind of data, for instance a JPEG image or a serialized Ruby object. + A String value can be at max 512 Megabytes in length. + + http://redis.io/commands#string + + + + Redis Lists are simply lists of strings, sorted by insertion order. It is possible to add elements to a Redis List pushing new elements on the head (on the left) or on the tail (on the right) of the list. + + http://redis.io/commands#list + + + + Redis Sets are an unordered collection of Strings. It is possible to add, remove, and test for existence of members in O(1) (constant time regardless of the number of elements contained inside the Set). + Redis Sets have the desirable property of not allowing repeated members. Adding the same element multiple times will result in a set having a single copy of this element. Practically speaking this means that adding a member does not require a check if exists then add operation. + + http://redis.io/commands#set + + + + Redis Sorted Sets are, similarly to Redis Sets, non repeating collections of Strings. The difference is that every member of a Sorted Set is associated with score, that is used in order to take the sorted set ordered, from the smallest to the greatest score. While members are unique, scores may be repeated. + + http://redis.io/commands#sorted_set + + + + Redis Hashes are maps between string fields and string values, so they are the perfect data type to represent objects (eg: A User with a number of fields like name, surname, age, and so forth) + + http://redis.io/commands#hash + + + + The data-type was not recognised by the client library + + + + + Represents values that can be stored in redis + + + + + Represents the string "" + + + + + A null value + + + + + Indicates whether the value is a primitive integer + + + + + Indicates whether the value should be considered a null value + + + + + Indicates whether the value is either null or a zero-length value + + + + + Indicates whether the value is greater than zero-length + + + + + Indicates whether two RedisValue values are equivalent + + + + + Indicates whether two RedisValue values are equivalent + + + + + See Object.Equals() + + + + + Indicates whether two RedisValue values are equivalent + + + + + See Object.GetHashCode() + + + + + Returns a string representation of the value + + + + + Compare against a RedisValue for relative order + + + + + Creates a new RedisValue from an Int32 + + + + + Creates a new RedisValue from a nullable Int32 + + + + + Creates a new RedisValue from an Int64 + + + + + Creates a new RedisValue from a nullable Int64 + + + + + Creates a new RedisValue from a Double + + + + + Creates a new RedisValue from a nullable Double + + + + + Creates a new RedisValue from a String + + + + + Creates a new RedisValue from a Byte[] + + + + + Creates a new RedisValue from a Boolean + + + + + Creates a new RedisValue from a nullable Boolean + + + + + Converts the value to a Boolean + + + + + Converts the value to an Int32 + + + + + Converts the value to an Int64 + + + + + Converts the value to a Double + + + + + Converts the value to a nullable Double + + + + + Converts the value to a nullable Int64 + + + + + Converts the value to a nullable Int32 + + + + + Converts the value to a nullable Boolean + + + + + Converts the value to a String + + + + + Converts the value to a byte[] + + + + + Convert to a long if possible, returning true. + + Returns false otherwise. + + + + + Convert to a int if possible, returning true. + + Returns false otherwise. + + + + + Convert to a double if possible, returning true. + + Returns false otherwise. + + + + + Additional operations to perform when making a server a master + + + + + No additional operations + + + + + Set the tie-breaker key on all available masters, to specify this server + + + + + Broadcast to the pub-sub channel to listening clients to reconfigure themselves + + + + + Issue a SLAVEOF to all other known nodes, making this this master of all + + + + + All additional operations + + + + + The type of save operation to perform + + + + + Instruct Redis to start an Append Only File rewrite process. The rewrite will create a small optimized version of the current Append Only File. + + http://redis.io/commands/bgrewriteaof + + + + Save the DB in background. The OK code is immediately returned. Redis forks, the parent continues to serve the clients, the child saves the DB on disk then exits. A client my be able to check if the operation succeeded using the LASTSAVE command. + + http://redis.io/commands/bgsave + + + + Save the DB in foreground. This is almost never a good thing to do, and could cause significant blocking. Only do this if you know you need to save + + http://redis.io/commands/save + + + + Turns a script with @namedParameters into a LuaScript that can be executed + against a given IDatabase(Async) object + + + + + Determines whether or not the given type can be used to provide parameters for the given LuaScript. + + + + + Creates a Func that extracts parameters from the given type for use by a LuaScript. + + Members that are RedisKey's get extracted to be passed in as keys to redis; all members that + appear in the script get extracted as RedisValue arguments to be sent up as args. + + We send all values as arguments so we don't have to prepare the same script for different parameter + types. + + The created Func takes a RedisKey, which will be prefixed to all keys (and arguments of type RedisKey) for + keyspace isolation. + + + + + Illustrates the queues associates with this server + + + + + The endpoint to which this data relates (this can be null if the data represents all servers) + + + + + Counters associated with the interactive (non pub-sub) connection + + + + + Counters associated with other ambient activity + + + + + Counters associated with the subscription (pub-sub) connection + + + + + Indicates the total number of outstanding items against this server + + + + + See Object.ToString(); + + + + + Computes the hash-slot that would be used by the given key + + + + + Indicates the flavor of a particular redis server + + + + + Classic redis-server server + + + + + Monitoring/configuration redis-sentinel server + + + + + Distributed redis-cluster server + + + + + Distributed redis installation via twemproxy + + + + + Describes an algebraic set operation that can be performed to combine multiple sets + + + + + Returns the members of the set resulting from the union of all the given sets. + + + + + Returns the members of the set resulting from the intersection of all the given sets. + + + + + Returns the members of the set resulting from the difference between the first set and all the successive sets. + + + + + Defines the persistence behaviour of the server during shutdown + + + + + The data is persisted if save points are configured + + + + + The data is NOT persisted even if save points are configured + + + + + The data is persisted even if save points are NOT configured + + + + + Allows callbacks from SocketManager as work is discovered + + + + + Indicates that a socket has connected + + + + + Indicates that the socket has signalled an error condition + + + + + Indicates that data is available on the socket, and that the consumer should read synchronously from the socket while there is data + + + + + Indicates that we cannot know whether data is available, and that the consume should commence reading asynchronously + + + + + A SocketManager monitors multiple sockets for availability of data; this is done using + the Socket.Select API and a dedicated reader-thread, which allows for fast responses + even when the system is under ambient load. + + + + + Creates a new (optionally named) SocketManager instance + + + + + Creates a new SocketManager instance + + + + + Gets the name of this SocketManager instance + + + + + Releases all resources associated with this instance + + + + + Describes a sorted-set element with the corresponding value + + + + + Initializes a SortedSetEntry value + + + + + The unique element stored in the sorted set + + + + + The score against the element + + + + + The score against the element + + + + + The unique element stored in the sorted set + + + + + Converts to a key/value pair + + + + + Converts from a key/value pair + + + + + See Object.ToString() + + + + + See Object.GetHashCode() + + + + + Compares two values for equality + + + + + Compares two values for equality + + + + + Compares two values by score + + + + + Compares two values by score + + + + + Compares two values for equality + + + + + Compares two values for non-equality + + + + + Specifies how to compare elements for sorting + + + + + Elements are interpreted as a double-precision floating point number and sorted numerically + + + + + Elements are sorted using their alphabetic form (Redis is UTF-8 aware as long as the !LC_COLLATE environment variable is set at the server) + + + + + We want to prevent callers hijacking the reader thread; this is a bit nasty, but works; + see http://stackoverflow.com/a/22588431/23354 for more information; a huge + thanks to Eli Arbel for spotting this (even though it is pure evil; it is *my kind of evil*) + + + + + Indicates whether the specified task will not hijack threads when results are set + + + + + Create a new TaskCompletion source + + + + + Create a new TaskCompletionSource that will not allow result-setting threads to be hijacked + + + + + Indicates when this operation should be performed (only some variations are legal in a given context) + + + + + The operation should occur whether or not there is an existing value + + + + + The operation should only occur when there is an existing value + + + + + The operation should only occur when there is not an existing value + + + + diff --git a/VersGen/bin/Debug/VersGen.dll b/VersGen/bin/Debug/VersGen.dll index f4e382f97b28e945bcb565308a392773b71d9eef..e57e0a384cf268828a24a1d2c16cec0fde5a497c 100644 GIT binary patch delta 193 zcmZorXi%8Y!D7BGH*#W+43m)h#8qL82PQKz)-y@4Pi|tYWBjt2ktv!*KwNx{*@M*< z?hTFtbM`EXx7(bLJedl1Td*j jHsFwA{4&{_LvwN&$Dhr7T)&u^M9en}^1WxAXuu8tq0~B; delta 222 zcmZorXi%8Y!4hia96qr}hN(<#;;Jx4rOAwp^-MKvlbaap7{fL*GDWipyb$_WHgVE% zpCv{$`3qHcE!~{MrofmL0@TL<1WZ6&2gFNMfta0vAt=}-*t{<4Q^sj=pDjCkjr|o| z{xJgOovmU*i&Kk=V~P`VOH*@F^@2lO9eu+cgIvQs{bF45lS^|`^Gb?i!ZM3X6LS=T zOG;BR^A(H?3{5A0VAtXEQUjU+1u1Hi&v8gGhE0CSp*dNA^WS6x&N-X;xPCD+RhVrS L$-Qg}$Qq^5H439@ybja|G2#!LrN|C5%#B?^2FVo)XohhE085WOK>z>% diff --git a/VersGen/obj/Debug/VersGen.dll b/VersGen/obj/Debug/VersGen.dll index f4e382f97b28e945bcb565308a392773b71d9eef..e57e0a384cf268828a24a1d2c16cec0fde5a497c 100644 GIT binary patch delta 193 zcmZorXi%8Y!D7BGH*#W+43m)h#8qL82PQKz)-y@4Pi|tYWBjt2ktv!*KwNx{*@M*< z?hTFtbM`EXx7(bLJedl1Td*j jHsFwA{4&{_LvwN&$Dhr7T)&u^M9en}^1WxAXuu8tq0~B; delta 222 zcmZorXi%8Y!4hia96qr}hN(<#;;Jx4rOAwp^-MKvlbaap7{fL*GDWipyb$_WHgVE% zpCv{$`3qHcE!~{MrofmL0@TL<1WZ6&2gFNMfta0vAt=}-*t{<4Q^sj=pDjCkjr|o| z{xJgOovmU*i&Kk=V~P`VOH*@F^@2lO9eu+cgIvQs{bF45lS^|`^Gb?i!ZM3X6LS=T zOG;BR^A(H?3{5A0VAtXEQUjU+1u1Hi&v8gGhE0CSp*dNA^WS6x&N-X;xPCD+RhVrS L + Bitwise operators +

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 z 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 literal 0 HcmV?d00001 diff --git a/PROJ-ETS/packages/StackExchange.Redis.1.2.4/lib/net46/StackExchange.Redis.xml b/PROJ-ETS/packages/StackExchange.Redis.1.2.4/lib/net46/StackExchange.Redis.xml new file mode 100644 index 0000000..a1f7018 --- /dev/null +++ b/PROJ-ETS/packages/StackExchange.Redis.1.2.4/lib/net46/StackExchange.Redis.xml @@ -0,0 +1,6650 @@ + + + + StackExchange.Redis + + + +

0SA96asC<7oaS&-j71pF4H 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 z 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