From 89b05d5f784bb07a53cbc2afde6627a24f397416 Mon Sep 17 00:00:00 2001 From: Developer01 Date: Wed, 1 Oct 2025 15:17:45 +0200 Subject: [PATCH] Update auf .NET 8 --- Base/Base.vbproj | 160 +- Base/Base/BaseClass.vb | 2 +- Base/DatabaseEx.vb | 4 +- Base/Encryption/Compression.vb | 2 +- Base/Encryption/Encryption.vb | 2 +- Base/FileWatcher/FileWatcher.vb | 2 +- Base/FilesystemEx.vb | 2 +- Base/LanguageEx.vb | 2 +- Base/MimeEx.vb | 2 +- Base/ModuleExtensions.vb | 3 +- .../{AssemblyInfo.vb => AssemblyInfo1.vb} | 16 +- Base/My Project/Settings.settings | 2 +- Base/ScreenEx.vb | 3 +- Base/StringFunctions.vb | 2 +- Base/WindowsEx.vb | 2 +- Base/bin/Debug/DigitalData.Modules.Base.dll | Bin 102400 -> 0 bytes Base/bin/Debug/DigitalData.Modules.Base.xml | 361 - .../bin/Debug/DigitalData.Modules.Logging.dll | Bin 31744 -> 0 bytes .../bin/Debug/DigitalData.Modules.Logging.xml | 200 - Base/bin/Debug/NLog.dll | Bin 848896 -> 0 bytes Base/bin/Debug/NLog.xml | 28265 ---------------- .../DigitalData.Modules.Base.deps.json | 136 + .../DigitalData.Modules.Base.dll | Bin 0 -> 100864 bytes .../DigitalData.Modules.Logging.dll | Bin 0 -> 27136 bytes Config/Config.vbproj | 178 +- Config/My Project/AssemblyInfo.vb | 26 - Config/SampleConfig.vb | 70 - .../DigitalData.Modules.Base.dll | Bin 0 -> 100864 bytes .../DigitalData.Modules.Config.deps.json | 862 + .../DigitalData.Modules.Config.dll | Bin 0 -> 18944 bytes .../DigitalData.Modules.Config.dll.config | 22 + .../DigitalData.Modules.Database.dll | Bin 0 -> 48128 bytes .../DigitalData.Modules.Database.dll.config | 23 + .../DigitalData.Modules.Encryption.dll | Bin 0 -> 16384 bytes .../DigitalData.Modules.Logging.dll | Bin 0 -> 27136 bytes Config/packages.config | 12 - Database/Adapters/Firebird.vb | 3 +- Database/Adapters/MSSQLServer.vb | 10 +- Database/Adapters/ODBC.vb | 5 +- Database/Adapters/Oracle.vb | 6 +- Database/Database.vbproj | 179 +- Database/Dispatcher.vb | 4 +- Database/IDatabase.vb | 4 +- Database/My Project/AssemblyInfo.vb | 26 - .../DigitalData.Modules.Database.deps.json | 798 + .../DigitalData.Modules.Database.dll | Bin 0 -> 48128 bytes .../DigitalData.Modules.Database.dll.config | 23 + .../DigitalData.Modules.Encryption.dll | Bin 0 -> 16384 bytes .../DigitalData.Modules.Logging.dll | Bin 0 -> 27136 bytes Database/packages.config | 10 - Encryption/Encryption.vbproj | 127 +- Encryption/My Project/AssemblyInfo.vb | 26 - .../DigitalData.Modules.Encryption.deps.json | 135 + .../DigitalData.Modules.Encryption.dll | Bin 0 -> 16384 bytes .../DigitalData.Modules.Logging.dll | Bin 0 -> 27136 bytes Encryption/packages.config | 5 - Filesystem/Filesystem.vbproj | 140 +- Filesystem/My Project/AssemblyInfo.vb | 26 - .../DigitalData.Modules.Encryption.dll | Bin 0 -> 16384 bytes .../DigitalData.Modules.Filesystem.deps.json | 199 + .../DigitalData.Modules.Filesystem.dll | Bin 0 -> 26624 bytes .../DigitalData.Modules.Logging.dll | Bin 0 -> 27136 bytes Interfaces/Interfaces.vbproj | 327 +- Interfaces/My Project/AssemblyInfo.vb | 26 - .../DigitalData.Modules.Base.dll | Bin 0 -> 100864 bytes .../DigitalData.Modules.Database.dll | Bin 0 -> 48128 bytes .../DigitalData.Modules.Database.dll.config | 23 + .../DigitalData.Modules.Encryption.dll | Bin 0 -> 16384 bytes .../DigitalData.Modules.Interfaces.deps.json | 1381 + .../DigitalData.Modules.Interfaces.dll | Bin 0 -> 2653696 bytes .../DigitalData.Modules.Interfaces.dll.config | 47 + .../DigitalData.Modules.Logging.dll | Bin 0 -> 27136 bytes Jobs/GraphQL/GraphQLWriter.vb | 1 + Jobs/Jobs.vbproj | 308 +- Jobs/My Project/AssemblyInfo.vb | 25 - Jobs/ZUGFeRD/EmailFunctions.vb | 5 +- Jobs/ZUGFeRD/ImportZUGFeRDFiles.vb | 1 + Jobs/ZUGFeRD/XRechnungViewDocument.vb | 11 - .../DigitalData.Modules.Base.dll | Bin 0 -> 100864 bytes .../DigitalData.Modules.Config.dll | Bin 0 -> 18944 bytes .../DigitalData.Modules.Config.dll.config | 22 + .../DigitalData.Modules.Database.dll | Bin 0 -> 48128 bytes .../DigitalData.Modules.Database.dll.config | 23 + .../DigitalData.Modules.Encryption.dll | Bin 0 -> 16384 bytes .../DigitalData.Modules.Interfaces.dll | Bin 0 -> 2653696 bytes .../DigitalData.Modules.Interfaces.dll.config | 47 + .../DigitalData.Modules.Jobs.deps.json | 1448 + .../DigitalData.Modules.Jobs.dll | Bin 0 -> 105984 bytes .../DigitalData.Modules.Jobs.dll.config | 50 + .../DigitalData.Modules.Logging.dll | Bin 0 -> 27136 bytes Jobs/packages.config | 33 - License/License.vbproj | 142 +- License/My Project/AssemblyInfo.vb | 26 - .../DigitalData.Modules.License.deps.json | 135 + .../DigitalData.Modules.License.dll | Bin 0 -> 17408 bytes .../DigitalData.Modules.Logging.dll | Bin 0 -> 27136 bytes Logging/Logging.vbproj | 41 +- .../bin/Debug/DigitalData.Modules.Logging.dll | Bin 31744 -> 0 bytes .../bin/Debug/DigitalData.Modules.Logging.xml | 200 - Logging/bin/Debug/NLog.dll | Bin 848896 -> 0 bytes Logging/bin/Debug/NLog.xml | 28265 ---------------- Logging_.NET8/LogConfig.vb | 614 + Logging_.NET8/LogEntry.vb | 9 + Logging_.NET8/LogOptions.vb | 10 + Logging_.NET8/Logger.vb | 4 + Logging_.NET8/Logging_.NET8.vbproj | 21 + Logging_.NET8/TraceListener.vb | 248 + .../DigitalData.Modules.Logging.deps.json | 105 + .../DigitalData.Modules.Logging.dll | Bin 0 -> 27136 bytes .../bin/Debug/net8.0/Logging_.NET8.deps.json | 105 + .../bin/Debug/net8.0/Logging_.NET8.dll | Bin 0 -> 26624 bytes Messaging/Messaging.vbproj | 170 +- Messaging/My Project/AssemblyInfo.vb | 26 - .../DigitalData.Modules.Base.dll | Bin 0 -> 100864 bytes .../DigitalData.Modules.Logging.dll | Bin 0 -> 27136 bytes .../DigitalData.Modules.Messaging.deps.json | 483 + .../DigitalData.Modules.Messaging.dll | Bin 0 -> 58368 bytes Messaging/bin/Debug/net8.0-windows/Mail.dll | Bin 0 -> 1394176 bytes Messaging/packages.config | 8 - Modules.sln | 6 + Windows/FileDrop.vb | 2 +- Windows/My Project/AssemblyInfo.vb | 26 - Windows/Windows.vbproj | 187 +- .../DigitalData.Modules.Base.dll | Bin 0 -> 100864 bytes .../DigitalData.Modules.Logging.dll | Bin 0 -> 27136 bytes .../DigitalData.Modules.Windows.deps.json | 182 + .../DigitalData.Modules.Windows.dll | Bin 0 -> 40960 bytes Windows/packages.config | 6 - Windream/My Project/AssemblyInfo.vb | 26 - Windream/Windream.vb | 14 +- Windream/Windream.vbproj | 194 +- .../DigitalData.Modules.Base.dll | Bin 0 -> 100864 bytes .../DigitalData.Modules.Logging.dll | Bin 0 -> 27136 bytes .../DigitalData.Modules.Windream.deps.json | 222 + .../DigitalData.Modules.Windream.dll | Bin 0 -> 47616 bytes .../net8.0-windows/Interop.WINDREAMLib.dll | Bin 0 -> 307200 bytes .../net8.0-windows/Interop.WMOBRWSLib.dll | Bin 0 -> 5120 bytes .../net8.0-windows/Interop.WMOSRCHLib.dll | Bin 0 -> 122368 bytes .../net8.0-windows/Interop.WMOTOOLLib.dll | Bin 0 -> 69632 bytes 139 files changed, 7730 insertions(+), 59612 deletions(-) rename Base/My Project/{AssemblyInfo.vb => AssemblyInfo1.vb} (68%) delete mode 100644 Base/bin/Debug/DigitalData.Modules.Base.dll delete mode 100644 Base/bin/Debug/DigitalData.Modules.Base.xml delete mode 100644 Base/bin/Debug/DigitalData.Modules.Logging.dll delete mode 100644 Base/bin/Debug/DigitalData.Modules.Logging.xml delete mode 100644 Base/bin/Debug/NLog.dll delete mode 100644 Base/bin/Debug/NLog.xml create mode 100644 Base/bin/Debug/net8.0-windows/DigitalData.Modules.Base.deps.json create mode 100644 Base/bin/Debug/net8.0-windows/DigitalData.Modules.Base.dll create mode 100644 Base/bin/Debug/net8.0-windows/DigitalData.Modules.Logging.dll delete mode 100644 Config/SampleConfig.vb create mode 100644 Config/bin/Debug/net8.0-windows/DigitalData.Modules.Base.dll create mode 100644 Config/bin/Debug/net8.0-windows/DigitalData.Modules.Config.deps.json create mode 100644 Config/bin/Debug/net8.0-windows/DigitalData.Modules.Config.dll create mode 100644 Config/bin/Debug/net8.0-windows/DigitalData.Modules.Config.dll.config create mode 100644 Config/bin/Debug/net8.0-windows/DigitalData.Modules.Database.dll create mode 100644 Config/bin/Debug/net8.0-windows/DigitalData.Modules.Database.dll.config create mode 100644 Config/bin/Debug/net8.0-windows/DigitalData.Modules.Encryption.dll create mode 100644 Config/bin/Debug/net8.0-windows/DigitalData.Modules.Logging.dll delete mode 100644 Config/packages.config create mode 100644 Database/bin/Debug/net8.0-windows/DigitalData.Modules.Database.deps.json create mode 100644 Database/bin/Debug/net8.0-windows/DigitalData.Modules.Database.dll create mode 100644 Database/bin/Debug/net8.0-windows/DigitalData.Modules.Database.dll.config create mode 100644 Database/bin/Debug/net8.0-windows/DigitalData.Modules.Encryption.dll create mode 100644 Database/bin/Debug/net8.0-windows/DigitalData.Modules.Logging.dll delete mode 100644 Database/packages.config create mode 100644 Encryption/bin/Debug/net8.0-windows/DigitalData.Modules.Encryption.deps.json create mode 100644 Encryption/bin/Debug/net8.0-windows/DigitalData.Modules.Encryption.dll create mode 100644 Encryption/bin/Debug/net8.0-windows/DigitalData.Modules.Logging.dll delete mode 100644 Encryption/packages.config create mode 100644 Filesystem/bin/Debug/net8.0-windows/DigitalData.Modules.Encryption.dll create mode 100644 Filesystem/bin/Debug/net8.0-windows/DigitalData.Modules.Filesystem.deps.json create mode 100644 Filesystem/bin/Debug/net8.0-windows/DigitalData.Modules.Filesystem.dll create mode 100644 Filesystem/bin/Debug/net8.0-windows/DigitalData.Modules.Logging.dll create mode 100644 Interfaces/bin/Debug/net8.0-windows/DigitalData.Modules.Base.dll create mode 100644 Interfaces/bin/Debug/net8.0-windows/DigitalData.Modules.Database.dll create mode 100644 Interfaces/bin/Debug/net8.0-windows/DigitalData.Modules.Database.dll.config create mode 100644 Interfaces/bin/Debug/net8.0-windows/DigitalData.Modules.Encryption.dll create mode 100644 Interfaces/bin/Debug/net8.0-windows/DigitalData.Modules.Interfaces.deps.json create mode 100644 Interfaces/bin/Debug/net8.0-windows/DigitalData.Modules.Interfaces.dll create mode 100644 Interfaces/bin/Debug/net8.0-windows/DigitalData.Modules.Interfaces.dll.config create mode 100644 Interfaces/bin/Debug/net8.0-windows/DigitalData.Modules.Logging.dll create mode 100644 Jobs/bin/Debug/net8.0-windows/DigitalData.Modules.Base.dll create mode 100644 Jobs/bin/Debug/net8.0-windows/DigitalData.Modules.Config.dll create mode 100644 Jobs/bin/Debug/net8.0-windows/DigitalData.Modules.Config.dll.config create mode 100644 Jobs/bin/Debug/net8.0-windows/DigitalData.Modules.Database.dll create mode 100644 Jobs/bin/Debug/net8.0-windows/DigitalData.Modules.Database.dll.config create mode 100644 Jobs/bin/Debug/net8.0-windows/DigitalData.Modules.Encryption.dll create mode 100644 Jobs/bin/Debug/net8.0-windows/DigitalData.Modules.Interfaces.dll create mode 100644 Jobs/bin/Debug/net8.0-windows/DigitalData.Modules.Interfaces.dll.config create mode 100644 Jobs/bin/Debug/net8.0-windows/DigitalData.Modules.Jobs.deps.json create mode 100644 Jobs/bin/Debug/net8.0-windows/DigitalData.Modules.Jobs.dll create mode 100644 Jobs/bin/Debug/net8.0-windows/DigitalData.Modules.Jobs.dll.config create mode 100644 Jobs/bin/Debug/net8.0-windows/DigitalData.Modules.Logging.dll delete mode 100644 Jobs/packages.config create mode 100644 License/bin/Debug/net8.0-windows/DigitalData.Modules.License.deps.json create mode 100644 License/bin/Debug/net8.0-windows/DigitalData.Modules.License.dll create mode 100644 License/bin/Debug/net8.0-windows/DigitalData.Modules.Logging.dll delete mode 100644 Logging/bin/Debug/DigitalData.Modules.Logging.dll delete mode 100644 Logging/bin/Debug/DigitalData.Modules.Logging.xml delete mode 100644 Logging/bin/Debug/NLog.dll delete mode 100644 Logging/bin/Debug/NLog.xml create mode 100644 Logging_.NET8/LogConfig.vb create mode 100644 Logging_.NET8/LogEntry.vb create mode 100644 Logging_.NET8/LogOptions.vb create mode 100644 Logging_.NET8/Logger.vb create mode 100644 Logging_.NET8/Logging_.NET8.vbproj create mode 100644 Logging_.NET8/TraceListener.vb create mode 100644 Logging_.NET8/bin/Debug/net8.0-windows/DigitalData.Modules.Logging.deps.json create mode 100644 Logging_.NET8/bin/Debug/net8.0-windows/DigitalData.Modules.Logging.dll create mode 100644 Logging_.NET8/bin/Debug/net8.0/Logging_.NET8.deps.json create mode 100644 Logging_.NET8/bin/Debug/net8.0/Logging_.NET8.dll create mode 100644 Messaging/bin/Debug/net8.0-windows/DigitalData.Modules.Base.dll create mode 100644 Messaging/bin/Debug/net8.0-windows/DigitalData.Modules.Logging.dll create mode 100644 Messaging/bin/Debug/net8.0-windows/DigitalData.Modules.Messaging.deps.json create mode 100644 Messaging/bin/Debug/net8.0-windows/DigitalData.Modules.Messaging.dll create mode 100644 Messaging/bin/Debug/net8.0-windows/Mail.dll delete mode 100644 Messaging/packages.config create mode 100644 Windows/bin/Debug/net8.0-windows/DigitalData.Modules.Base.dll create mode 100644 Windows/bin/Debug/net8.0-windows/DigitalData.Modules.Logging.dll create mode 100644 Windows/bin/Debug/net8.0-windows/DigitalData.Modules.Windows.deps.json create mode 100644 Windows/bin/Debug/net8.0-windows/DigitalData.Modules.Windows.dll delete mode 100644 Windows/packages.config create mode 100644 Windream/bin/Debug/net8.0-windows/DigitalData.Modules.Base.dll create mode 100644 Windream/bin/Debug/net8.0-windows/DigitalData.Modules.Logging.dll create mode 100644 Windream/bin/Debug/net8.0-windows/DigitalData.Modules.Windream.deps.json create mode 100644 Windream/bin/Debug/net8.0-windows/DigitalData.Modules.Windream.dll create mode 100644 Windream/bin/Debug/net8.0-windows/Interop.WINDREAMLib.dll create mode 100644 Windream/bin/Debug/net8.0-windows/Interop.WMOBRWSLib.dll create mode 100644 Windream/bin/Debug/net8.0-windows/Interop.WMOSRCHLib.dll create mode 100644 Windream/bin/Debug/net8.0-windows/Interop.WMOTOOLLib.dll diff --git a/Base/Base.vbproj b/Base/Base.vbproj index a83e34ad..00b8605b 100644 --- a/Base/Base.vbproj +++ b/Base/Base.vbproj @@ -1,151 +1,31 @@ - - - + + - Debug - AnyCPU - {6EA0C51F-C2B1-4462-8198-3DE0B32B74F8} - Library DigitalData.Modules.Base + net8.0-windows + true DigitalData.Modules.Base - 512 - Windows - v4.6.2 - true - - - - true - full - true - true - bin\Debug\ - DigitalData.Modules.Base.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - pdbonly - false - true - true - bin\Release\ - DigitalData.Modules.Base.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - On - - - Binary - - - Off - - - On - - - - ..\packages\DigitalData.Modules.Logging.2.6.5\lib\net462\DigitalData.Modules.Logging.dll - - - - ..\packages\NLog.5.0.5\lib\net46\NLog.dll - - - - - - - - - - - - - - - - - - - - - - - - - - - - + Digital Data GmbH + Provides baseclasses, methods and constants for DD Products + 1.3.9 + 1.3.9 + $(AssemblyName) + $(AssemblyName) + + - - - - - - - - - - - - - - - - - - - - - - - - True - Application.myapp - True - - - True - True - Resources.resx - - - True - Settings.settings - True - - - + + + - - VbMyResourcesResXFileCodeGenerator - Resources.Designer.vb - My.Resources - Designer - + + - - MyApplicationCodeGenerator - Application.Designer.vb - - + SettingsSingleFileGenerator - My - Settings.Designer.vb - - - - - - - - powershell.exe -command "& { &'$(SolutionDir)copy-binary.ps1' '$(TargetPath)' '$(TargetFileName)' '$(ConfigurationName)' '$(ProjectName)' }" - - \ No newline at end of file + + diff --git a/Base/Base/BaseClass.vb b/Base/Base/BaseClass.vb index e12a99c1..b2d20e2c 100644 --- a/Base/Base/BaseClass.vb +++ b/Base/Base/BaseClass.vb @@ -1,4 +1,4 @@ -Imports DigitalData.Modules.Logging +Imports Digitaldata.Modules.Logging ''' ''' BaseClass that sets up a Logger. diff --git a/Base/DatabaseEx.vb b/Base/DatabaseEx.vb index 24430345..f6d0b92c 100644 --- a/Base/DatabaseEx.vb +++ b/Base/DatabaseEx.vb @@ -1,4 +1,6 @@ -Public Class DatabaseEx +Imports System.Data + +Public Class DatabaseEx ''' ''' TODO: Deprecate ''' Checks a Row value for three different `null` values, diff --git a/Base/Encryption/Compression.vb b/Base/Encryption/Compression.vb index a1d5027e..b3b15850 100644 --- a/Base/Encryption/Compression.vb +++ b/Base/Encryption/Compression.vb @@ -1,6 +1,6 @@ Imports System.IO Imports System.IO.Compression -Imports DigitalData.Modules.Logging +Imports Digitaldata.Modules.Logging Public Class Compression Private ReadOnly _logger As Logger diff --git a/Base/Encryption/Encryption.vb b/Base/Encryption/Encryption.vb index 1ec620de..d80c5617 100644 --- a/Base/Encryption/Encryption.vb +++ b/Base/Encryption/Encryption.vb @@ -1,7 +1,7 @@ Imports System.IO Imports System.Security.Cryptography Imports System.Text.Encoding -Imports DigitalData.Modules.Logging +Imports Digitaldata.Modules.Logging ''' ''' https://stackoverflow.com/questions/10168240/encrypting-decrypting-a-string-in-c-sharp diff --git a/Base/FileWatcher/FileWatcher.vb b/Base/FileWatcher/FileWatcher.vb index 45511192..2a9f2708 100644 --- a/Base/FileWatcher/FileWatcher.vb +++ b/Base/FileWatcher/FileWatcher.vb @@ -1,6 +1,6 @@ Imports System.IO Imports DigitalData.Modules.Base.FileWatcherFilters -Imports DigitalData.Modules.Logging +Imports Digitaldata.Modules.Logging Public Class FileWatcher diff --git a/Base/FilesystemEx.vb b/Base/FilesystemEx.vb index cf7bf36c..5e417b16 100644 --- a/Base/FilesystemEx.vb +++ b/Base/FilesystemEx.vb @@ -1,4 +1,4 @@ -Imports DigitalData.Modules.Logging +Imports Digitaldata.Modules.Logging Imports System.IO Imports System.Security.Cryptography Imports System.Text diff --git a/Base/LanguageEx.vb b/Base/LanguageEx.vb index 2f349fd5..03e2cf6d 100644 --- a/Base/LanguageEx.vb +++ b/Base/LanguageEx.vb @@ -1,6 +1,6 @@ Imports System.Globalization Imports System.Threading -Imports DigitalData.Modules.Logging +Imports Digitaldata.Modules.Logging ''' ''' Functions relating to i18n, Cultures, Translations diff --git a/Base/MimeEx.vb b/Base/MimeEx.vb index 71a41137..07c2a5f3 100644 --- a/Base/MimeEx.vb +++ b/Base/MimeEx.vb @@ -1,4 +1,4 @@ -Imports DigitalData.Modules.Logging +Imports Digitaldata.Modules.Logging Public Class MimeEx Inherits BaseClass diff --git a/Base/ModuleExtensions.vb b/Base/ModuleExtensions.vb index 28dba280..63907871 100644 --- a/Base/ModuleExtensions.vb +++ b/Base/ModuleExtensions.vb @@ -1,4 +1,5 @@ -Imports System.Runtime.CompilerServices +Imports System.Data +Imports System.Runtime.CompilerServices Imports System.Web Public Module ModuleExtensions diff --git a/Base/My Project/AssemblyInfo.vb b/Base/My Project/AssemblyInfo1.vb similarity index 68% rename from Base/My Project/AssemblyInfo.vb rename to Base/My Project/AssemblyInfo1.vb index a042a5c5..1b4928af 100644 --- a/Base/My Project/AssemblyInfo.vb +++ b/Base/My Project/AssemblyInfo1.vb @@ -8,12 +8,12 @@ Imports System.Runtime.InteropServices ' Werte der Assemblyattribute überprüfen - - - - - - +' +' +' +' +'' +' @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' indem Sie "*" wie unten gezeigt eingeben: ' - - +' +' diff --git a/Base/My Project/Settings.settings b/Base/My Project/Settings.settings index 85b890b3..14236bb9 100644 --- a/Base/My Project/Settings.settings +++ b/Base/My Project/Settings.settings @@ -1,7 +1,7 @@  - + diff --git a/Base/ScreenEx.vb b/Base/ScreenEx.vb index 199db45f..b27f5d8a 100644 --- a/Base/ScreenEx.vb +++ b/Base/ScreenEx.vb @@ -1,8 +1,9 @@ Imports System Imports System.Drawing Imports System.Runtime.InteropServices +Imports Digitaldata.Modules.Base.NativeMethods Imports System.Windows.Forms -Imports DigitalData.Modules.Base.NativeMethods + Public Class ScreenEx Public Const DEFAULT_WINDOW_HEIGHT = 480 diff --git a/Base/StringFunctions.vb b/Base/StringFunctions.vb index b8570587..856e41b8 100644 --- a/Base/StringFunctions.vb +++ b/Base/StringFunctions.vb @@ -1,5 +1,5 @@ Imports System.Globalization -Imports DigitalData.Modules.Logging +Imports Digitaldata.Modules.Logging Public Class StringFunctions Public Shared Function SplitText_Length(ByVal input As String, ByVal maxLength As Integer) As List(Of String) diff --git a/Base/WindowsEx.vb b/Base/WindowsEx.vb index ecaa2374..f5efff93 100644 --- a/Base/WindowsEx.vb +++ b/Base/WindowsEx.vb @@ -1,6 +1,6 @@ Imports System.ComponentModel Imports System.Runtime.InteropServices -Imports DigitalData.Modules.Logging +Imports Digitaldata.Modules.Logging Imports DigitalData.Modules.Base.NativeMethods Public Class WindowsEx diff --git a/Base/bin/Debug/DigitalData.Modules.Base.dll b/Base/bin/Debug/DigitalData.Modules.Base.dll deleted file mode 100644 index a55bf38e21c27771347e0e2fdb68888721403716..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 102400 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 diff --git a/Base/bin/Debug/DigitalData.Modules.Base.xml b/Base/bin/Debug/DigitalData.Modules.Base.xml deleted file mode 100644 index 9b63069c..00000000 --- a/Base/bin/Debug/DigitalData.Modules.Base.xml +++ /dev/null @@ -1,361 +0,0 @@ - - - - -DigitalData.Modules.Base - - - - - - Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. - - - - - Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. - - - - - Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle - Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. - - - - - BaseClass that sets up a Logger. - - - - - https://stackoverflow.com/questions/10168240/encrypting-decrypting-a-string-in-c-sharp - - - - - TODO: Deprecate - Checks a Row value for three different `null` values, - Nothing, Empty String, DBNull - - Returns the original value if the value is not null, or `defaultValue` - - The type of the value - The DataRow that contains the value - The column name - The default value - The original value or the default value - - - - Reads the file at `FilePath` and computes a SHA256 Hash from its contents - - - - - - - Adds file version string to given filename `Destination` if that file already exists. - - Filepath to check - Versioned string - - - - Adds file version string to given filename `Destination` if that file already exists. - - Filepath to check - Custom action to check for file existence - Versioned string - - - - Split String at version separator to: - check if string is already versioned, - get the string version of an already versioned string - - - Examples: - test1.pdf --> test1 --> ['test1'] --> no fileversion - test1~2.pdf --> test1~2 --> ['test1', '2'] --> version 2 - test1~12345~2.pdf --> test1~12345~2 --> ['test1', '12345', '2'] --> still version 2 - somestring~3 --> somestring~3 --> ['somestring', '3'] --> version 3 - - The string to versioned - Tuple of string and version - - - - Removes files in a directory filtered by filename, extension and last write date - - The directory in which files will be deleted - Only delete files which are older than x days. Must be between 0 and 1000 days. - A filename filter which will be checked - A file extension which will be checked - Should the function continue with deleting when a file could not be deleted? - True if all files were deleted or if no files were deleted, otherwise false - - - - Copied from https://docs.microsoft.com/en-us/dotnet/standard/io/how-to-copy-directories - - - - - - - - Tries to create a directory and returns its path. - Returns a temp path if `DirectoryPath` can not be created or written to. - - The directory to create - Should a write access test be performed? - The used path - - - - Checks if a file is locked, ie. in use by another process. - - - https://docs.microsoft.com/en-us/dotnet/standard/io/handling-io-errors - https://stackoverflow.com/questions/876473/is-there-a-way-to-check-if-a-file-is-in-use - - - - - Checks the size of the supplied file. - - - - - - - - This may fire twice for a single save operation, - see: https://blogs.msdn.microsoft.com/oldnewthing/20140507-00/?p=1053/ - - - - - Built-in filters for FileWatcher that are useful for correctly detecting changes on Office documents (currently Office 2016) - - - - - Base Filter that all filters must inherit from - Provides two functions that may be overridden and some useful file extension lists - - - - - Simple Filter that filters changes made on temporary files - - - - - Filter to detect changes on Office files - - - - - Truncates a string to the specified length if it exceeds that length. - - The string - The maximum string length - The truncated string - - - - Replaces single quotes in text for SQL Commands. - - The string - The escaped string. - - - - Converts a string to boolean. Accepts true and 1 as truthy values - - The input string - True if input is true or 1, otherwise false. - - - - Checks if a string is null or empty - - The input string - True string is null or empty, otherwise false. - - - - Checks if a string is NOT null or empty - - The input string - True string is null or empty, otherwise false. - - - - Reads the file at `FilePath` and computes a SHA256 Hash from its contents - - - - - - - Returns a Dictionary path in the form of [Base]\[Year]\[Month]\[Day] - - The basedirectory - The date to be used - The final directory path - - - - Returns a Dictionary path in the form of [Base]\[Year]\[Month]\[Day] based on the current date - - The basedirectory - The final directory path - - - - Creates a Dictionary in the form of [Base]\[Year]\[Month]\[Day] - - The basedirectory - The date to be used - The created path. If the directory cannot be created, Nothing. - - - - Creates a Dictionary in the form of [Base]\[Year]\[Month]\[Day] based on the current date - - The basedirectory - The created path. If the directory cannot be created, Nothing. - - - - Checks a value for three different `null` values, - Nothing, Empty String, DBNull - - Returns the original value if the value is not null, or `defaultValue` - - The type of the value - The value - The default Value - The original value or the default value - - - - Converts a String value to the given Enum - - The Enum Type - The string value to convert - - - - Converts an Integer value to the given Enum - - The Enum Type - The integer value to convert - - - - Converts a Long value to the given Enum - - The Enum Type - The long value to convert - - - - Returns the brightness of a color as a number between 0 and 1 - - The color to check - Low values for dark colors, high values for bright colors. - - - - Returns a foreground/text color of either black or white, depending on the brightness of `pOtherColor` - - The Background color whose brightness is determined - A text color which is either white or black - - - - Functions relating to i18n, Cultures, Translations - - - - - Sets the Language of the current thread by setting CurrentCulture and CurrentUICulture - - A Logger instance - A language code in the form of 'de-DE' - A custom date pattern - - - - Logs the culture settings of the current thread - - A Logger instance - - - - Checks if a point is Visible on any screen - - - - - Checks if Size is not negative - - - - - Checks if Location is not negative - - - - - Creates a "slug" from text that can be used as part of a valid URL. - Invalid characters are converted to hyphens. Punctuation that Is - perfect valid in a URL Is also converted to hyphens to keep the - result mostly text. Steps are taken to prevent leading, trailing, - And consecutive hyphens. - - The string to convert - - - - Removes Invalid characters from a string, suitable for file and path names - - Removed characters are: - - * Illegal File-characters - * Illegal Path-characters - * Unicode characters that classify as Emoji - * All characters above codepoint U+10000 - - See: - https://stackoverflow.com/questions/46905176/detecting-all-emojis - https://stackoverflow.com/questions/28023682/how-do-i-remove-emoji-characters-from-a-string - - - - - - Generates a random short (8 characters) guid - - The generated guid as a String - - - - Checks if string contains invalid characters - - - - - - - Creates a hash using the SHA256 algorithm and returns it - - Any string - - - - diff --git a/Base/bin/Debug/DigitalData.Modules.Logging.dll b/Base/bin/Debug/DigitalData.Modules.Logging.dll deleted file mode 100644 index 5028da59f96ebae49f4ad868edcd54170e41443a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31744 zcmeHw3w&Hvwf8!Yd1R7I=8;U=63Vo+bxP8ZmKNGVp=pw~fut=>S|}FNNit1`PUeI& zleVF@P88G%h=3v}U;$qh6%ikBxx!8t96aftg7mqH zZ_T<_>-yHL-W};&e8jef?BsBKAeqft`FMXSZjWZ;>1@1xeNTMY8ca1;R|n=esyB2H zb!i5@^^eaExuqSU+3`wk1Cb4mUvY1E53X^158_J{5?ohyGsDY(KS%HdpFaj|yMjge zf9dLw%)+M~de<{@kmyg`2$Me#6IFp%bq!I&;X_>+d&{)QO;QQS&8mywo@4kf@~{2j4$iD4BxWPN}^R|q@a6H zfBvv-I(evRDN$lGktSTC-glRL!eJfvGE+~SKomG-9_b0RSAb6WXzoN@3s7k0W-
    PfyGP%X$MqE&)*GFR&!he!diKtArkO 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 - - - -DigitalData.Modules.Logging - - - - - - Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw. - - - - - Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird. - - - - - Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle - Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden. - - - - LogConfig - 0.0.1.0 - 02.10.2018 - - Module that writes file-logs to different locations: - local application data, the current directory or a custom path. - Files and directories will be automatically created. - - - NLog, >= 4.5.8 - - - Imports DigitalData.Modules.Logging - - Class FooProgram - Private Logger as Logger - Private LogConfig as LogConfig - - Public Sub New() - LogConfig = new LogConfig(args) - Logger = LogConfig.GetLogger() - End Sub - - Public Sub Bar() - Logger.Info("Baz") - End Sub - End Class - - Class FooLib - Private Logger as NLog.Logger - - Public Sub New(LogConfig as LogConfig) - Logger = LogConfig.GetLogger() - End Sub - - Public Sub Bar() - Logger.Info("Baz") - End Sub - End Class - - - If logpath can not be written to, falls back to temp folder as defined in: - https://docs.microsoft.com/de-de/dotnet/api/system.io.path.gettemppath?view=netframework-4.7.2 - - If used in a service, LogPath must be set to CustomPath, otherwise the Log will be written to System32! - - For NLog Troubleshooting, set the following Environment variables to write the NLog internal Log: - - NLOG_INTERNAL_LOG_LEVEL: Debug - - NLOG_INTERNAL_LOG_FILE: ex. C:\Temp\Nlog_Internal.log - - - - - Returns the NLog.LogFactory object that is used to create Loggers - - LogFactory object - - - - Returns the path to the current default logfile - - Filepath to the logfile - - - - Returns the path to the current log directory - - Directory path to the log directory - - - - Determines if a debug log will be written - - True, if debug log will be written. False otherwise. - - - - Returns Logs in Memory as List(Of String) if Debug is enabled - Returns an empty list if debug is disabled - - A list of log messages - - - - Initializes a new LogConfig object with the options supplied as a LogOptions object - - - - - - Initializes a new LogConfig object with a logpath and optinally a filename-suffix. - - The basepath to write logs to. Can be AppData, CurrentDirectory or CustomPath. - If `logPath` is set to custom, this defines the custom logPath. - If set to anything other than Nothing, extends the logfile name with this suffix. - CompanyName is used to construct log-path in when LogPath is set to PathType:AppData - ProductName is used to construct log-path in when LogPath is set to PathType:AppData - Amount of days where files are kept and not deleted. - - - - Clears old LogFiles from the configured logpath for compliance with the GDPR - - Days in which logfiles should be kept. All files older than `Now - FileKeepInterval` will be deleted. - True, if files were deleted as expected or no files were deleted. Otherwise false. - - - - Returns the Logger for the calling class - - An object of Logging.Logger - - - - Returns the Logger for the specified classname - - An object of Logging.Logger - - - - Returns the Logger for the specified module using event-properties - - - https://github.com/NLog/NLog/wiki/EventProperties-Layout-Renderer - https://stackoverflow.com/questions/31337030/separate-log-file-for-specific-class-instance-using-nlog/32065824#32065824 - - An object of Logging.Logger - - - - Returns the Logger for a class specified by `ClassName` - - The name of the class the logger belongs to - An object of Logging.Logger - - - - Clears the internal log - - - - - Gets the fully qualified name of the class invoking the calling method, - including the namespace but Not the assembly. - - The fully qualified class name - This method is very resource-intensive! - - - - Returns the initial log configuration - - The chosen productname - The chosen suffix - A NLog.LoggingConfiguration object - - - - Adds the default rules - - A NLog.LoggingConfiguration object - - - - Returns the full path of the current default log file. - - Full path of the current default log file - - - - Reconfigures and re-adds all loggers, optionally adding the debug rule. - - - - diff --git a/Base/bin/Debug/NLog.dll b/Base/bin/Debug/NLog.dll deleted file mode 100644 index c33852d3d2ec2beb1b04baa437859813c98fd937..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 848896 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 - - - NLog - - - - - Interface for serialization of object values into JSON format - - - - - Serialization of an object into JSON format. - - The object to serialize to JSON. - Output destination. - Serialize succeeded (true/false) - - - - Auto-generated Logger members for binary compatibility with NLog 1.0. - - - Provides logging interface and utility functions. - - - - - Writes the diagnostic message at the Trace level. - - A to be written. - - - - Writes the diagnostic message at the Trace level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format.s - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level. - - A to be written. - - - - Writes the diagnostic message at the Debug level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level. - - A to be written. - - - - Writes the diagnostic message at the Info level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Info level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Info level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level. - - A to be written. - - - - Writes the diagnostic message at the Warn level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Warn level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Warn level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level. - - A to be written. - - - - Writes the diagnostic message at the Error level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Error level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Error level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level. - - A to be written. - - - - Writes the diagnostic message at the Fatal level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Fatal level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Gets a value indicating whether logging is enabled for the Trace level. - - A value of if logging is enabled for the Trace level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Debug level. - - A value of if logging is enabled for the Debug level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Info level. - - A value of if logging is enabled for the Info level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Warn level. - - A value of if logging is enabled for the Warn level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Error level. - - A value of if logging is enabled for the Error level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Fatal level. - - A value of if logging is enabled for the Fatal level, otherwise it returns . - - - - Writes the diagnostic message at the Trace level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Trace level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Trace level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Trace level. - - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Trace level. - - A to be written. - An exception to be logged. - This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. - - - - Writes the diagnostic message and exception at the Trace level. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message and exception at the Trace level. - - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Trace level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Trace level. - - Log message. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - - A containing format items. - Arguments to format. - - - - Writes the diagnostic message and exception at the Trace level. - - A to be written. - An exception to be logged. - This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. - - - - Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Debug level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Debug level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Debug level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Debug level. - - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Debug level. - - A to be written. - An exception to be logged. - This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. - - - - Writes the diagnostic message and exception at the Debug level. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message and exception at the Debug level. - - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Debug level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Debug level. - - Log message. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - - A containing format items. - Arguments to format. - - - - Writes the diagnostic message and exception at the Debug level. - - A to be written. - An exception to be logged. - This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. - - - - Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Info level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Info level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Info level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Info level. - - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Info level. - - A to be written. - An exception to be logged. - This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. - - - - Writes the diagnostic message and exception at the Info level. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message and exception at the Info level. - - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Info level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Info level using the specified parameters and formatting them with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Info level. - - Log message. - - - - Writes the diagnostic message at the Info level using the specified parameters. - - A containing format items. - Arguments to format. - - - - Writes the diagnostic message and exception at the Info level. - - A to be written. - An exception to be logged. - This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. - - - - Writes the diagnostic message at the Info level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Info level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Info level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Info level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Warn level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Warn level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Warn level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Warn level. - - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Warn level. - - A to be written. - An exception to be logged. - This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. - - - - Writes the diagnostic message and exception at the Warn level. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message and exception at the Warn level. - - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Warn level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Warn level using the specified parameters and formatting them with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Warn level. - - Log message. - - - - Writes the diagnostic message at the Warn level using the specified parameters. - - A containing format items. - Arguments to format. - - - - Writes the diagnostic message and exception at the Warn level. - - A to be written. - An exception to be logged. - This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. - - - - Writes the diagnostic message at the Warn level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Warn level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Warn level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Warn level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Error level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Error level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Error level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Error level. - - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Error level. - - A to be written. - An exception to be logged. - This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. - - - - Writes the diagnostic message and exception at the Error level. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message and exception at the Error level. - - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Error level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Error level using the specified parameters and formatting them with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Error level. - - Log message. - - - - Writes the diagnostic message at the Error level using the specified parameters. - - A containing format items. - Arguments to format. - - - - Writes the diagnostic message and exception at the Error level. - - A to be written. - An exception to be logged. - This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. - - - - Writes the diagnostic message at the Error level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Error level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Error level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Error level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Fatal level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Fatal level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Fatal level. - - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Fatal level. - - A to be written. - An exception to be logged. - This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. - - - - Writes the diagnostic message and exception at the Fatal level. - - A to be written. - An exception to be logged. - - - - Writes the diagnostic message and exception at the Fatal level. - - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Fatal level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Fatal level using the specified parameters and formatting them with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Fatal level. - - Log message. - - - - Writes the diagnostic message at the Fatal level using the specified parameters. - - A containing format items. - Arguments to format. - - - - Writes the diagnostic message and exception at the Fatal level. - - A to be written. - An exception to be logged. - This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. - - - - Writes the diagnostic message at the Fatal level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified parameter. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified parameters. - - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Auto-generated Logger members for binary compatibility with NLog 1.0. - - - Logger with only generic methods (passing 'LogLevel' to methods) and core properties. - - - - - Writes the diagnostic message at the specified level. - - The log level. - A to be written. - - - - Writes the diagnostic message at the specified level. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The log level. - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The log level. - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Occurs when logger configuration changes. - - - - - Gets the name of the logger. - - - - - Gets the factory that created this logger. - - - - - Gets a value indicating whether logging is enabled for the specified level. - - Log level to be checked. - A value of if logging is enabled for the specified level, otherwise it returns . - - - - Writes the specified diagnostic message. - - Log event. - - - - Writes the specified diagnostic message. - - Type of custom Logger wrapper. - Log event. - - - - Writes the diagnostic message at the specified level using the specified format provider and format parameters. - - - Writes the diagnostic message at the specified level. - - Type of the value. - The log level. - The value to be written. - - - - Writes the diagnostic message at the specified level. - - Type of the value. - The log level. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the specified level. - - The log level. - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the specified level. - - The log level. - A to be written. - An exception to be logged. - This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. - - - - Writes the diagnostic message and exception at the specified level. - - The log level. - A to be written. - Arguments to format. - An exception to be logged. - - - - Writes the diagnostic message and exception at the specified level. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - Arguments to format. - An exception to be logged. - - - - Writes the diagnostic message at the specified level using the specified parameters and formatting them with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the specified level. - - The log level. - Log message. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The log level. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message and exception at the specified level. - - The log level. - A to be written. - An exception to be logged. - This method was marked as obsolete before NLog 4.3.11 and it may be removed in a future release. - - - - Writes the diagnostic message at the specified level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified parameter. - - The type of the argument. - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The log level. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - The log level. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Provides an interface to execute System.Actions without surfacing any exceptions raised for that action. - - - - - Runs the provided action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. - - Action to execute. - - - - Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. - The exception is not propagated outside of this method; a default value is returned instead. - - Return type of the provided function. - Function to run. - Result returned by the provided function or the default value of type in case of exception. - - - - Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. - The exception is not propagated outside of this method; a fallback value is returned instead. - - Return type of the provided function. - Function to run. - Fallback value to return in case of exception. - Result returned by the provided function or fallback value in case of exception. - - - - Logs an exception is logged at Error level if the provided task does not run to completion. - - The task for which to log an error if it does not run to completion. - This method is useful in fire-and-forget situations, where application logic does not depend on completion of task. This method is avoids C# warning CS4014 in such situations. - - - - Returns a task that completes when a specified task to completes. If the task does not run to completion, an exception is logged at Error level. The returned task always runs to completion. - - The task for which to log an error if it does not run to completion. - A task that completes in the state when completes. - - - - Runs async action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. - - Async action to execute. - A task that completes in the state when completes. - - - - Runs the provided async function and returns its result. If the task does not run to completion, an exception is logged at Error level. - The exception is not propagated outside of this method; a default value is returned instead. - - Return type of the provided function. - Async function to run. - A task that represents the completion of the supplied task. If the supplied task ends in the state, the result of the new task will be the result of the supplied task; otherwise, the result of the new task will be the default value of type . - - - - Runs the provided async function and returns its result. If the task does not run to completion, an exception is logged at Error level. - The exception is not propagated outside of this method; a fallback value is returned instead. - - Return type of the provided function. - Async function to run. - Fallback value to return if the task does not end in the state. - A task that represents the completion of the supplied task. If the supplied task ends in the state, the result of the new task will be the result of the supplied task; otherwise, the result of the new task will be the fallback value. - - - - Render a message template property to a string - - - - - Serialization of an object, e.g. JSON and append to - - The object to serialize to string. - Parameter Format - Parameter CaptureType - An object that supplies culture-specific formatting information. - Output destination. - Serialize succeeded (true/false) - - - - Support implementation of - - - - - - - - - - - - - - - - - Mark a parameter of a method for message templating - - - - - Specifies which parameter of an annotated method should be treated as message-template-string - - - - - The name of the parameter that should be as treated as message-template-string - - - - - Asynchronous continuation delegate - function invoked at the end of asynchronous - processing. - - Exception during asynchronous processing or null if no exception - was thrown. - - - - Helpers for asynchronous operations. - - - - - Iterates over all items in the given collection and runs the specified action - in sequence (each action executes only after the preceding one has completed without an error). - - Type of each item. - The items to iterate. - The asynchronous continuation to invoke once all items - have been iterated. - The action to invoke for each item. - - - - Repeats the specified asynchronous action multiple times and invokes asynchronous continuation at the end. - - The repeat count. - The asynchronous continuation to invoke at the end. - The action to invoke. - - - - Modifies the continuation by pre-pending given action to execute just before it. - - The async continuation. - The action to pre-pend. - Continuation which will execute the given action before forwarding to the actual continuation. - - - - Attaches a timeout to a continuation which will invoke the continuation when the specified - timeout has elapsed. - - The asynchronous continuation. - The timeout. - Wrapped continuation. - - - - Iterates over all items in the given collection and runs the specified action - in parallel (each action executes on a thread from thread pool). - - Type of each item. - The items to iterate. - The asynchronous continuation to invoke once all items - have been iterated. - The action to invoke for each item. - - - - Runs the specified asynchronous action synchronously (blocks until the continuation has - been invoked). - - The action. - - Using this method is not recommended because it will block the calling thread. - - - - - Wraps the continuation with a guard which will only make sure that the continuation function - is invoked only once. - - The asynchronous continuation. - Wrapped asynchronous continuation. - - - - Gets the combined exception from all exceptions in the list. - - The exceptions. - Combined exception or null if no exception was thrown. - - - - Disposes the Timer, and waits for it to leave the Timer-callback-method - - The Timer object to dispose - Timeout to wait (TimeSpan.Zero means dispose without waiting) - Timer disposed within timeout (true/false) - - - - Asynchronous action. - - Continuation to be invoked at the end of action. - - - - Asynchronous action with one argument. - - Type of the argument. - Argument to the action. - Continuation to be invoked at the end of action. - - - - Represents the logging event with asynchronous continuation. - - - - - Initializes a new instance of the struct. - - The log event. - The continuation. - - - - Gets the log event. - - - - - Gets the continuation. - - - - - Implements the operator ==. - - The event info1. - The event info2. - The result of the operator. - - - - Implements the operator ==. - - The event info1. - The event info2. - The result of the operator. - - - - - - - - - - - - - String Conversion Helpers - - - - - Converts input string value into . Parsing is case-insensitive. - - Input value - Output value - Default value - Returns false if the input value could not be parsed - - - - Converts input string value into . Parsing is case-insensitive. - - Input value - The type of the enum - Output value. Null if parse failed - - - - Converts the string representation of the name or numeric value of one or more enumerated constants to an equivalent enumerated object. A parameter specifies whether the operation is case-sensitive. The return value indicates whether the conversion succeeded. - - The enumeration type to which to convert value. - The string representation of the enumeration name or underlying value to convert. - true to ignore case; false to consider case. - When this method returns, result contains an object of type TEnum whose value is represented by value if the parse operation succeeds. If the parse operation fails, result contains the default value of the underlying type of TEnum. Note that this value need not be a member of the TEnum enumeration. This parameter is passed uninitialized. - true if the value parameter was converted successfully; otherwise, false. - Wrapper because Enum.TryParse is not present in .net 3.5 - - - - Enum.TryParse implementation for .net 3.5 - - - - Don't uses reflection - - - - Enables to extract extra context details for - - - - - Name of context - - - - - The current LogFactory next to LogManager - - - - - NLog internal logger. - - Writes to file, console or custom text writer (see ) - - - Don't use as that can lead to recursive calls - stackoverflow - - - - - Gets a value indicating whether internal log includes Trace messages. - - - - - Gets a value indicating whether internal log includes Debug messages. - - - - - Gets a value indicating whether internal log includes Info messages. - - - - - Gets a value indicating whether internal log includes Warn messages. - - - - - Gets a value indicating whether internal log includes Error messages. - - - - - Gets a value indicating whether internal log includes Fatal messages. - - - - - Logs the specified message without an at the Trace level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message without an at the Trace level. - - Log message. - - - - Logs the specified message without an at the Trace level. - will be only called when logging is enabled for level Trace. - - Function that returns the log message. - - - - Logs the specified message with an at the Trace level. - - Exception to be logged. - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message without an at the Trace level. - - The type of the first argument. - Message which may include positional parameters. - Argument {0} to the message. - - - - Logs the specified message without an at the Trace level. - - The type of the first argument. - The type of the second argument. - Message which may include positional parameters. - Argument {0} to the message. - Argument {1} to the message. - - - - Logs the specified message without an at the Trace level. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - Message which may include positional parameters. - Argument {0} to the message. - Argument {1} to the message. - Argument {2} to the message. - - - - Logs the specified message with an at the Trace level. - - Exception to be logged. - Log message. - - - - Logs the specified message with an at the Trace level. - will be only called when logging is enabled for level Trace. - - Exception to be logged. - Function that returns the log message. - - - - Logs the specified message without an at the Debug level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message without an at the Debug level. - - Log message. - - - - Logs the specified message without an at the Debug level. - will be only called when logging is enabled for level Debug. - - Function that returns the log message. - - - - Logs the specified message with an at the Debug level. - - Exception to be logged. - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message without an at the Trace level. - - The type of the first argument. - Message which may include positional parameters. - Argument {0} to the message. - - - - Logs the specified message without an at the Trace level. - - The type of the first argument. - The type of the second argument. - Message which may include positional parameters. - Argument {0} to the message. - Argument {1} to the message. - - - - Logs the specified message without an at the Trace level. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - Message which may include positional parameters. - Argument {0} to the message. - Argument {1} to the message. - Argument {2} to the message. - - - - Logs the specified message with an at the Debug level. - - Exception to be logged. - Log message. - - - - Logs the specified message with an at the Debug level. - will be only called when logging is enabled for level Debug. - - Exception to be logged. - Function that returns the log message. - - - - Logs the specified message without an at the Info level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message without an at the Info level. - - Log message. - - - - Logs the specified message without an at the Info level. - will be only called when logging is enabled for level Info. - - Function that returns the log message. - - - - Logs the specified message with an at the Info level. - - Exception to be logged. - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message without an at the Trace level. - - The type of the first argument. - Message which may include positional parameters. - Argument {0} to the message. - - - - Logs the specified message without an at the Trace level. - - The type of the first argument. - The type of the second argument. - Message which may include positional parameters. - Argument {0} to the message. - Argument {1} to the message. - - - - Logs the specified message without an at the Trace level. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - Message which may include positional parameters. - Argument {0} to the message. - Argument {1} to the message. - Argument {2} to the message. - - - - Logs the specified message with an at the Info level. - - Exception to be logged. - Log message. - - - - Logs the specified message with an at the Info level. - will be only called when logging is enabled for level Info. - - Exception to be logged. - Function that returns the log message. - - - - Logs the specified message without an at the Warn level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message without an at the Warn level. - - Log message. - - - - Logs the specified message without an at the Warn level. - will be only called when logging is enabled for level Warn. - - Function that returns the log message. - - - - Logs the specified message with an at the Warn level. - - Exception to be logged. - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message without an at the Trace level. - - The type of the first argument. - Message which may include positional parameters. - Argument {0} to the message. - - - - Logs the specified message without an at the Trace level. - - The type of the first argument. - The type of the second argument. - Message which may include positional parameters. - Argument {0} to the message. - Argument {1} to the message. - - - - Logs the specified message without an at the Trace level. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - Message which may include positional parameters. - Argument {0} to the message. - Argument {1} to the message. - Argument {2} to the message. - - - - Logs the specified message with an at the Warn level. - - Exception to be logged. - Log message. - - - - Logs the specified message with an at the Warn level. - will be only called when logging is enabled for level Warn. - - Exception to be logged. - Function that returns the log message. - - - - Logs the specified message without an at the Error level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message without an at the Error level. - - Log message. - - - - Logs the specified message without an at the Error level. - will be only called when logging is enabled for level Error. - - Function that returns the log message. - - - - Logs the specified message with an at the Error level. - - Exception to be logged. - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message without an at the Trace level. - - The type of the first argument. - Message which may include positional parameters. - Argument {0} to the message. - - - - Logs the specified message without an at the Trace level. - - The type of the first argument. - The type of the second argument. - Message which may include positional parameters. - Argument {0} to the message. - Argument {1} to the message. - - - - Logs the specified message without an at the Trace level. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - Message which may include positional parameters. - Argument {0} to the message. - Argument {1} to the message. - Argument {2} to the message. - - - - Logs the specified message with an at the Error level. - - Exception to be logged. - Log message. - - - - Logs the specified message with an at the Error level. - will be only called when logging is enabled for level Error. - - Exception to be logged. - Function that returns the log message. - - - - Logs the specified message without an at the Fatal level. - - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message without an at the Fatal level. - - Log message. - - - - Logs the specified message without an at the Fatal level. - will be only called when logging is enabled for level Fatal. - - Function that returns the log message. - - - - Logs the specified message with an at the Fatal level. - - Exception to be logged. - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message without an at the Trace level. - - The type of the first argument. - Message which may include positional parameters. - Argument {0} to the message. - - - - Logs the specified message without an at the Trace level. - - The type of the first argument. - The type of the second argument. - Message which may include positional parameters. - Argument {0} to the message. - Argument {1} to the message. - - - - Logs the specified message without an at the Trace level. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - Message which may include positional parameters. - Argument {0} to the message. - Argument {1} to the message. - Argument {2} to the message. - - - - Logs the specified message with an at the Fatal level. - - Exception to be logged. - Log message. - - - - Logs the specified message with an at the Fatal level. - will be only called when logging is enabled for level Fatal. - - Exception to be logged. - Function that returns the log message. - - - - Set the config of the InternalLogger with defaults and config. - - - - - Gets or sets the minimal internal log level. - - If set to , then messages of the levels , and will be written. - - - - Gets or sets a value indicating whether internal messages should be written to the console output stream. - - Your application must be a console application. - - - - Gets or sets a value indicating whether internal messages should be written to the console error stream. - - Your application must be a console application. - - - - Gets or sets a value indicating whether internal messages should be written to the .Trace - - - - - Gets or sets the file path of the internal log file. - - A value of value disables internal logging to a file. - - - - Gets or sets the text writer that will receive internal logs. - - - - - Event written to the internal log. - - - EventHandler will only be triggered for events, where severity matches the configured . - - Avoid using/calling NLog Logger-objects when handling these internal events, as it will lead to deadlock / stackoverflow. - - - - - Gets or sets a value indicating whether timestamp should be included in internal log output. - - - - - Is there an thrown when writing the message? - - - - - Logs the specified message without an at the specified level. - - Log level. - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message without an at the specified level. - - Log level. - Log message. - - - - Logs the specified message without an at the specified level. - will be only called when logging is enabled for level . - - Log level. - Function that returns the log message. - - - - Logs the specified message with an at the specified level. - will be only called when logging is enabled for level . - - Exception to be logged. - Log level. - Function that returns the log message. - - - - Logs the specified message with an at the specified level. - - Exception to be logged. - Log level. - Message which may include positional parameters. - Arguments to the message. - - - - Logs the specified message with an at the specified level. - - Exception to be logged. - Log level. - Log message. - - - - Write to internallogger. - - optional exception to be logged. - level - message - optional args for - - - - Create log line with timestamp, exception message etc (if configured) - - - - - Determine if logging should be avoided because of exception type. - - The exception to check. - true if logging should be avoided; otherwise, false. - - - - Determine if logging is enabled for given LogLevel - - The for the log event. - true if logging is enabled; otherwise, false. - - - - Determine if logging is enabled. - - true if logging is enabled; otherwise, false. - - - - Write internal messages to the log file defined in . - - Message to write. - - Message will be logged only when the property is not null, otherwise the - method has no effect. - - - - - Write internal messages to the defined in . - - Message to write. - - Message will be logged only when the property is not null, otherwise the - method has no effect. - - - - - Write internal messages to the . - - Message to write. - - Message will be logged only when the property is true, otherwise the - method has no effect. - - - - - Write internal messages to the . - - Message to write. - - Message will be logged when the property is true, otherwise the - method has no effect. - - - - - Write internal messages to the . - - A message to write. - - Works when property set to true. - The is used in Debug and Release configuration. - The works only in Debug configuration and this is reason why is replaced by . - in DEBUG - - - - - Logs the assembly version and file version of the given Assembly. - - The assembly to log. - - - - A message has been written to the internal logger - - - - - The rendered message - - - - - The log level - - - - - The exception. Could be null. - - - - - The type that triggered this internal log event, for example the FileTarget. - This property is not always populated. - - - - - The context name that triggered this internal log event, for example the name of the Target. - This property is not always populated. - - - - - A cyclic buffer of object. - - - - - Initializes a new instance of the class. - - Buffer size. - Whether buffer should grow as it becomes full. - The maximum number of items that the buffer can grow to. - - - - Gets the capacity of the buffer - - - - - Gets the number of items in the buffer - - - - - Adds the specified log event to the buffer. - - Log event. - The number of items in the buffer. - - - - Gets the array of events accumulated in the buffer and clears the buffer as one atomic operation. - - Events in the buffer. - - - - Marks class as a log event Condition and assigns a name to it. - - - - - Initializes a new instance of the class. - - Condition method name. - - - - Marks the class as containing condition methods. - - - - - A bunch of utility methods (mostly predicates) which can be used in - condition expressions. Partially inspired by XPath 1.0. - - - - - Compares two values for equality. - - The first value. - The second value. - true when two objects are equal, false otherwise. - - - - Compares two strings for equality. - - The first string. - The second string. - Optional. If true, case is ignored; if false (default), case is significant. - true when two strings are equal, false otherwise. - - - - Gets or sets a value indicating whether the second string is a substring of the first one. - - The first string. - The second string. - Optional. If true (default), case is ignored; if false, case is significant. - true when the second string is a substring of the first string, false otherwise. - - - - Gets or sets a value indicating whether the second string is a prefix of the first one. - - The first string. - The second string. - Optional. If true (default), case is ignored; if false, case is significant. - true when the second string is a prefix of the first string, false otherwise. - - - - Gets or sets a value indicating whether the second string is a suffix of the first one. - - The first string. - The second string. - Optional. If true (default), case is ignored; if false, case is significant. - true when the second string is a prefix of the first string, false otherwise. - - - - Returns the length of a string. - - A string whose lengths is to be evaluated. - The length of the string. - - - - Indicates whether the specified regular expression finds a match in the specified input string. - - The string to search for a match. - The regular expression pattern to match. - A string consisting of the desired options for the test. The possible values are those of the separated by commas. - true if the regular expression finds a match; otherwise, false. - - - - - - - - - - - Relational operators used in conditions. - - - - - Equality (==). - - - - - Inequality (!=). - - - - - Less than (<). - - - - - Greater than (>). - - - - - Less than or equal (<=). - - - - - Greater than or equal (>=). - - - - - Exception during evaluation of condition expression. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - The parameter is null. - - - The class name is null or is zero (0). - - - - - Exception during parsing of condition expression. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - The parameter is null. - - - The class name is null or is zero (0). - - - - - Condition and expression. - - - - - Initializes a new instance of the class. - - Left hand side of the AND expression. - Right hand side of the AND expression. - - - - Gets the left hand side of the AND expression. - - - - - Gets the right hand side of the AND expression. - - - - - Returns a string representation of this expression. - - A concatenated '(Left) and (Right)' string. - - - - Evaluates the expression by evaluating and recursively. - - Evaluation context. - The value of the conjunction operator. - - - - Condition message expression (represented by the exception keyword). - - - - - - - - Evaluates the current . - - Evaluation context. - The object. - - - - Base class for representing nodes in condition expression trees. - - Documentation on NLog Wiki - - - - Converts condition text to a condition expression tree. - - Condition text to be converted. - Condition expression tree. - - - - Evaluates the expression. - - Evaluation context. - Expression result. - - - - Returns a string representation of the expression. - - - - - Evaluates the expression. - - Evaluation context. - Expression result. - - - - Condition layout expression (represented by a string literal - with embedded ${}). - - - - - Initializes a new instance of the class. - - The layout. - - - - Gets the layout. - - The layout. - - - - - - - Evaluates the expression by rendering the formatted output from - the - - Evaluation context. - The output rendered from the layout. - - - - Condition level expression (represented by the level keyword). - - - - - - - - Evaluates to the current log level. - - Evaluation context. - The object representing current log level. - - - - Condition literal expression (numeric, LogLevel.XXX, true or false). - - - - - Initializes a new instance of the class. - - Literal value. - - - - Gets the literal value. - - The literal value. - - - - - - - Evaluates the expression. - - Evaluation context. Ignored. - The literal value as passed in the constructor. - - - - Condition logger name expression (represented by the logger keyword). - - - - - - - - Evaluates to the logger name. - - Evaluation context. - The logger name. - - - - Condition message expression (represented by the message keyword). - - - - - - - - Evaluates to the logger message. - - Evaluation context. - The logger message. - - - - 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. - Precompiled delegate of the condition method. - The method parameters. - - - - Gets the method info. - - - - - Gets the method parameters - - - - - - - - Evaluates the expression. - - Evaluation context. - Expression result. - - - - Condition not expression. - - - - - Initializes a new instance of the class. - - The expression. - - - - Gets the expression to be negated. - - The expression. - - - - - - - - - - Condition or expression. - - - - - Initializes a new instance of the class. - - Left hand side of the OR expression. - Right hand side of the OR expression. - - - - Gets the left expression. - - The left expression. - - - - Gets the right expression. - - The right expression. - - - - - - - Evaluates the expression by evaluating and recursively. - - Evaluation context. - The value of the alternative operator. - - - - Condition relational (==, !=, <, <=, - > or >=) expression. - - - - - Initializes a new instance of the class. - - The left expression. - The right expression. - The relational operator. - - - - Gets the left expression. - - The left expression. - - - - Gets the right expression. - - The right expression. - - - - Gets the relational operator. - - The operator. - - - - - - - - - - Compares the specified values using specified relational operator. - - The first value. - The second value. - The relational operator. - Result of the given relational operator. - - - - Promote values to the type needed for the comparison, e.g. parse a string to int. - - - - - - - Promotes to type - - - - success? - - - - Try to promote both values. First try to promote to , - when failed, try to . - - - - - - Get the order for the type for comparison. - - - index, 0 to max int. Lower is first - - - - Dictionary from type to index. Lower index should be tested first. - - - - - Build the dictionary needed for the order of the types. - - - - - - Get the string representing the current - - - - - - Condition parser. Turns a string representation of condition expression - into an expression tree. - - - - - Initializes a new instance of the class. - - The string reader. - Instance of used to resolve references to condition methods and layout renderers. - - - - Parses the specified condition string and turns it into - tree. - - The expression to be parsed. - The root of the expression syntax tree which can be used to get the value of the condition in a specified context. - - - - Parses the specified condition string and turns it into - tree. - - The expression to be parsed. - Instance of used to resolve references to condition methods and layout renderers. - The root of the expression syntax tree which can be used to get the value of the condition in a specified context. - - - - Parses the specified condition string and turns it into - tree. - - The string reader. - Instance of used to resolve references to condition methods and layout renderers. - - The root of the expression syntax tree which can be used to get the value of the condition in a specified context. - - - - - Try stringed keyword to - - - - success? - - - - Parse number - - negative number? minus should be parsed first. - - - - - Hand-written tokenizer for conditions. - - - - - Initializes a new instance of the class. - - The string reader. - - - - Gets the type of the token. - - The type of the token. - - - - Gets the token value. - - The token value. - - - - Gets the value of a string token. - - The string token value. - - - - Asserts current token type and advances to the next token. - - Expected token type. - If token type doesn't match, an exception is thrown. - - - - Asserts that current token is a keyword and returns its value and advances to the next token. - - Keyword value. - - - - Gets or sets a value indicating whether current keyword is equal to the specified value. - - The keyword. - - A value of true if current keyword is equal to the specified value; otherwise, false. - - - - - Gets or sets a value indicating whether the tokenizer has reached the end of the token stream. - - - A value of true if the tokenizer has reached the end of the token stream; otherwise, false. - - - - - Gets or sets a value indicating whether current token is a number. - - - A value of true if current token is a number; otherwise, false. - - - - - Gets or sets a value indicating whether the specified token is of specified type. - - The token type. - - A value of true if current token is of specified type; otherwise, false. - - - - - Gets the next token and sets and properties. - - - - - Try the comparison tokens (greater, smaller, greater-equals, smaller-equals) - - current char - is match - - - - Try the logical tokens (and, or, not, equals) - - current char - is match - - - - Mapping between characters and token types for punctuations. - - - - - Initializes a new instance of the CharToTokenType struct. - - The character. - Type of the token. - - - - Token types for condition expressions. - - - - - Marks the class or a member as advanced. Advanced classes and members are hidden by - default in generated documentation. - - - - - Initializes a new instance of the class. - - - - - Identifies that the output of layout or layout render does not change for the lifetime of the current appdomain. - - - - Implementors must have the [ThreadAgnostic] attribute - - A layout(renderer) could be converted to a literal when: - - The layout and all layout properties are SimpleLayout or [AppDomainFixedOutput] - - Recommendation: Apply this attribute to a layout or layout-renderer which have the result only changes by properties of type Layout. - - - - - Used to mark configurable parameters which are arrays. - Specifies the mapping between XML elements and .NET types. - - - - - Initializes a new instance of the class. - - The type of the array item. - The XML element name that represents the item. - - - - Gets the .NET type of the array item. - - - - - Gets the XML element name. - - - - - An assembly is trying to load. - - - - - Initializes a new instance of the class. - - Assembly that have been loaded - - - - The assembly that is trying to load. - - - - - Class for providing Nlog configuration xml code from app.config - to - - - - - Overriding base implementation to just store - of the relevant app.config section. - - The XmlReader that reads from the configuration file. - true to serialize only the collection key properties; otherwise, false. - - - - Override base implementation to return a object - for - instead of the instance. - - - A instance, that has been deserialized from app.config. - - - - - Constructs a new instance the configuration item (target, layout, layout renderer, etc.) given its type. - - Type of the item. - Created object of the specified type. - - - - Provides registration information for named items (targets, layouts, layout renderers, etc.) managed by NLog. - - Everything of an assembly could be loaded by - - - - - Called before the assembly will be loaded. - - - - - Initializes a new instance of the class. - - The assemblies to scan for named items. - - - - Gets or sets default singleton instance of . - - - This property implements lazy instantiation so that the is not built before - the internal logger is configured. - - - - - Gets or sets the creator delegate used to instantiate configuration objects. - - - By overriding this property, one can enable dependency injection or interception for created objects. - - - - - Gets the factory. - - The target factory. - - - - Gets the factory. - - The filter factory. - - - - gets the factory - - not using due to backwards-compatibility. - - - - - Gets the factory. - - The layout renderer factory. - - - - Gets the factory. - - The layout factory. - - - - Gets the ambient property factory. - - The ambient property factory. - - - - Gets or sets the JSON serializer to use with - - - - - Gets or sets the string serializer to use with - - - - - Gets or sets the parameter converter to use with or - - - - - Perform message template parsing and formatting of LogEvent messages (True = Always, False = Never, Null = Auto Detect) - - - - Null (Auto Detect) : NLog-parser checks for positional parameters, and will then fallback to string.Format-rendering. - - True: Always performs the parsing of and rendering of using the NLog-parser (Allows custom formatting with ) - - False: Always performs parsing and rendering using string.Format (Fastest if not using structured logging) - - - - - Gets the time source factory. - - The time source factory. - - - - Gets the condition method factory. - - The condition method factory. - - - - Gets the condition method factory (precompiled) - - The condition method factory. - - - - Registers named items from the assembly. - - The assembly. - - - - Registers named items from the assembly. - - The assembly. - Item name prefix. - - - - Call Preload for NLogPackageLoader - - - Every package could implement a class "NLogPackageLoader" (namespace not important) with the public static method "Preload" (no arguments) - This method will be called just before registering all items in the assembly. - - - - - - Call the Preload method for . The Preload method must be static. - - - - - - Clears the contents of all factories. - - - - - Registers the type. - - The type to register. - The item name prefix. - - - - Builds the default configuration item factory. - - Default factory. - - - - Registers items in using late-bound types, so that we don't need a reference to the dll. - - - - - Attribute used to mark the default parameters for layout renderers. - - - - - Initializes a new instance of the class. - - - - - Dynamic filtering with a positive list of enabled levels - - - - - Dynamic filtering with a minlevel and maxlevel range - - - - - Format of the exception output to the specific target. - - - - - Appends the Message of an Exception to the specified target. - - - - - Appends the type of an Exception to the specified target. - - - - - Appends the short type of an Exception to the specified target. - - - - - Appends the result of calling ToString() on an Exception to the specified target. - - - - - Appends the method name from Exception's stack trace to the specified target. - - - - - Appends the stack trace from an Exception to the specified target. - - - - - Appends the contents of an Exception's Data property to the specified target. - - - - - Destructure the exception (usually into JSON) - - - - - Appends the from the application or the object that caused the error. - - - - - Appends the from the application or the object that caused the error. - - - - - Appends any additional properties that specific type of Exception might have. - - - - - Factory for class-based items. - - The base type of each item. - The type of the attribute used to annotate items. - - - - Scans the assembly. - - The types to scan. - The assembly name for the types. - The prefix. - - - - Registers the type. - - The type to register. - The item name prefix. - - - - Registers the type. - - The type to register. - The assembly name for the type. - 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. - The assembly name for the types. - The item name prefix. - - - - - - - - - - - - - Factory specialized for s. - - - - - Clear all func layouts - - - - - Register a layout renderer with a callback function. - - Name of the layoutrenderer, without ${}. - the renderer that renders the value. - - - - Tries to create an item instance. - - Name of the item. - The result. - True if instance was created successfully, false otherwise. - - - - Provides means to populate factories of named items (such as targets, layouts, layout renderers, etc.). - - - - - Include context properties - - - - - Gets or sets the option to include all properties from the log events - - - - - - Gets or sets whether to include the contents of the properties-dictionary. - - - - - - Gets or sets whether to include the contents of the nested-state-stack. - - - - - - Did the Initialize Succeeded? true= success, false= error, null = initialize not started yet. - - - - - Implemented by objects which support installation and uninstallation. - - - - - Performs installation which requires administrative permissions. - - The installation context. - - - - Performs uninstallation which requires administrative permissions. - - The installation context. - - - - Determines whether the item is installed. - - The installation context. - - Value indicating whether the item is installed or null if it is not possible to determine. - - - - - Interface for accessing configuration details - - - - - Name of this configuration element - - - - - Configuration Key/Value Pairs - - - - - Child configuration elements - - - - - Interface for loading NLog - - - - - Finds and loads the NLog configuration - - LogFactory that owns the NLog configuration - Name of NLog.config file (optional) - NLog configuration (or null if none found) - - - - Notifies when LoggingConfiguration has been successfully applied - - LogFactory that owns the NLog configuration - NLog Config - - - - Get file paths (including filename) for the possible NLog config files. - - Name of NLog.config file (optional) - The file paths to the possible config file - - - - Level enabled flags for each LogLevel ordinal - - - - - Converts the filter into a simple - - - - - Represents a factory of named items (such as targets, layouts, layout renderers, etc.). - - Base type for each item instance. - Item definition type (typically or ). - - - - Registers new item definition. - - Name of the item. - Item definition. - - - - Tries to get registered item definition. - - Name of the item. - Reference to a variable which will store the item definition. - Item definition. - - - - Creates item instance. - - Name of the item. - Newly created item instance. - - - - Tries to create an item instance. - - Name of the item. - The result. - True if instance was created successfully, false otherwise. - - - - Provides context for install/uninstall operations. - - - - - Mapping between log levels and console output colors. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The log output. - - - - Gets or sets the installation log level. - - - - - Gets or sets a value indicating whether to ignore failures during installation. - - - - - Whether installation exceptions should be rethrown. If IgnoreFailures is set to true, - this property has no effect (there are no exceptions to rethrow). - - - - - Gets the installation parameters. - - - - - Gets or sets the log output. - - - - - Logs the specified trace message. - - The message. - The arguments. - - - - Logs the specified debug message. - - The message. - The arguments. - - - - Logs the specified informational message. - - The message. - The arguments. - - - - Logs the specified warning message. - - The message. - The arguments. - - - - Logs the specified error message. - - The message. - The arguments. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Creates the log event which can be used to render layouts during install/uninstall. - - Log event info object. - - - - Convert object-value into specified type - - - - - Parses the input value and converts into the wanted type - - Input Value - Wanted Type - Format to use when parsing - Culture to use when parsing - Output value with wanted type - - - - Interface for fluent setup of LogFactory options - - - - - LogFactory under configuration - - - - - Interface for fluent setup of LoggingRules for LoggingConfiguration - - - - - LoggingRule being built - - - - - Interface for fluent setup of target for LoggingRule - - - - - LoggingConfiguration being built - - - - - LogFactory under configuration - - - - - Collection of targets that should be written to - - - - - Interface for fluent setup of LogFactory options for extension loading - - - - - LogFactory under configuration - - - - - Interface for fluent setup of LogFactory options for enabling NLog - - - - - LogFactory under configuration - - - - - Interface for fluent setup of LoggingConfiguration for LogFactory - - - - - LogFactory under configuration - - - - - LoggingConfiguration being built - - - - - Interface for fluent setup of LogFactory options - - - - - LogFactory under configuration - - - - - Interface for fluent setup of LogFactory options for logevent serialization - - - - - LogFactory under configuration - - - - - Allows components to request stack trace information to be provided in the . - - - - - Gets the level of stack trace information required by the implementing class. - - - - - Encapsulates and the logic to match the actual logger name - All subclasses defines immutable objects. - Concrete subclasses defines various matching rules through - - - - - Creates a concrete based on . - - - Rules used to select the concrete implementation returned: - - if is null => returns (never matches) - if doesn't contains any '*' nor '?' => returns (matches only on case sensitive equals) - if == '*' => returns (always matches) - if doesn't contain '?' - - if contains exactly 2 '*' one at the beginning and one at the end (i.e. "*foobar*) => returns - if contains exactly 1 '*' at the beginning (i.e. "*foobar") => returns - if contains exactly 1 '*' at the end (i.e. "foobar*") => returns - - - returns - - - - It may include one or more '*' or '?' wildcards at any position. - - '*' means zero or more occurrences of any character - '?' means exactly one occurrence of any character - - - A concrete - - - - Returns the argument passed to - - - - - Checks whether given name matches the logger name pattern. - - String to be matched. - A value of when the name matches, otherwise. - - - - Defines a that never matches. - Used when pattern is null - - - - - Defines a that always matches. - Used when pattern is '*' - - - - - Defines a that matches with a case-sensitive Equals - Used when pattern is a string without wildcards '?' '*' - - - - - Defines a that matches with a case-sensitive StartsWith - Used when pattern is a string like "*foobar" - - - - - Defines a that matches with a case-sensitive EndsWith - Used when pattern is a string like "foobar*" - - - - - Defines a that matches with a case-sensitive Contains - Used when pattern is a string like "*foobar*" - - - - - Defines a that matches with a complex wildcards combinations: - - '*' means zero or more occurrences of any character - '?' means exactly one occurrence of any character - - used when pattern is a string containing any number of '?' or '*' in any position - i.e. "*Server[*].Connection[?]" - - - - - Keeps logging configuration and provides simple API to modify it. - - This class is thread-safe..ToList() is used for that purpose. - - - - Gets the factory that will be configured - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Gets the variables defined in the configuration or assigned from API - - Name is case insensitive. - - - - Gets a collection of named targets specified in the configuration. - - - A list of named targets. - - - Unnamed targets (such as those wrapped by other targets) are not returned. - - - - - Gets the collection of file names which should be watched for changes by NLog. - - - - - Gets the collection of logging rules. - - - - - Gets or sets the default culture info to use as . - - - Specific culture info or null to use - - - - - Gets all targets. - - - - - Inserts NLog Config Variable without overriding NLog Config Variable assigned from API - - - - - Lookup NLog Config Variable Layout - - - - - Registers the specified target object. The name of the target is read from . - - - The target object with a non - - when is - - - - Registers the specified target object under a given name. - - Name of the target. - The target object. - when is - when is - - - - Finds the target with the specified name. - - - The name of the target to be found. - - - Found target or when the target is not found. - - - - - Finds the target with the specified name and specified type. - - - The name of the target to be found. - - Type of the target - - Found target or when the target is not found of not of type - - - - - Add a rule with min- and maxLevel. - - Minimum log level needed to trigger this rule. - Maximum log level needed to trigger this rule. - Name of the target to be written when the rule matches. - Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. - - - - Add a rule with min- and maxLevel. - - Minimum log level needed to trigger this rule. - Maximum log level needed to trigger this rule. - Target to be written to when the rule matches. - Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. - - - - Add a rule with min- and maxLevel. - - Minimum log level needed to trigger this rule. - Maximum log level needed to trigger this rule. - Target to be written to when the rule matches. - Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. - Gets or sets a value indicating whether to quit processing any further rule when this one matches. - - - - Add a rule object. - - rule object to add - - - - Add a rule for one loglevel. - - log level needed to trigger this rule. - Name of the target to be written when the rule matches. - Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. - - - - Add a rule for one loglevel. - - log level needed to trigger this rule. - Target to be written to when the rule matches. - Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. - - - - Add a rule for one loglevel. - - log level needed to trigger this rule. - Target to be written to when the rule matches. - Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. - Gets or sets a value indicating whether to quit processing any further rule when this one matches. - - - - Add a rule for all loglevels. - - Name of the target to be written when the rule matches. - Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. - - - - Add a rule for all loglevels. - - Target to be written to when the rule matches. - Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. - - - - Add a rule for all loglevels. - - Target to be written to when the rule matches. - Logger name pattern. It may include the '*' wildcard at the beginning, at the end or at both ends. - Gets or sets a value indicating whether to quit processing any further rule when this one matches. - - - - Lookup the logging rule with matching - - The name of the logging rule to be found. - Found logging rule or when not found. - - - - Removes the specified named logging rule with matching - - The name of the logging rule to be removed. - Found one or more logging rule to remove, or when not found. - - - - Called by LogManager when one of the log configuration files changes. - - - A new instance of that represents the updated configuration. - - - - - Allow this new configuration to capture state from the old configuration - - Old config that is about to be replaced - Checks KeepVariablesOnReload and copies all NLog Config Variables assigned from API into the new config - - - - Removes the specified named target. - - Name of the target. - - - - Installs target-specific objects on current system. - - The installation context. - - Installation typically runs with administrative permissions. - - - - - Uninstalls target-specific objects from current system. - - The installation context. - - Uninstallation typically runs with administrative permissions. - - - - - Closes all targets and releases any unmanaged resources. - - - - - Log to the internal (NLog) logger the information about the and associated with this instance. - - - The information are only recorded in the internal logger if Debug level is enabled, otherwise nothing is - recorded. - - - - - Validates the configuration. - - - - - Replace a simple variable with a value. The original value is removed and thus we cannot redo this in a later stage. - - - - - - - Checks whether unused targets exist. If found any, just write an internal log at Warn level. - If initializing not started or failed, then checking process will be canceled - - - - - - - - Arguments for events. - - - - - Initializes a new instance of the class. - - The new configuration. - The old configuration. - - - - Gets the old configuration. - - The old configuration. - - - - Gets the new configuration. - - The new configuration. - - - - Gets the optional boolean attribute value. - - - Name of the attribute. - Default value to return if the attribute is not found or if there is a parse error - Boolean attribute value or default. - - - - Remove the namespace (before :) - - - x:a, will be a - - - - - - - Enables loading of NLog configuration from a file - - - - - Get default file paths (including filename) for possible NLog config files. - - - - - Get default file paths (including filename) for possible NLog config files. - - - - - Loads NLog configuration from - - - - - Constructor - - - - - - Loads NLog configuration from provided config section - - - Directory where the NLog-config-file was loaded from - - - - Builds list with unique keys, using last value of duplicates. High priority keys placed first. - - - - - - - Parse loglevel, but don't throw if exception throwing is disabled - - Name of attribute for logging. - Value of parse. - Used if there is an exception - - - - - Parses a single config section within the NLog-config - - - Section was recognized - - - - Parse {Rules} xml element - - - Rules are added to this parameter. - - - - Parse {Logger} xml element - - - - - - Parse boolean - - Name of the property for logging. - value to parse - Default value to return if the parse failed - Boolean attribute value or default. - - - - Config element that's validated and having extra context - - - - - Explicit cast because NET35 doesn't support covariance. - - - - - Arguments for . - - - - - Initializes a new instance of the class. - - Whether configuration reload has succeeded. - - - - Initializes a new instance of the class. - - Whether configuration reload has succeeded. - The exception during configuration reload. - - - - Gets a value indicating whether configuration reload has succeeded. - - A value of true if succeeded; otherwise, false. - - - - Gets the exception which occurred during configuration reload. - - The exception. - - - - Enables FileWatcher for the currently loaded NLog Configuration File, - and supports automatic reload on file modification. - - - - - Represents a logging rule. An equivalent of <logger /> configuration element. - - - - - Create an empty . - - - - - Create an empty . - - - - - Create a new with a and which writes to . - - Logger name pattern used for . It may include one or more '*' or '?' wildcards at any position. - Minimum log level needed to trigger this rule. - Maximum log level needed to trigger this rule. - Target to be written to when the rule matches. - - - - Create a new with a which writes to . - - Logger name pattern used for . It may include one or more '*' or '?' wildcards at any position. - Minimum log level needed to trigger this rule. - Target to be written to when the rule matches. - - - - Create a (disabled) . You should call or to enable logging. - - Logger name pattern used for . It may include one or more '*' or '?' wildcards at any position. - Target to be written to when the rule matches. - - - - Rule identifier to allow rule lookup - - - - - Gets a collection of targets that should be written to when this rule matches. - - - - - Gets a collection of child rules to be evaluated when this rule matches. - - - - - Gets a collection of filters to be checked before writing to targets. - - - - - Gets or sets a value indicating whether to quit processing any following rules when this one matches. - - - - - Gets or sets the whether to quit processing any following rules when lower severity and this one matches. - - - Loggers matching will be restricted to specified minimum level for following rules. - - - - - Gets or sets logger name pattern. - - - Logger name pattern used by to check if a logger name matches this rule. - It may include one or more '*' or '?' wildcards at any position. - - '*' means zero or more occurrences of any character - '?' means exactly one occurrence of any character - - - - - - Gets the collection of log levels enabled by this rule. - - - - - Default action if none of the filters match - - - - - Default action if none of the filters match - - - - - Enables logging for a particular level. - - Level to be enabled. - - - - Enables logging for a particular levels between (included) and . - - Minimum log level needed to trigger this rule. - Maximum log level needed to trigger this rule. - - - - Disables logging for a particular level. - - Level to be disabled. - - - - Disables logging for particular levels between (included) and . - - Minimum log level to be disables. - Maximum log level to be disabled. - - - - Enables logging the levels between (included) and . All the other levels will be disabled. - - Minimum log level needed to trigger this rule. - Maximum log level needed to trigger this rule. - - - - Returns a string representation of . Used for debugging. - - - - - Checks whether the particular log level is enabled for this rule. - - Level to be checked. - A value of when the log level is enabled, otherwise. - - - - Checks whether given name matches the . - - String to be matched. - A value of when the name matches, otherwise. - - - - Default filtering with static level config - - - - - Factory for locating methods. - - - - - Initializes a new instance of the class. - - - - - Scans the assembly for classes marked with expected class - and methods marked with expected and adds them - to the factory. - - The types to scan. - The assembly name for the type. - The item name prefix. - - - - Registers the type. - - The type to register. - The item name prefix. - - - - Registers the type. - - The type to register. - The assembly name for the type. - The item name prefix. - - - - Scans a type for relevant methods with their symbolic names - - Include types that are marked with this attribute - Include methods that are marked with this attribute - Class Type to scan - Collection of methods with their symbolic names - - - - Clears contents of the factory. - - - - - Registers the definition of a single method. - - The method name. - The method info. - - - - Registers the definition of a single method. - - The method name. - The method info. - The assembly name for the method. - The item name prefix. - - - - Registers the definition of a single method. - - The method name. - The method info. - The precompiled method delegate. - - - - Tries to retrieve method by name. - - The method name. - The result. - A value of true if the method was found, false otherwise. - - - - Tries to retrieve method-delegate 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. - - - - Retrieves method by name. - - Method name. - Method delegate object. - - - - Tries to get method definition. - - The method name. - The result. - A value of true if the method was found, false otherwise. - - - - Marks the layout or layout renderer depends on mutable objects from the LogEvent - - This can be or - - - - - Attaches a type-alias for an item (such as , - , , etc.). - - - - - Initializes a new instance of the class. - - The type-alias for use in NLog configuration. - - - - Gets the name of the type-alias - - - - - Indicates NLog should not scan this property during configuration. - - - - - Initializes a new instance of the class. - - - - - Marks the object as configuration item for NLog. - - - - - Initializes a new instance of the class. - - - - - Failed to resolve the interface of service type - - - - - Typed we tried to resolve - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Represents simple XML element with case-insensitive attribute semantics. - - - - - Initializes a new instance of the class. - - The reader to initialize element from. - - - - Gets the element name. - - - - - Gets the dictionary of attribute values. - - - - - Gets the collection of child elements. - - - - - Gets the value of the element. - - - - - Returns children elements with the specified element name. - - Name of the element. - Children elements with the specified element name. - - - - Asserts that the name of the element is among specified element names. - - The allowed names. - - - - Special attribute we could ignore - - - - - Default implementation of - - - - - Singleton instance of the serializer. - - - - - - - - Attribute used to mark the required parameters for targets, - layout targets and filters. - - - - - Interface to register available configuration objects type - - - - - Registers instance of singleton object for use in NLog - - Type of service - Instance of service - - - - Gets the service object of the specified type. - - Avoid calling this while handling a LogEvent, since random deadlocks can occur. - - - - Registers singleton-object as implementation of specific interface. - - - If the same single-object implements multiple interfaces then it must be registered for each interface - - Type of interface - The repo - Singleton object to use for override - - - - Registers the string serializer to use with - - - - - Repository of interfaces used by NLog to allow override for dependency injection - - - - - Initializes a new instance of the class. - - - - - Registered service type in the service repository - - - - - Initializes a new instance of the class. - - Type of service that have been registered - - - - Type of service-interface that has been registered - - - - - Provides simple programmatic configuration API used for trivial logging cases. - - Warning, these methods will overwrite the current config. - - - - - Configures NLog for console logging so that all messages above and including - the level are output to the console. - - - - - Configures NLog for console logging so that all messages above and including - the specified level are output to the console. - - The minimal logging level. - - - - Configures NLog for to log to the specified target so that all messages - above and including the level are output. - - The target to log all messages to. - - - - Configures NLog for to log to the specified target so that all messages - above and including the specified level are output. - - The target to log all messages to. - The minimal logging level. - - - - Configures NLog for file logging so that all messages above and including - the level are written to the specified file. - - Log file name. - - - - Configures NLog for file logging so that all messages above and including - the specified level are written to the specified file. - - Log file name. - The minimal logging level. - - - - Value indicating how stack trace should be captured when processing the log event. - - - - - No Stack trace needs to be captured. - - - - - Stack trace should be captured. This option won't add the filenames and linenumbers - - - - - Capture also filenames and linenumbers - - - - - Capture the location of the call - - - - - Capture the class name for location of the call - - - - - Stack trace should be captured. This option won't add the filenames and linenumbers. - - - - - Stack trace should be captured including filenames and linenumbers. - - - - - Capture maximum amount of the stack trace information supported on the platform. - - - - - Marks the layout or layout renderer as thread independent - it producing correct results - regardless of the thread it's running on. - - Without this attribute everything is rendered on the main thread. - - - If this attribute is set on a layout, it could be rendered on the another thread. - This could be more efficient as it's skipped when not needed. - - If context like HttpContext.Current is needed, which is only available on the main thread, this attribute should not be applied. - - See the AsyncTargetWrapper and BufferTargetWrapper with the , using - - Apply this attribute when: - - The result can we rendered in another thread. Delaying this could be more efficient. And/Or, - - The result should not be precalculated, for example the target sends some extra context information. - - - - - Marks the layout or layout renderer as thread safe - it producing correct results - regardless of the number of threads it's running on. - - Without this attribute then the target concurrency will be reduced - - - - - A class for configuring NLog through an XML configuration file - (App.config style or App.nlog style). - - Parsing of the XML file is also implemented in this class. - - - - This class is thread-safe..ToList() is used for that purpose. - - Update TemplateXSD.xml for changes outside targets - - - - - Initializes a new instance of the class. - - Configuration file to be read. - - - - Initializes a new instance of the class. - - Configuration file to be read. - The to which to apply any applicable configuration values. - - - - Initializes a new instance of the class. - - Configuration file to be read. - Ignore any errors during configuration. - - - - Initializes a new instance of the class. - - Configuration file to be read. - Ignore any errors during configuration. - The to which to apply any applicable configuration values. - - - - Initializes a new instance of the class. - - XML reader to read from. - - - - Initializes a new instance of the class. - - containing the configuration section. - Name of the file that contains the element (to be used as a base for including other files). null is allowed. - - - - Initializes a new instance of the class. - - containing the configuration section. - Name of the file that contains the element (to be used as a base for including other files). null is allowed. - The to which to apply any applicable configuration values. - - - - Initializes a new instance of the class. - - containing the configuration section. - Name of the file that contains the element (to be used as a base for including other files). null is allowed. - Ignore any errors during configuration. - - - - Initializes a new instance of the class. - - containing the configuration section. - Name of the file that contains the element (to be used as a base for including other files). null is allowed. - Ignore any errors during configuration. - The to which to apply any applicable configuration values. - - - - Initializes a new instance of the class. - - NLog configuration as XML string. - Name of the XML file. - The to which to apply any applicable configuration values. - - - - Parse XML string as NLog configuration - - NLog configuration in XML to be parsed - - - - Parse XML string as NLog configuration - - NLog configuration in XML to be parsed - NLog LogFactory - - - - Gets the default object by parsing - the application configuration file (app.exe.config). - - - - - Did the Succeeded? true= success, false= error, null = initialize not started yet. - - - - - Gets or sets a value indicating whether all of the configuration files - should be watched for changes and reloaded automatically when changed. - - - - - Gets the collection of file names which should be watched for changes by NLog. - This is the list of configuration files processed. - If the autoReload attribute is not set it returns empty collection. - - - - - Re-reads the original configuration file and returns the new object. - - The new object. - - - - Get file paths (including filename) for the possible NLog config files. - - The file paths to the possible config file - - - - Overwrite the paths (including filename) for the possible NLog config files. - - The file paths to the possible config file - - - - Clear the candidate file paths and return to the defaults. - - - - - Create XML reader for (xml config) file. - - filepath - reader or null if filename is empty. - - - - Initializes the configuration. - - containing the configuration section. - Name of the file that contains the element (to be used as a base for including other files). null is allowed. - Ignore any errors during configuration. - - - - Add a file with configuration. Check if not already included. - - - - - - - Parse the root - - - path to config file. - The default value for the autoReload option. - - - - Parse {configuration} xml element. - - - path to config file. - The default value for the autoReload option. - - - - Parse {NLog} xml element. - - - path to config file. - The default value for the autoReload option. - - - - Parses a single config section within the NLog-config - - - Section was recognized - - - - Include (multiple) files by filemask, e.g. *.nlog - - base directory in case if is relative - relative or absolute fileMask - - - - - - - - Global Diagnostics Context - a dictionary structure to hold per-application-instance values. - - - - - Sets the Global Diagnostics Context item to the specified value. - - Item name. - Item value. - - - - Sets the Global Diagnostics Context item to the specified value. - - Item name. - Item value. - - - - Gets the Global Diagnostics Context named item. - - Item name. - The value of , if defined; otherwise . - If the value isn't a already, this call locks the for reading the needed for converting to . - - - - Gets the Global Diagnostics Context item. - - Item name. - to use when converting the item's value to a string. - The value of as a string, if defined; otherwise . - If is null and the value isn't a already, this call locks the for reading the needed for converting to . - - - - Gets the Global Diagnostics Context named item. - - Item name. - The item value, if defined; otherwise null. - - - - Returns all item names - - A collection of the names of all items in the Global Diagnostics Context. - - - - Checks whether the specified item exists in the Global Diagnostics Context. - - Item name. - A boolean indicating whether the specified item exists in current thread GDC. - - - - Removes the specified item from the Global Diagnostics Context. - - Item name. - - - - Clears the content of the GDC. - - - - - Mapped Diagnostics Context - a thread-local structure that keeps a dictionary - of strings and provides methods to output them in layouts. - - - - - Sets the current thread MDC item to the specified value. - - Item name. - Item value. - An that can be used to remove the item from the current thread MDC. - - - - Sets the current thread MDC item to the specified value. - - Item name. - Item value. - >An that can be used to remove the item from the current thread MDC. - - - - Sets the current thread MDC item to the specified value. - - Item name. - Item value. - - - - Sets the current thread MDC item to the specified value. - - Item name. - Item value. - - - - Gets the current thread MDC named item, as . - - Item name. - The value of , if defined; otherwise . - If the value isn't a already, this call locks the for reading the needed for converting to . - - - - Gets the current thread MDC named item, as . - - Item name. - The to use when converting a value to a . - The value of , if defined; otherwise . - If is null and the value isn't a already, this call locks the for reading the needed for converting to . - - - - Gets the current thread MDC named item, as . - - Item name. - The value of , if defined; otherwise null. - - - - Returns all item names - - A set of the names of all items in current thread-MDC. - - - - Checks whether the specified item exists in current thread MDC. - - Item name. - A boolean indicating whether the specified exists in current thread MDC. - - - - Removes the specified from current thread MDC. - - Item name. - - - - Clears the content of current thread MDC. - - - - - Async version of Mapped Diagnostics Context - a logical context structure that keeps a dictionary - of strings and provides methods to output them in layouts. Allows for maintaining state across - asynchronous tasks and call contexts. - - - Ideally, these changes should be incorporated as a new version of the MappedDiagnosticsContext class in the original - NLog library so that state can be maintained for multiple threads in asynchronous situations. - - - - - Gets the current logical context named item, as . - - Item name. - The value of , if defined; otherwise . - If the value isn't a already, this call locks the for reading the needed for converting to . - - - - Gets the current logical context named item, as . - - Item name. - The to use when converting a value to a string. - The value of , if defined; otherwise . - If is null and the value isn't a already, this call locks the for reading the needed for converting to . - - - - Gets the current logical context named item, as . - - Item name. - The value of , if defined; otherwise null. - - - - Sets the current logical context item to the specified value. - - Item name. - Item value. - >An that can be used to remove the item from the current logical context. - - - - Sets the current logical context item to the specified value. - - Item name. - Item value. - >An that can be used to remove the item from the current logical context. - - - - Sets the current logical context item to the specified value. - - Item name. - Item value. - >An that can be used to remove the item from the current logical context. - - - - Updates the current logical context with multiple items in single operation - - . - >An that can be used to remove the item from the current logical context (null if no items). - - - - Sets the current logical context item to the specified value. - - Item name. - Item value. - - - - Sets the current logical context item to the specified value. - - Item name. - Item value. - - - - Sets the current logical context item to the specified value. - - Item name. - Item value. - - - - Returns all item names - - A collection of the names of all items in current logical context. - - - - Checks whether the specified exists in current logical context. - - Item name. - A boolean indicating whether the specified exists in current logical context. - - - - Removes the specified from current logical context. - - Item name. - - - - Clears the content of current logical context. - - - - - Clears the content of current logical context. - - Free the full slot. - - - - Nested Diagnostics Context - a thread-local structure that keeps a stack - of strings and provides methods to output them in layouts - - - - - Gets the top NDC message but doesn't remove it. - - The top message. . - - - - Gets the top NDC object but doesn't remove it. - - The object at the top of the NDC stack if defined; otherwise null. - - - - Pushes the specified text on current thread NDC. - - The text to be pushed. - An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. - - - - Pushes the specified object on current thread NDC. - - The object to be pushed. - An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. - - - - Pops the top message off the NDC stack. - - The top message which is no longer on the stack. - - - - Pops the top message from the NDC stack. - - The to use when converting the value to a string. - The top message, which is removed from the stack, as a string value. - - - - Pops the top object off the NDC stack. - - The object from the top of the NDC stack, if defined; otherwise null. - - - - Peeks the first object on the NDC stack - - The object from the top of the NDC stack, if defined; otherwise null. - - - - Clears current thread NDC stack. - - - - - Gets all messages on the stack. - - Array of strings on the stack. - - - - Gets all messages from the stack, without removing them. - - The to use when converting a value to a string. - Array of strings. - - - - Gets all objects on the stack. - - Array of objects on the stack. - - - - Async version of - a logical context structure that keeps a stack - Allows for maintaining scope across asynchronous tasks and call contexts. - - - - - Pushes the specified value on current stack - - The value to be pushed. - An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. - - - - Pushes the specified value on current stack - - The value to be pushed. - An instance of the object that implements IDisposable that returns the stack to the previous level when IDisposable.Dispose() is called. To be used with C# using() statement. - - - - Pops the top message off the NDLC stack. - - The top message which is no longer on the stack. - this methods returns a object instead of string, this because of backwards-compatibility - - - - Pops the top message from the NDLC stack. - - The to use when converting the value to a string. - The top message, which is removed from the stack, as a string value. - - - - Pops the top message off the current NDLC stack - - The object from the top of the NDLC stack, if defined; otherwise null. - - - - Peeks the top object on the current NDLC stack - - The object from the top of the NDLC stack, if defined; otherwise null. - - - - Clears current stack. - - - - - Gets all messages on the stack. - - Array of strings on the stack. - - - - Gets all messages from the stack, without removing them. - - The to use when converting a value to a string. - Array of strings. - - - - Gets all objects on the stack. The objects are not removed from the stack. - - Array of objects on the stack. - - - - stores state in the async thread execution context. All LogEvents created - within a scope can include the scope state in the target output. The logical context scope supports - both scope-properties and scope-nested-state-stack (Similar to log4j2 ThreadContext) - - - (MDLC), (MDC), (NDLC) - and (NDC) have been deprecated and replaced by . - - .NetCore (and .Net46) uses AsyncLocal for handling the thread execution context. Older .NetFramework uses System.Runtime.Remoting.CallContext - - - - - Pushes new state on the logical context scope stack together with provided properties - - Value to added to the scope stack - Properties being added to the scope dictionary - A disposable object that pops the nested scope state on dispose (including properties). - Scope dictionary keys are case-insensitive - - - - Updates the logical scope context with provided properties - - Properties being added to the scope dictionary - A disposable object that removes the properties from logical context scope on dispose. - Scope dictionary keys are case-insensitive - - - - Updates the logical scope context with provided properties - - Properties being added to the scope dictionary - A disposable object that removes the properties from logical context scope on dispose. - Scope dictionary keys are case-insensitive - - - - Updates the logical scope context with provided property - - Name of property - Value of property - A disposable object that removes the properties from logical context scope on dispose. - Scope dictionary keys are case-insensitive - - - - Updates the logical scope context with provided property - - Name of property - Value of property - A disposable object that removes the properties from logical context scope on dispose. - Scope dictionary keys are case-insensitive - - - - Pushes new state on the logical context scope stack - - Value to added to the scope stack - A disposable object that pops the nested scope state on dispose. - Skips casting of to check for scope-properties - - - - Pushes new state on the logical context scope stack - - Value to added to the scope stack - A disposable object that pops the nested scope state on dispose. - - - - Clears all the entire logical context scope, and removes any properties and nested-states - - - - - Retrieves all properties stored within the logical context scopes - - Collection of all properties - - - - Lookup single property stored within the logical context scopes - - Name of property - When this method returns, contains the value associated with the specified key - Returns true when value is found with the specified key - Scope dictionary keys are case-insensitive - - - - Retrieves all nested states inside the logical context scope stack - - Array of nested state objects. - - - - Peeks the top value from the logical context scope stack - - Value from the top of the stack. - - - - Peeks the inner state (newest) from the logical context scope stack, and returns its running duration - - Scope Duration Time - - - - Peeks the outer state (oldest) from the logical context scope stack, and returns its running duration - - Scope Duration Time - - - - Special bookmark that can restore original parent, after scopes has been collapsed - - - - - Matches when the specified condition is met. - - - Conditions are expressed using a simple language. - - Documentation on NLog Wiki - - - - Gets or sets the condition expression. - - - - - - - - - An abstract filter class. Provides a way to eliminate log messages - based on properties other than logger name and log level. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the action to be taken when filter matches. - - - - - - Gets the result of evaluating filter against given log event. - - The log event. - Filter result. - - - - Checks whether log event should be logged or not. - - Log event. - - - if the log event should be ignored
    - - if the filter doesn't want to decide
    - - if the log event should be logged
    - .
    -
    - - - Marks class as a layout renderer and assigns a name to it. - - - - - Initializes a new instance of the class. - - Name of the filter. - - - - Filter result. - - - - - The filter doesn't want to decide whether to log or discard the message. - - - - - The message should be logged. - - - - - The message should not be logged. - - - - - The message should be logged and processing should be finished. - - - - - The message should not be logged and processing should be finished. - - - - - A base class for filters that are based on comparing a value to a layout. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the layout to be used to filter log messages. - - The layout. - - - -
    - - - - Gets or sets a value indicating whether to ignore case when comparing strings. - - - - - - Gets or sets the substring to be matched. - - - - - - - - - Matches when the calculated layout is equal to the specified substring. - This filter is deprecated in favor of <when /> which is based on conditions. - - - - - Gets or sets a value indicating whether to ignore case when comparing strings. - - - - - - Gets or sets a string to compare the layout to. - - - - - - - - - Matches the provided filter-method - - - - - Initializes a new instance of the class. - - - - - - - - Matches when the calculated layout does NOT contain the specified substring. - This filter is deprecated in favor of <when /> which is based on conditions. - - - - - Gets or sets the substring to be matched. - - - - - - Gets or sets a value indicating whether to ignore case when comparing strings. - - - - - - - - - Matches when the calculated layout is NOT equal to the specified substring. - This filter is deprecated in favor of <when /> which is based on conditions. - - - - - Initializes a new instance of the class. - - - - - Gets or sets a string to compare the layout to. - - - - - - Gets or sets a value indicating whether to ignore case when comparing strings. - - - - - - - - - Matches when the result of the calculated layout has been repeated a moment ago - - - - - How long before a filter expires, and logging is accepted again - - - - - - Max length of filter values, will truncate if above limit - - - - - - Applies the configured action to the initial logevent that starts the timeout period. - Used to configure that it should ignore all events until timeout. - - - - - - Max number of unique filter values to expect simultaneously - - - - - - Default number of unique filter values to expect, will automatically increase if needed - - - - - - Insert FilterCount value into when an event is no longer filtered - - - - - - Append FilterCount to the when an event is no longer filtered - - - - - - Reuse internal buffers, and doesn't have to constantly allocate new buffers - - - - - - Default buffer size for the internal buffers - - - - - - Checks whether log event should be logged or not. In case the LogEvent has just been repeated. - - Log event. - - - if the log event should be ignored
    - - if the filter doesn't want to decide
    - - if the log event should be logged
    - .
    -
    - - - Uses object pooling, and prunes stale filter items when the pool runs dry - - - - - Remove stale filter-value from the cache, and fill them into the pool for reuse - - - - - Renders the Log Event into a filter value, that is used for checking if just repeated - - - - - Repeated LogEvent detected. Checks if it should activate filter-action - - - - - Filter Value State (mutable) - - - - - Filter Lookup Key (immutable) - - - - - A global logging class using caller info to find the logger. - - - - - Starts building a log event with the specified . - - The log level. - The full path of the source file that contains the caller. This is the file path at the time of compile. - An instance of the fluent . - - - - Starts building a log event at the Trace level. - - The full path of the source file that contains the caller. This is the file path at the time of compile. - An instance of the fluent . - - - - Starts building a log event at the Debug level. - - The full path of the source file that contains the caller. This is the file path at the time of compile. - An instance of the fluent . - - - - Starts building a log event at the Info level. - - The full path of the source file that contains the caller. This is the file path at the time of compile. - An instance of the fluent . - - - - Starts building a log event at the Warn level. - - The full path of the source file that contains the caller. This is the file path at the time of compile. - An instance of the fluent . - - - - Starts building a log event at the Error level. - - The full path of the source file that contains the caller. This is the file path at the time of compile. - An instance of the fluent . - - - - Starts building a log event at the Fatal level. - - The full path of the source file that contains the caller. This is the file path at the time of compile. - An instance of the fluent . - - - - A fluent class to build log events for NLog. - - - - - Initializes a new instance of the class. - - The to send the log event. - - - - Initializes a new instance of the class. - - The to send the log event. - The for the log event. - - - - Gets the created by the builder. - - - - - Sets the information of the logging event. - - The exception information of the logging event. - current for chaining calls. - - - - Sets the level of the logging event. - - The level of the logging event. - current for chaining calls. - - - - Sets the logger name of the logging event. - - The logger name of the logging event. - current for chaining calls. - - - - Sets the log message on the logging event. - - The log message for the logging event. - current for chaining calls. - - - - Sets the log message and parameters for formatting on the logging event. - - A composite format string. - The object to format. - current for chaining calls. - - - - Sets the log message and parameters for formatting on the logging event. - - A composite format string. - The first object to format. - The second object to format. - current for chaining calls. - - - - Sets the log message and parameters for formatting on the logging event. - - A composite format string. - The first object to format. - The second object to format. - The third object to format. - current for chaining calls. - - - - Sets the log message and parameters for formatting on the logging event. - - A composite format string. - The first object to format. - The second object to format. - The third object to format. - The fourth object to format. - current for chaining calls. - - - - Sets the log message and parameters for formatting on the logging event. - - A composite format string. - An object array that contains zero or more objects to format. - current for chaining calls. - - - - Sets the log message and parameters for formatting on the logging event. - - An object that supplies culture-specific formatting information. - A composite format string. - An object array that contains zero or more objects to format. - current for chaining calls. - - - - Sets a per-event context property on the logging event. - - The name of the context property. - The value of the context property. - current for chaining calls. - - - - Sets multiple per-event context properties on the logging event. - - The properties to set. - current for chaining calls. - - - - Sets the timestamp of the logging event. - - The timestamp of the logging event. - current for chaining calls. - - - - Sets the stack trace for the event info. - - The stack trace. - Index of the first user stack frame within the stack trace. - current for chaining calls. - - - - Writes the log event to the underlying logger. - - The method or property name of the caller to the method. This is set at by the compiler. - The full path of the source file that contains the caller. This is set at by the compiler. - The line number in the source file at which the method is called. This is set at by the compiler. - - - - Writes the log event to the underlying logger if the condition delegate is true. - - If condition is true, write log event; otherwise ignore event. - The method or property name of the caller to the method. This is set at by the compiler. - The full path of the source file that contains the caller. This is set at by the compiler. - The line number in the source file at which the method is called. This is set at by the compiler. - - - - Writes the log event to the underlying logger if the condition is true. - - If condition is true, write log event; otherwise ignore event. - The method or property name of the caller to the method. This is set at by the compiler. - The full path of the source file that contains the caller. This is set at by the compiler. - The line number in the source file at which the method is called. This is set at by the compiler. - - - - Extension methods for NLog . - - - - - Starts building a log event with the specified . - - The logger to write the log event to. - The log level. - current for chaining calls. - - - - Starts building a log event at the Trace level. - - The logger to write the log event to. - current for chaining calls. - - - - Starts building a log event at the Debug level. - - The logger to write the log event to. - current for chaining calls. - - - - Starts building a log event at the Info level. - - The logger to write the log event to. - current for chaining calls. - - - - Starts building a log event at the Warn level. - - The logger to write the log event to. - current for chaining calls. - - - - Starts building a log event at the Error level. - - The logger to write the log event to. - current for chaining calls. - - - - Starts building a log event at the Fatal level. - - The logger to write the log event to. - current for chaining calls. - - - - Extensions for NLog . - - - - - Starts building a log event with the specified . - - The logger to write the log event to. - The log level. When not - for chaining calls. - - - - Starts building a log event at the Trace level. - - The logger to write the log event to. - for chaining calls. - - - - Starts building a log event at the Debug level. - - The logger to write the log event to. - for chaining calls. - - - - Starts building a log event at the Info level. - - The logger to write the log event to. - for chaining calls. - - - - Starts building a log event at the Warn level. - - The logger to write the log event to. - for chaining calls. - - - - Starts building a log event at the Error level. - - The logger to write the log event to. - for chaining calls. - - - - Starts building a log event at the Fatal level. - - The logger to write the log event to. - for chaining calls. - - - - Starts building a log event at the Exception level. - - The logger to write the log event to. - The exception information of the logging event. - The for the log event. Defaults to when not specified. - for chaining calls. - - - - Writes the diagnostic message at the Debug level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - Type of the value. - A logger implementation that will handle the message. - The value to be written. - - - - Writes the diagnostic message at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - Type of the value. - A logger implementation that will handle the message. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - A logger implementation that will handle the message. - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - A logger implementation that will handle the message. - An exception to be logged. - A to be written. - Arguments to format. - - - - Writes the diagnostic message and exception at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - A logger implementation that will handle the message. - An exception to be logged. - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - Arguments to format. - - - - Writes the diagnostic message at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - A logger implementation that will handle the message. - Log message. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - A logger implementation that will handle the message. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - A logger implementation that will handle the message. - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Debug level using the specified parameter. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the argument. - A logger implementation that will handle the message. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the first argument. - The type of the second argument. - A logger implementation that will handle the message. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the first argument. - The type of the second argument. - The type of the third argument. - A logger implementation that will handle the message. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Debug level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - Type of the value. - A logger implementation that will handle the message. - The value to be written. - - - - Writes the diagnostic message at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - Type of the value. - A logger implementation that will handle the message. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - A logger implementation that will handle the message. - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - A logger implementation that will handle the message. - An exception to be logged. - A to be written. - Arguments to format. - - - - Writes the diagnostic message and exception at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - A logger implementation that will handle the message. - An exception to be logged. - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - Arguments to format. - - - - Writes the diagnostic message at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - A logger implementation that will handle the message. - Log message. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - A logger implementation that will handle the message. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - A logger implementation that will handle the message. - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Debug level using the specified parameter. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the argument. - A logger implementation that will handle the message. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the first argument. - The type of the second argument. - A logger implementation that will handle the message. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the first argument. - The type of the second argument. - The type of the third argument. - A logger implementation that will handle the message. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message and exception at the specified level. - - A logger implementation that will handle the message. - The log level. - An exception to be logged. - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Trace level. - - A logger implementation that will handle the message. - An exception to be logged. - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Debug level. - - A logger implementation that will handle the message. - An exception to be logged. - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Info level. - - A logger implementation that will handle the message. - An exception to be logged. - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Warn level. - - A logger implementation that will handle the message. - An exception to be logged. - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Error level. - - A logger implementation that will handle the message. - An exception to be logged. - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Fatal level. - - A logger implementation that will handle the message. - An exception to be logged. - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Interface for fakeable of the current AppDomain. - - - - - Gets or sets the base directory that the assembly resolver uses to probe for assemblies. - - - - - Gets or sets the name of the configuration file for an application domain. - - - - - Gets or sets the list of directories under the application base directory that are probed for private assemblies. - - - - - Gets or set the friendly name. - - - - - Gets an integer that uniquely identifies the application domain within the process. - - - - - Gets the assemblies that have been loaded into the execution context of this application domain. - - A list of assemblies in this application domain. - - - - Process exit event. - - - - - Domain unloaded event. - - - - - Abstract calls for the application environment - - - - - Gets current process name (excluding filename extension, if any). - - - - - Process exit event. - - - - - Abstract calls to FileSystem - - - - Determines whether the specified file exists. - The file to check. - - - Returns the content of the specified file - The file to load. - - - - Adapter for to - - - - - Initializes a new instance of the class. - - The to wrap. - - - - Creates an AppDomainWrapper for the current - - - - - Gets or sets the base directory that the assembly resolver uses to probe for assemblies. - - - - - Gets or sets the name of the configuration file for an application domain. - - - - - Gets or sets the list of directories under the application base directory that are probed for private assemblies. - - - - - Gets or set the friendly name. - - - - - Gets an integer that uniquely identifies the application domain within the process. - - - - - Gets the assemblies that have been loaded into the execution context of this application domain. - - A list of assemblies in this application domain. - - - - Process exit event. - - - - - Domain unloaded event. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Interface for the wrapper around System.Configuration.ConfigurationManager. - - - - - Gets the wrapper around ConfigurationManager.AppSettings. - - - - - Format a log message - - - - - Perform message template parsing and formatting of LogEvent messages (True = Always, False = Never, Null = Auto Detect) - - - - - Format the message and return - - LogEvent with message to be formatted - formatted message - - - - Has the logevent properties? - - LogEvent with message to be formatted - False when logevent has no properties to be extracted - - - - Appends the logevent message to the provided StringBuilder - - LogEvent with message to be formatted - The to append the formatted message. - - - - Get the Raw, unformatted value without stringify - - - Implementors must has the [ThreadAgnostic] attribute - - - - - Get the raw value - - - The value - RawValue supported? - - - - Interface implemented by layouts and layout renderers. - - - - - Renders the value of layout or layout renderer in the context of the specified log event. - - The log event. - String representation of a layout. - - - - Supports rendering as string value with limited or no allocations (preferred) - - - Implementors must not have the [AppDomainFixedOutput] attribute - - - - - Renders the value of layout renderer in the context of the specified log event - - - null if not possible or unknown - - - - Supports object initialization and termination. - - - - - Initializes this instance. - - The configuration. - - - - Closes this instance. - - - - - Helpers for . - - - - - Load from url - - file or path, including .dll - basepath, optional - - - - - Load from url - - name without .dll - - - - - Forward declare of system delegate type for use by other classes - - - - - Keeps track of pending operation count, and can notify when pending operation count reaches zero - - - - - Mark operation has started - - - - - Mark operation has completed - - Exception coming from the completed operation [optional] - - - - Registers an AsyncContinuation to be called when all pending operations have completed - - Invoked on completion - AsyncContinuation operation - - - - Clear o - - - - - Sets the stack trace for the event info. - - The stack trace. - Index of the first user stack frame within the stack trace. - Type of the logger or logger wrapper. This is still Logger if it's a subclass of Logger. - - - - Sets the details retrieved from the Caller Information Attributes - - - - - - - - - Gets the stack frame of the method that did the logging. - - - - - Gets the number index of the stack frame that represents the user - code (not the NLog code). - - - - - Legacy attempt to skip async MoveNext, but caused source file line number to be lost - - - - - Gets the entire stack trace. - - - - - Finds first user stack frame in a stack trace - - The stack trace of the logging method invocation - Type of the logger or logger wrapper. This is still Logger if it's a subclass of Logger. - Index of the first user stack frame or 0 if all stack frames are non-user - - - - This is only done for legacy reason, as the correct method-name and line-number should be extracted from the MoveNext-StackFrame - - The stack trace of the logging method invocation - Starting point for skipping async MoveNext-frames - - - - Assembly to skip? - - Find assembly via this frame. - true, we should skip. - - - - Is this the type of the logger? - - get type of this logger in this frame. - Type of the logger. - - - - - Memory optimized filtering - - Passing state too avoid delegate capture and memory-allocations. - - - - Ensures that IDictionary.GetEnumerator returns DictionaryEntry values - - - - - Most-Recently-Used-Cache, that discards less frequently used items on overflow - - - - - Constructor - - Maximum number of items the cache will hold before discarding. - - - - Attempt to insert item into cache. - - Key of the item to be inserted in the cache. - Value of the item to be inserted in the cache. - true when the key does not already exist in the cache, false otherwise. - - - - Lookup existing item in cache. - - Key of the item to be searched in the cache. - Output value of the item found in the cache. - True when the key is found in the cache, false otherwise. - - - - Dictionary that combines the standard with the - MessageTemplate-properties extracted from the . - - The are returned as the first items - in the collection, and in positional order. - - - - - Value of the property - - - - - Has property been captured from message-template ? - - - - - The properties of the logEvent - - - - - The properties extracted from the message-template - - - - - Wraps the list of message-template-parameters as IDictionary-interface - - Message-template-parameters - - - - Transforms the list of event-properties into IDictionary-interface - - Message-template-parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Check if the message-template-parameters can be used directly without allocating a dictionary - - Message-template-parameters - Are all parameter names unique (true / false) - - - - Attempt to insert the message-template-parameters into an empty dictionary - - Message-template-parameters - The dictionary that initially contains no message-template-parameters - - - - - - - - - - - - - - - - - - - - - Will always throw, as collection is readonly - - - Will always throw, as collection is readonly - - - Will always throw, as collection is readonly - - - - - - - - - - - - - - - - - - - Special property-key for lookup without being case-sensitive - - - - - Property-Key equality-comparer that uses string-hashcode from OrdinalIgnoreCase - Enables case-insensitive lookup using - - - - - HashSet optimized for single item - - - - - - Insert single item on scope start, and remove on scope exit - - Item to insert in scope - Existing hashset to update - Force allocation of real hashset-container - HashSet EqualityComparer - - - - Add item to collection, if it not already exists - - Item to insert - - - - Clear hashset - - - - - Check if hashset contains item - - - Item exists in hashset (true/false) - - - - Remove item from hashset - - - Item removed from hashset (true/false) - - - - Copy items in hashset to array - - Destination array - Array offset - - - - Create hashset enumerator - - Enumerator - - - - Provides helpers to sort log events and associated continuations. - - - - - Key selector delegate. - - The type of the value. - The type of the key. - Value to extract key information from. - Key selected from log event. - - - - Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. - - The type of the value. - The type of the key. - The inputs. - The key selector function. - - Dictionary where keys are unique input keys, and values are lists of . - - - - - Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. - - The type of the value. - The type of the key. - The inputs. - The key selector function. - - Dictionary where keys are unique input keys, and values are lists of . - - - - - Performs bucket sort (group by) on an array of items and returns a dictionary for easy traversal of the result set. - - The type of the value. - The type of the key. - The inputs. - The key selector function. - The key comparer function. - - Dictionary where keys are unique input keys, and values are lists of . - - - - - Single-Bucket optimized readonly dictionary. Uses normal internally Dictionary if multiple buckets are needed. - - Avoids allocating a new dictionary, when all items are using the same bucket - - The type of the key. - The type of the value. - - - - - - - - - - - - - - - - Allows direct lookup of existing keys. If trying to access non-existing key exception is thrown. - Consider to use instead for better safety. - - Key value for lookup - Mapped value found - - - - Non-Allocating struct-enumerator - - - - - - - - - - - - - Will always throw, as dictionary is readonly - - - Will always throw, as dictionary is readonly - - - - - - Will always throw, as dictionary is readonly - - - Will always throw, as dictionary is readonly - - - - - - - - - Will always throw, as dictionary is readonly - - - - Internal configuration manager used to read .NET configuration files. - Just a wrapper around the BCL ConfigurationManager, but used to enable - unit testing. - - - - - UTF-8 BOM 239, 187, 191 - - - - - Safe way to get environment variables. - - - - - Helper class for dealing with exceptions. - - - - - Mark this exception as logged to the . - - - - - - - Is this exception logged to the ? - - - trueif the has been logged to the . - - - - Determines whether the exception must be rethrown and logs the error to the if is false. - - Advised to log first the error to the before calling this method. - - The exception to check. - Target Object context of the exception. - Target Method context of the exception. - trueif the must be rethrown, false otherwise. - - - - Determines whether the exception must be rethrown immediately, without logging the error to the . - - Only used this method in special cases. - - The exception to check. - trueif the must be rethrown, false otherwise. - - - - FormatProvider that renders an exception-object as $"{ex.GetType()}: {ex.Message}" - - - - - Object construction helper. - - - - - Base class for optimized file appenders. - - - - - Initializes a new instance of the class. - - Name of the file. - The create parameters. - - - - Gets the path of the file, including file extension. - - The name of the file. - - - - Gets or sets the creation time for a file associated with the appender. The time returned is in Coordinated - Universal Time [UTC] standard. - - The creation time of the file. - - - - Gets or sets the creation time for a file associated with the appender. Synchronized by - The time format is based on - - - - - Gets the last time the file associated with the appender is opened. The time returned is in Coordinated - Universal Time [UTC] standard. - - The time the file was last opened. - - - - Gets the file creation parameters. - - The file creation parameters. - - - - Writes the specified bytes. - - The bytes. - - - - Writes the specified bytes to a file. - - The bytes array. - The bytes array offset. - The number of bytes. - - - - Flushes this file-appender instance. - - - - - Closes this file-appender instance. - - - - - Gets the creation time for a file associated with the appender. The time returned is in Coordinated Universal - Time [UTC] standard. - - The file creation time. - - - - Gets the length in bytes of the file associated with the appender. - - A long value representing the length of the file in bytes. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Releases unmanaged and - optionally - managed resources. - - True to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Creates the file stream. - - If set to true sets the file stream to allow shared writing. - If larger than 0 then it will be used instead of the default BufferSize for the FileStream. - A object which can be used to write to the file. - - - - Base class for optimized file appenders which require the usage of a mutex. - - It is possible to use this class as replacement of BaseFileAppender and the mutex functionality - is not enforced to the implementing subclasses. - - - - - Initializes a new instance of the class. - - Name of the file. - The create parameters. - - - - Gets the mutually-exclusive lock for archiving files. - - The mutex for archiving. - - - - - - - Creates a mutex that is sharable by more than one process. - - The prefix to use for the name of the mutex. - A object which is sharable by multiple processes. - - - - Implementation of which caches - file information. - - - - - Initializes a new instance of the class. - - Name of the file. - The parameters. - - - - - - - - - - - - - - - - - - - Factory class which creates objects. - - - - - - - - Maintains a collection of file appenders usually associated with file targets. - - - - - An "empty" instance of the class with zero size and empty list of appenders. - - - - - Initializes a new "empty" instance of the class with zero size and empty - list of appenders. - - - - - Initializes a new instance of the class. - - - The size of the list should be positive. No validations are performed during initialization as it is an - internal class. - - Total number of appenders allowed in list. - Factory used to create each appender. - Parameters used for creating a file. - - - - The archive file path pattern that is used to detect when archiving occurs. - - - - - Invalidates appenders for all files that were archived. - - - - - Gets the parameters which will be used for creating a file. - - - - - Gets the file appender factory used by all the appenders in this list. - - - - - Gets the number of appenders which the list can hold. - - - - - Subscribe to background monitoring of active file appenders - - - - - It allocates the first slot in the list when the file name does not already in the list and clean up any - unused slots. - - File name associated with a single appender. - The allocated appender. - - - - Close all the allocated appenders. - - - - - Close the allocated appenders initialized before the supplied time. - - The time which prior the appenders considered expired - - - - Flush all the allocated appenders. - - - - - File Archive Logic uses the File-Creation-TimeStamp to detect if time to archive, and the File-LastWrite-Timestamp to name the archive-file. - - - NLog always closes all relevant appenders during archive operation, so no need to lookup file-appender - - - - - Closes the specified appender and removes it from the list. - - File name of the appender to be closed. - File Appender that matched the filePath (null if none found) - - - - Interface that provides parameters for create file function. - - - - - Gets or sets the delay in milliseconds to wait before attempting to write to the file again. - - - - - Gets or sets the number of times the write is appended on the file before NLog - discards the log message. - - - - - Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on the same host. - - - This makes multi-process logging possible. NLog uses a special technique - that lets it keep the files open for writing. - - - - - Gets or sets a value indicating whether to create directories if they do not exist. - - - Setting this to false may improve performance a bit, but you'll receive an error - when attempting to write to a directory that's not present. - - - - - Gets or sets a value indicating whether to enable log file(s) to be deleted. - - - - - Gets or sets the log file buffer size in bytes. - - - - - Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. - - - - - Gets or sets the file attributes (Windows only). - - - - - Should archive mutex be created? - - - - - Should manual simple detection of file deletion be enabled? - - - - - Gets the parameters which will be used for creating a file. - - - - - Gets the file appender factory used by all the appenders in this list. - - - - - Gets the number of appenders which the list can hold. - - - - - Subscribe to background monitoring of active file appenders - - - - - It allocates the first slot in the list when the file name does not already in the list and clean up any - unused slots. - - File name associated with a single appender. - The allocated appender. - - - - Close all the allocated appenders. - - - - - Close the allocated appenders initialized before the supplied time. - - The time which prior the appenders considered expired - - - - Flush all the allocated appenders. - - - - - File Archive Logic uses the File-Creation-TimeStamp to detect if time to archive, and the File-LastWrite-Timestamp to name the archive-file. - - - NLog always closes all relevant appenders during archive operation, so no need to lookup file-appender - - - - - Closes the specified appender and removes it from the list. - - File name of the appender to be closed. - File Appender that matched the filePath (null if none found) - - - - The archive file path pattern that is used to detect when archiving occurs. - - - - - Invalidates appenders for all files that were archived. - - - - - Interface implemented by all factories capable of creating file appenders. - - - - - Opens the appender for given file name and parameters. - - Name of the file. - Creation parameters. - Instance of which can be used to write to the file. - - - - Provides a multi process-safe atomic file appends while - keeping the files open. - - - On Unix you can get all the appends to be atomic, even when multiple - processes are trying to write to the same file, because setting the file - pointer to the end of the file and appending can be made one operation. - On Win32 we need to maintain some synchronization between processes - (global named mutex is used for this) - - - - - Initializes a new instance of the class. - - Name of the file. - The parameters. - - - - - - - - - - - - - - - - - - - Factory class. - - - - - - - - Appender used to discard data for the FileTarget. - Used mostly for testing entire stack except the actual writing to disk. - Throws away all data. - - - - - Factory class. - - - - - - - - Multi-process and multi-host file appender which attempts - to get exclusive write access and retries if it's not available. - - - - - Initializes a new instance of the class. - - Name of the file. - The parameters. - - - - - - - - - - - - - - - - - - - Factory class. - - - - - - - - Optimized single-process file appender which keeps the file open for exclusive write. - - - - - Initializes a new instance of the class. - - Name of the file. - The parameters. - - - - - - - - - - - - - - - - - - - Factory class. - - - - - - - - Provides a multi process-safe atomic file append while - keeping the files open. - - - - - Initializes a new instance of the class. - - Name of the file. - The parameters. - - - - Creates or opens a file in a special mode, so that writes are automatically - as atomic writes at the file end. - See also "UnixMultiProcessFileAppender" which does a similar job on *nix platforms. - - File to create or open - - - - - - - - - - - - - - - - - - - Factory class. - - - - - - - - A layout that represents a filePath. - - - - - Cached directory separator char array to avoid memory allocation on each method call. - - - - - Cached invalid file names char array to avoid memory allocation every time Path.GetInvalidFileNameChars() is called. - - - - - not null when == false - - - - - non null is fixed, - - - - - is the cache-key, and when newly rendered filename matches the cache-key, - then it reuses the cleaned cache-value . - - - - - is the cache-value that is reused, when the newly rendered filename - matches the cache-key - - - - Initializes a new instance of the class. - - - - Render the raw filename from Layout - - The log event. - StringBuilder to minimize allocations [optional]. - String representation of a layout. - - - - Convert the raw filename to a correct filename - - The filename generated by Layout. - String representation of a correct filename. - - - - Is this (templated/invalid) path an absolute, relative or unknown? - - - - - Is this (templated/invalid) path an absolute, relative or unknown? - - - - - Watches multiple files at the same time and raises an event whenever - a single change is detected in any of those files. - - - - - The types of changes to watch for. - - - - - Occurs when a change is detected in one of the monitored files. - - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Stops watching all files. - - - - - Stops watching the specified file. - - - - - - Watches the specified files for changes. - - The file names. - - - - Combine paths - - basepath, not null - optional dir - optional file - - - - - Cached directory separator char array to avoid memory allocation on each method call. - - - - - Trims directory separators from the path - - path, could be null - never null - - - - Convert object to string - - value - format for conversion. - - - If is null and isn't a already, then the will get a locked by - - - - - Retrieve network interfaces - - - - - Retrieve network interfaces - - - - - Supports mocking of SMTP Client code. - - - - - Specifies how outgoing email messages will be handled. - - - - - Gets or sets the name or IP address of the host used for SMTP transactions. - - - - - Gets or sets the port used for SMTP transactions. - - - - - Gets or sets a value that specifies the amount of time after which a synchronous Send call times out. - - - - - Gets or sets the credentials used to authenticate the sender. - - - - - Sends an e-mail message to an SMTP server for delivery. These methods block while the message is being transmitted. - - - System.Net.Mail.MailMessage - MailMessage - A MailMessage that contains the message to send. - - - - Gets or sets the folder where applications save mail messages to be processed by the local SMTP server. - - - - - The MessageFormatter delegate - - - - - When true: Do not fallback to StringBuilder.Format for positional templates - - - - - New formatter - - - When true: Do not fallback to StringBuilder.Format for positional templates - - - - - The MessageFormatter delegate - - - - - - - - Render a template to a string. - - The template. - Culture. - Parameters for the holes. - The String Builder destination. - Parameters for the holes. - - - - Detects the platform the NLog is running on. - - - - - Gets a value indicating whether current runtime supports use of mutex - - - - - Will creating a mutex succeed runtime? - - - - - Supports mocking of SMTP Client code. - - - Disabled Error CS0618 'SmtpClient' is obsolete: 'SmtpClient and its network of types are poorly designed, - we strongly recommend you use https://github.com/jstedfast/MailKit and https://github.com/jstedfast/MimeKit instead' - - - - - Retrieve network interfaces - - - - - Retrieve network interfaces - - - - - Network sender which uses HTTP or HTTPS POST. - - - - - Initializes a new instance of the class. - - The network URL. - - - - Creates instances of objects for given URLs. - - - - - Creates a new instance of the network sender based on a network URL. - - URL that determines the network sender to be created. - The maximum queue size. - The overflow action when reaching maximum queue size. - The maximum message size. - SSL protocols for TCP - KeepAliveTime for TCP - - A newly created network sender. - - - - - Interface for mocking socket calls. - - - - - A base class for all network senders. Supports one-way sending of messages - over various protocols. - - - - - Initializes a new instance of the class. - - The network URL. - - - - Gets the address of the network endpoint. - - - - - Gets the last send time. - - - - - Initializes this network sender. - - - - - Closes the sender and releases any unmanaged resources. - - The continuation. - - - - Flushes any pending messages and invokes the on completion. - - The continuation. - - - - Send the given text over the specified protocol. - - Bytes to be sent. - Offset in buffer. - Number of bytes to send. - The asynchronous continuation. - - - - Closes the sender and releases any unmanaged resources. - - - - - Initializes resources for the protocol specific implementation. - - - - - Closes resources for the protocol specific implementation. - - The continuation. - - - - Performs the flush and invokes the on completion. - - The continuation. - - - - Sends the payload using the protocol specific implementation. - - The bytes to be sent. - Offset in buffer. - Number of bytes to send. - The async continuation to be invoked after the buffer has been sent. - - - - Parses the URI into an IP address. - - The URI to parse. - The address family. - Parsed endpoint. - - - - Default implementation of . - - - - - - - - A base class for network senders that can block or send out-of-order - - - - - Initializes a new instance of the class. - - URL. Must start with tcp://. - - - - Socket proxy for mocking Socket code. - - - - - Initializes a new instance of the class. - - The address family. - Type of the socket. - Type of the protocol. - - - - Gets underlying socket instance. - - - - - Closes the wrapped socket. - - - - - Invokes ConnectAsync method on the wrapped socket. - - The instance containing the event data. - Result of original method. - - - - Invokes SendAsync method on the wrapped socket. - - The instance containing the event data. - Result of original method. - - - - Invokes SendToAsync method on the wrapped socket. - - The instance containing the event data. - Result of original method. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - Sends messages over a TCP network connection. - - - - - Initializes a new instance of the class. - - URL. Must start with tcp://. - The address family. - - - - Creates the socket with given parameters. - - The host address. - The address family. - Type of the socket. - Type of the protocol. - Instance of which represents the socket. - - - - Facilitates mocking of class. - - - - - Raises the Completed event. - - - - - Sends messages over the network as UDP datagrams. - - - - - Initializes a new instance of the class. - - URL. Must start with udp://. - The address family. - - - - Creates the socket. - - The IP address. - Implementation of to use. - - - - Allocates new builder and appends to the provided target builder on dispose - - - - - Access the new builder allocated - - - - - Controls a single allocated AsyncLogEventInfo-List for reuse (only one active user) - - - - - Controls a single allocated char[]-buffer for reuse (only one active user) - - - - - Controls a single allocated StringBuilder for reuse (only one active user) - - - - - Controls a single allocated object for reuse (only one active user) - - - - - Creates handle to the reusable char[]-buffer for active usage - - Handle to the reusable item, that can release it again - - - - Access the acquired reusable object - - - - - Controls a single allocated MemoryStream for reuse (only one active user) - - - - - Constructor - - Max number of items - Initial StringBuilder Size - Max StringBuilder Size - - - - Takes StringBuilder from pool - - Allow return to pool - - - - Releases StringBuilder back to pool at its right place - - - - - Keeps track of acquired pool item - - - - - Releases pool item back into pool - - - - - Detects the platform the NLog is running on. - - - - - Gets the current runtime OS. - - - - - Gets a value indicating whether current OS is Win32-based (desktop or mobile). - - - - - Gets a value indicating whether current OS is Unix-based. - - - - - Gets a value indicating whether current runtime is Mono-based - - - - - Scans (breadth-first) the object graph following all the edges whose are - instances have attached and returns - all objects implementing a specified interfaces. - - - - - Finds the objects which have attached which are reachable - from any of the given root objects when traversing the object graph over public properties. - - Type of the objects to return. - Also search the properties of the wanted objects. - The root objects. - Ordered list of objects implementing T. - - - ISet is not there in .net35, so using HashSet - - - - Object Path to check - - - - - Converts object into a List of property-names and -values using reflection - - - - - Try get value from , using , and set into - - - - - Scans properties for name (Skips string-compare and value-lookup until finding match) - - - - - Scans properties for name (Skips property value lookup until finding match) - - - - - Scans properties for name - - - - - Binder for retrieving value of - - - - - - - - Reflection helpers for accessing properties. - - - - - Set value parsed from string. - - object instance to set with property - name of the property on - The value to be parsed. - - - - - Get property info - - object which could have property - property name on - result when success. - success. - - - - Try parse of string to (Generic) list, comma separated. - - - If there is a comma in the value, then (single) quote the value. For single quotes, use the backslash as escape - - - - - Attempt to reuse the HashSet.Comparer from the original HashSet-object (Ex. StringComparer.OrdinalIgnoreCase) - - - - - Reflection helpers. - - - - - Gets all usable exported types from the given assembly. - - Assembly to scan. - Usable types from the given assembly. - Types which cannot be loaded are skipped. - - - - Is this a static class? - - - - This is a work around, as Type doesn't have this property. - From: https://stackoverflow.com/questions/1175888/determine-if-a-type-is-static - - - - - Optimized delegate for calling MethodInfo - - Object instance, use null for static methods. - Complete list of parameters that matches the method, including optional/default parameters. - - - - Optimized delegate for calling a constructor - - Complete list of parameters that matches the constructor, including optional/default parameters. Could be null for no parameters. - - - - Creates an optimized delegate for calling the MethodInfo using Expression-Trees - - Method to optimize - Optimized delegate for invoking the MethodInfo - - - - Creates an optimized delegate for calling the constructors using Expression-Trees - - Constructor to optimize - Optimized delegate for invoking the constructor - - - - Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used. - - - - - Gets or sets a value indicating whether to match whole words only. - - - - - Gets or sets a value indicating whether to ignore case when comparing texts. - - - - - Supported operating systems. - - - If you add anything here, make sure to add the appropriate detection - code to - - - - - Unknown operating system. - - - - - Unix/Linux operating systems. - - - - - Desktop versions of Windows (95,98,ME). - - - - - Windows NT, 2000, 2003 and future versions based on NT technology. - - - - - Macintosh Mac OSX - - - - - Immutable state that combines ScopeContext MDLC + NDLC for - - - - - Immutable state that combines ScopeContext MDLC + NDLC for - - - - - Immutable state for ScopeContext Mapped Context (MDLC) - - - - - Immutable state for ScopeContext Nested State (NDLC) - - - - - Immutable state for ScopeContext Single Property (MDLC) - - - - - Immutable state for ScopeContext Multiple Properties (MDLC) - - - - - Immutable state for ScopeContext handling legacy MDLC + NDLC operations - - - - - - - - - - - - - - Collection of targets that should be written to - - - - - Implements a single-call guard around given continuation function. - - - - - Initializes a new instance of the class. - - The asynchronous continuation. - - - - Continuation function which implements the single-call guard. - - The exception. - - - - Utilities for dealing with values. - - - - - Gets the fully qualified name of the class invoking the calling method, including the - namespace but not the assembly. - - - - - Gets the fully qualified name of the class invoking the calling method, including the - namespace but not the assembly. - - StackFrame from the calling method - Fully qualified class name - - - - Returns the assembly from the provided StackFrame (If not internal assembly) - - Valid assembly, or null if assembly was internal - - - - Returns the classname from the provided StackFrame (If not from internal assembly) - - - Valid class name, or empty string if assembly was internal - - - - Stream helpers - - - - - Copy to output stream and skip BOM if encoding is UTF8 - - - - - - - - Copy stream input to output. Skip the first bytes - - stream to read from - stream to write to - .net35 doesn't have a .copyto - - - - Copy stream input to output. Skip the first bytes - - stream to read from - stream to write to - first bytes to skip (optional) - - - - Simple character tokenizer. - - - - - Initializes a new instance of the class. - - The text to be tokenized. - - - - Current position in - - - - - Full text to be parsed - - - - - Check current char while not changing the position. - - - - - - Read the current char and change position - - - - - - Get the substring of the - - - - - - - - Helpers for , which is used in e.g. layout renderers. - - - - - Renders the specified log event context item and appends it to the specified . - - append to this - value to be appended - format string. If @, then serialize the value with the Default JsonConverter. - provider, for example culture - NLog string.Format interface - - - - Appends int without using culture, and most importantly without garbage - - - value to append - - - - Appends uint without using culture, and most importantly without garbage - - Credits Gavin Pugh - https://www.gavpugh.com/2010/04/01/xnac-avoiding-garbage-when-working-with-stringbuilder/ - - - value to append - - - - Convert DateTime into UTC and format to yyyy-MM-ddTHH:mm:ss.fffffffZ - ISO 8601 Compliant Date Format (Round-Trip-Time) - - - - - Clears the provider StringBuilder - - - - - - Copies the contents of the StringBuilder to the MemoryStream using the specified encoding (Without BOM/Preamble) - - StringBuilder source - MemoryStream destination - Encoding used for converter string into byte-stream - Helper char-buffer to minimize memory allocations - - - - Copies the contents of the StringBuilder to the destination StringBuilder - - StringBuilder source - StringBuilder destination - - - - Scans the StringBuilder for the position of needle character - - StringBuilder source - needle character to search for - - Index of the first occurrence (Else -1) - - - - Scans the StringBuilder for the position of needle character - - StringBuilder source - needle characters to search for - - Index of the first occurrence (Else -1) - - - - Compares the contents of two StringBuilders - - - Correct implementation of that also works when is not the same - - True when content is the same - - - - Compares the contents of a StringBuilder and a String - - True when content is the same - - - - Append a number and pad with 0 to 2 digits - - append to this - the number - - - - Append a number and pad with 0 to 4 digits - - append to this - the number - - - - Append a numeric type (byte, int, double, decimal) as string - - - - - Helpers for . - - - - - IsNullOrWhiteSpace, including for .NET 3.5 - - - - - - - Replace string with - - - - - - The same reference of nothing has been replaced. - - - Concatenates all the elements of a string array, using the specified separator between each element. - The string to use as a separator. is included in the returned string only if has more than one element. - An collection that contains the elements to concatenate. - A string that consists of the elements in delimited by the string. If is an empty array, the method returns . - - is . - - - - Split a string - - - - - Split a string, optional quoted value - - Text to split - Character to split the - Quote character - - Escape for the , not escape for the - , use quotes for that. - - - - - Split a string, optional quoted value - - Text to split - Character to split the - Quote character - - Escape for the , not escape for the - , use quotes for that. - - - - - Represents target with a chain of filters which determine - whether logging should happen. - - - - - Initializes a new instance of the class. - - The target. - The filter chain. - Default action if none of the filters match. - - - - Gets the target. - - The target. - - - - Gets the filter chain. - - The filter chain. - - - - Gets or sets the next item in the chain. - - The next item in the chain. - This is for example the 'target2' logger in writeTo='target1,target2' - - - - Gets the stack trace usage. - - A value that determines stack trace handling. - - - - Default action if none of the filters match. - - - - - Serves as a hash function for a particular type. - - - - - 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. - - - - Wraps with a timeout. - - - - - Initializes a new instance of the class. - - The asynchronous continuation. - The timeout. - - - - Continuation function which implements the timeout logic. - - The exception. - - - - Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. - - - - - URL Encoding helper. - - - - Allow UnreservedMarks instead of ReservedMarks, as specified by chosen RFC - - - Use RFC2396 standard (instead of RFC3986) - - - Should use lowercase when doing HEX escaping of special characters - - - Replace space ' ' with '+' instead of '%20' - - - Skip UTF8 encoding, and prefix special characters with '%u' - - - - Escape unicode string data for use in http-requests - - unicode string-data to be encoded - target for the encoded result - s for how to perform the encoding - - - - Convert the wide-char into utf8-bytes, and then escape - - - - - - - - - Is allowed? - - - - - - - - Is a-z / A-Z / 0-9 - - - - - - - Prevents the Xamarin linker from linking the target. - - - By applying this attribute all of the members of the target will be kept as if they had been referenced by the code. - - - - - Ensures that all members of this type are preserved - - - - - Flags the method as a method to preserve during linking if the container class is pulled in. - - - - - Helper class for XML - - - - - removes any unusual unicode characters that can't be encoded into XML - - - - - Cleans string of any invalid XML chars found - - unclean string - string with only valid XML chars - - - - Pretest, small text and not escape needed - - - - - - - - Converts object value to invariant format, and strips any invalid xml-characters - - Object value - Object value converted to string - - - - Converts object value to invariant format (understood by JavaScript) - - Object value - Object value converted to string - - - - XML elements must follow these naming rules: - - Element names are case-sensitive - - Element names must start with a letter or underscore - - Element names can contain letters, digits, hyphens, underscores, and periods - - Element names cannot contain spaces - - - - - - Converts object value to invariant format (understood by JavaScript) - - Object value - Object TypeCode - Check and remove unusual unicode characters from the result string. - Object value converted to string - - - - Safe version of WriteAttributeString - - - - - - - - Safe version of WriteElementSafeString - - - - - - - - - - Safe version of WriteCData - - - - - - - Interface for handling object transformation - - - - - Takes a dangerous (or massive) object and converts into a safe (or reduced) object - - - Null if unknown object, or object cannot be handled - - - - - Used to render the application domain name. - - - - - Create a new renderer - - - - - Create a new renderer - - - - - Format string. Possible values: "Short", "Long" or custom like {0} {1}. Default "Long" - The first parameter is the AppDomain.Id, the second the second the AppDomain.FriendlyName - This string is used in - - - - - - - - - - - - - - - Application setting. - - - Use this layout renderer to insert the value of an application setting - stored in the application's App.config or Web.config file. - - - ${appsetting:item=mysetting:default=mydefault} - produces "mydefault" if no appsetting - - - - - The AppSetting item-name - - - - - - The AppSetting item-name - - - - - The default value to render if the AppSetting value is null. - - - - - - - - - - - - Renders the assembly version information for the entry assembly or a named assembly. - - - As this layout renderer uses reflection and version information is unlikely to change during application execution, - it is recommended to use it in conjunction with the . - - - The entry assembly can't be found in some cases e.g. ASP.NET, unit tests, etc. - - - - - The (full) name of the assembly. If null, using the entry assembly. - - - - - - Gets or sets the type of assembly version to retrieve. - - - Some version type and platform combinations are not fully supported. - - UWP earlier than .NET Standard 1.5: Value for is always returned unless the parameter is specified. - - - - - - The default value to render if the Version is not available - - - - - - Gets or sets the custom format of the assembly version output. - - - Supported placeholders are 'major', 'minor', 'build' and 'revision'. - The default .NET template for version numbers is 'major.minor.build.revision'. See - https://docs.microsoft.com/en-gb/dotnet/api/system.version?view=netframework-4.7.2#remarks - for details. - - - - - - - - - - - - - - - Gets the assembly specified by , or entry assembly otherwise - - - - - Type of assembly version to retrieve. - - - - - Gets the assembly version. - - - - - Gets the file version. - - - - - Gets the product version, extracted from the additional version information. - - - - - Thread identity information (username). - - - - - Gets or sets a value indicating whether username should be included. - - - - - - Gets or sets a value indicating whether domain name should be included. - - - - - - Gets or sets the default value to be used when the User is not set. - - - - - - Gets or sets the default value to be used when the Domain is not set. - - - - - - - - - The information about the garbage collector. - - - - - 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. - - - - - The identifier of the current process. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - - - - The information about the running process. - - - - - Gets or sets the property to retrieve. - - - - - - Gets or sets the format-string to use if the property supports it (Ex. DateTime / TimeSpan / Enum) - - - - - - Gets or sets the culture used for rendering. - - - - - - - - - - - - - - - Property of System.Diagnostics.Process to retrieve. - - - - - Base Priority. - - - - - Exit Code. - - - - - Exit Time. - - - - - Process Handle. - - - - - Handle Count. - - - - - Whether process has exited. - - - - - Process ID. - - - - - Machine name. - - - - - Handle of the main window. - - - - - Title of the main window. - - - - - Maximum Working Set. - - - - - Minimum Working Set. - - - - - Non-paged System Memory Size. - - - - - Non-paged System Memory Size (64-bit). - - - - - Paged Memory Size. - - - - - Paged Memory Size (64-bit).. - - - - - Paged System Memory Size. - - - - - Paged System Memory Size (64-bit). - - - - - Peak Paged Memory Size. - - - - - Peak Paged Memory Size (64-bit). - - - - - Peak Virtual Memory Size. - - - - - Peak Virtual Memory Size (64-bit).. - - - - - Peak Working Set Size. - - - - - Peak Working Set Size (64-bit). - - - - - Whether priority boost is enabled. - - - - - Priority Class. - - - - - Private Memory Size. - - - - - Private Memory Size (64-bit). - - - - - Privileged Processor Time. - - - - - Process Name. - - - - - Whether process is responding. - - - - - Session ID. - - - - - Process Start Time. - - - - - Total Processor Time. - - - - - User Processor Time. - - - - - Virtual Memory Size. - - - - - Virtual Memory Size (64-bit). - - - - - Working Set Size. - - - - - Working Set Size (64-bit). - - - - - The name of the current process. - - - - - Gets or sets a value indicating whether to write the full path to the process executable. - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - - - - Designates a property of the class as an ambient property. - - - non-ambient: ${uppercase:${level}} - ambient : ${level:uppercase} - - - - - Initializes a new instance of the class. - - Ambient property name. - - - - Marks class as layout-renderer and attaches a type-alias name for use in NLog configuration. - - - - - Initializes a new instance of the class. - - The layout-renderer type-alias for use in NLog configuration - without '${ }' - - - - The call site source file name. Full callsite - - - - - Gets or sets a value indicating whether to include source file path. - - - - - - Gets or sets the number of frames to skip. - - - - - - Logger should capture StackTrace, if it was not provided manually - - - - - - - - - - - - The call site (class name, method name and source information). - - - - - Gets or sets a value indicating whether to render the class name. - - - - - - Gets or sets a value indicating whether to render the include the namespace with . - - - - - - Gets or sets a value indicating whether to render the method name. - - - - - - Gets or sets a value indicating whether the method name will be cleaned up if it is detected as an anonymous delegate. - - - - - - Gets or sets a value indicating whether the method and class names will be cleaned up if it is detected as an async continuation - (everything after an await-statement inside of an async method). - - - - - - Gets or sets the number of frames to skip. - - - - - - Gets or sets a value indicating whether to render the source file name and line number. - - - - - - Gets or sets a value indicating whether to include source file path. - - - - - - Logger should capture StackTrace, if it was not provided manually - - - - - - - - - - - - The call site source line number. Full callsite - - - - - Gets or sets the number of frames to skip. - - - - - - Logger should capture StackTrace, if it was not provided manually - - - - - - - - - - - - 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. - - - - - 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. - - - - - - Logger should capture StackTrace, if it was not provided manually - - - - - - Gets or sets whether to render StackFrames in reverse order - - - - - - - - - - - - Log event context data. - - - - - Initializes a new instance of the class. - - - - - Gets or sets string that will be used to separate key/value pairs. - - - - - - Get or set if empty values should be included. - - A value is empty when null or in case of a string, null or empty string. - - - - - - Gets or sets whether to include the contents of the properties-dictionary. - - - - - - Gets or sets the keys to exclude from the output. If omitted, none are excluded. - - - - - - Enables capture of ScopeContext-properties from active thread context - - - - - Gets or sets how key/value pairs will be formatted. - - - - - - Gets or sets the culture used for rendering. - - - - - - - - - Log event context data. See . - - - - - Gets or sets the name of the item. - - - - - - Format string for conversion from object to string. - - - - - - Gets or sets the culture used for rendering. - - - - - - Gets or sets the object-property-navigation-path for lookup of nested property - - - - - - Gets or sets whether to perform case-sensitive property-name lookup - - - - - - - - Render a Global Diagnostics Context item. See - - - - - Gets or sets the name of the item. - - - - - - Format string for conversion from object to string. - - - - - - Gets or sets the culture used for rendering. - - - - - - - - - Installation parameter (passed to InstallNLogConfig). - - - - - Gets or sets the name of the parameter. - - - - - - - - - Render a Mapped Diagnostic Context item, See - - - - - Gets or sets the name of the item. - - - - - - Format string for conversion from object to string. - - - - - - - - - Render a Mapped Diagnostic Logical Context item (based on CallContext). - See - - - - - Gets or sets the name of the item. - - - - - - Format string for conversion from object to string. - - - - - - - - - Render a Nested Diagnostic Context item. - See - - - - - Gets or sets the number of top stack frames to be rendered. - - - - - - Gets or sets the number of bottom stack frames to be rendered. - - - - - - Gets or sets the separator to be used for concatenating nested diagnostics context output. - - - - - - - - - Render a Nested Diagnostic Logical Context item (Async scope) - See - - - - - Gets or sets the number of top stack frames to be rendered. - - - - - - Gets or sets the number of bottom stack frames to be rendered. - - - - - - Gets or sets the separator to be used for concatenating nested logical context output. - - - - - - - - - Timing Renderer (Async scope) - - - - - Gets or sets whether to only include the duration of the last scope created - - - - - - Gets or sets whether to just display the scope creation time, and not the duration - - - - - - Gets or sets the TimeSpan format. Can be any argument accepted by TimeSpan.ToString(format). - - - - - - - - - Renders the nested states from like a callstack - - - - - Gets or sets the indent token. - - - - - - - - - Renders the nested states from like a callstack - - - - - Gets or sets the number of top stack frames to be rendered. - - - - - - Gets or sets the number of bottom stack frames to be rendered. - - - - - - Gets or sets the separator to be used for concatenating nested logical context output. - - - - - - Gets or sets how to format each nested state. Ex. like JSON = @ - - - - - - Gets or sets the culture used for rendering. - - - - - - - - - Renders specified property-item from - - - - - Gets or sets the name of the item. - - - - - - Format string for conversion from object to string. - - - - - - Gets or sets the culture used for rendering. - - - - - - - - - Timing Renderer (Async scope) - - - - - Gets or sets whether to only include the duration of the last scope created - - - - - - Gets or sets whether to just display the scope creation time, and not the duration - - - - - - Gets or sets the TimeSpan format. Can be any argument accepted by TimeSpan.ToString(format). - - When Format has not been specified, then it will render TimeSpan.TotalMilliseconds - - - - - - Gets or sets the culture used for rendering. - - - - - - - - - A renderer that puts into log a System.Diagnostics trace correlation id. - - - - - - - - A counter value (increases on each layout rendering). - - - - - Gets or sets the initial value of the counter. - - - - - - Gets or sets the value to be added to the counter after each layout rendering. - - - - - - Gets or sets the name of the sequence. Different named sequences can have individual values. - - - - - - - - - Globally-unique identifier (GUID). - - - - - Gets or sets the GUID format as accepted by Guid.ToString() method. - - - - - - Generate the Guid from the NLog LogEvent (Will be the same for all targets) - - - - - - - - - The sequence ID - - - - - - - - Current date and time. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the culture used for rendering. - - - - - - Gets or sets the date format. Can be any argument accepted by DateTime.ToString(format). - - - - - - Gets or sets a value indicating whether to output UTC time instead of local time. - - - - - - - - - The date and time in a long, sortable format yyyy-MM-dd HH:mm:ss.ffff. - - - - - Gets or sets a value indicating whether to output UTC time instead of local time. - - - - - - - - - The process time in format HH:mm:ss.mmm. - - - - - Gets or sets a value indicating whether to output in culture invariant format - - - - - - Gets or sets the culture used for rendering. - - - - - - - - - Write timestamp to builder with format hh:mm:ss:fff - - - - - The short date in a sortable format yyyy-MM-dd. - - - - - Gets or sets a value indicating whether to output UTC time instead of local time. - - - - - - - - - The Ticks value of current date and time. - - - - - - - - The time in a 24-hour, sortable format HH:mm:ss.mmmm. - - - - - Gets or sets a value indicating whether to output UTC time instead of local time. - - - - - - Gets or sets a value indicating whether to output in culture invariant format - - - - - - Gets or sets the culture used for rendering. - - - - - - - - - DB null for a database - - - - - - - - The current application domain's base directory. - - - - - cached - - - - - Use base dir of current process. Alternative one can just use ${processdir} - - - - - - Fallback to the base dir of current process, when AppDomain.BaseDirectory is Temp-Path (.NET Core 3 - Single File Publish) - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the name of the file to be Path.Combine()'d with the base directory. - - - - - - Gets or sets the name of the directory to be Path.Combine()'d with the base directory. - - - - - - - - - The current working directory of the application. - - - - - Gets or sets the name of the file to be Path.Combine()'d with the current directory. - - - - - - Gets or sets the name of the directory to be Path.Combine()'d with the current directory. - - - - - - - - - The directory where NLog.dll is located. - - - - - Gets or sets the name of the file to be Path.Combine()'d with the directory name. - - - - - - Gets or sets the name of the directory to be Path.Combine()'d with the directory name. - - - - - - - - - - - - - - - The executable directory from the FileName, - using the current process - - - - - Gets or sets the name of the file to be Path.Combine()'d with the process directory. - - - - - - Gets or sets the name of the directory to be Path.Combine()'d with the process directory. - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - - - - System special folder path from - - - - - Initializes a new instance of the class. - - - - - System special folder path from - - - - - Initializes a new instance of the class. - - - - - System special folder path (includes My Documents, My Music, Program Files, Desktop, and more). - - - - - Gets or sets the system special folder to use. - - - Full list of options is available at MSDN. - The most common ones are: -
      -
    • 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. - - - - - - - - - System special folder path from - - - - - Initializes a new instance of the class. - - - - - A temporary directory. - - - - - Gets or sets the name of the file to be Path.Combine()'d with the directory name. - - - - - - Gets or sets the name of the directory to be Path.Combine()'d with the directory name. - - - - - - - - - - - - The OS dependent directory separator - - - - - - - - Render information of - for the exception passed to the logger call - - - - - Gets or sets the key to search the exception Data for - - - - - - Gets or sets whether to render innermost Exception from - - - - - - Format string for conversion from object to string. - - - - - - Gets or sets the culture used for rendering. - - - - - - - - - Exception information provided through - a call to one of the Logger.*Exception() methods. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the format of the output. Must be a comma-separated list of exception - properties: Message, Type, ShortType, ToString, Method, StackTrace. - This parameter value is case-insensitive. - - - - - - - - Gets or sets the format of the output of inner exceptions. Must be a comma-separated list of exception - properties: Message, Type, ShortType, ToString, Method, StackTrace. - This parameter value is case-insensitive. - - - - - - Gets or sets the separator used to concatenate parts specified in the Format. - - - - - - Gets or sets the separator used to concatenate exception data specified in the Format. - - - - - - Gets or sets the maximum number of inner exceptions to include in the output. - By default inner exceptions are not enabled for compatibility with NLog 1.0. - - - - - - Gets or sets the separator between inner exceptions. - - - - - - Gets or sets whether to render innermost Exception from - - - - - - Gets or sets whether to collapse exception tree using - - - - - - Gets the formats of the output of inner exceptions to be rendered in target. - - - - - - Gets the formats of the output to be rendered in target. - - - - - - - - - Appends the Message of an Exception to the specified . - - The to append the rendered data to. - The exception containing the Message to append. - - - - Appends the method name from Exception's stack trace to the specified . - - The to append the rendered data to. - The Exception whose method name should be appended. - - - - Appends the stack trace from an Exception to the specified . - - The to append the rendered data to. - The Exception whose stack trace should be appended. - - - - Appends the result of calling ToString() on an Exception to the specified . - - The to append the rendered data to. - The Exception whose call to ToString() should be appended. - - - - Appends the type of an Exception to the specified . - - The to append the rendered data to. - The Exception whose type should be appended. - - - - Appends the short type of an Exception to the specified . - - The to append the rendered data to. - The Exception whose short type should be appended. - - - - Appends the application source of an Exception to the specified . - - The to append the rendered data to. - The Exception whose source should be appended. - - - - Appends the HResult of an Exception to the specified . - - The to append the rendered data to. - The Exception whose HResult should be appended. - - - - Appends the contents of an Exception's Data property to the specified . - - The to append the rendered data to. - The Exception whose Data property elements should be appended. - - - - Appends all the serialized properties of an Exception into the specified . - - The to append the rendered data to. - The Exception whose properties should be appended. - - - - Appends all the additional properties of an Exception like Data key-value-pairs - - The to append the rendered data to. - The Exception whose properties should be appended. - - - - Split the string and then compile into list of Rendering formats. - - - - - Renders contents of the specified file. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the name of the file. - - - - - - Gets or sets the encoding used in the file. - - The encoding. - - - - - - - - A layout renderer which could have different behavior per instance by using a . - - - - - Initializes a new instance of the class. - - Name without ${}. - - - - Initializes a new instance of the class. - - Name without ${}. - Method that renders the layout. - - - - Name used in config without ${}. E.g. "test" could be used as "${test}". - - - - - Method that renders the layout. - - This public property will be removed in NLog 5. - - - - - Format string for conversion from object to string. - - - - - - Gets or sets the culture used for rendering. - - - - - - - - - Render the value for this log event - - The logging event. - The value. - - - - A layout renderer which could have different behavior per instance by using a . - - - - - Initializes a new instance of the class. - - Name without ${}. - Method that renders the layout. - - - - Thread identity information (name and authentication information). - - - - - Gets or sets the separator to be used when concatenating - parts of identity information. - - - - - - Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.Name. - - - - - - Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.AuthenticationType. - - - - - - Gets or sets a value indicating whether to render Thread.CurrentPrincipal.Identity.IsAuthenticated. - - - - - - - - - Render environmental information related to logging events. - - - - - Gets the logging configuration this target is part of. - - - - - Value formatter - - - - - - - - Renders the value of layout renderer in the context of the specified log event. - - The log event. - String representation of a layout renderer. - - - - - - - - - - Initializes this instance. - - The configuration. - - - - Closes this instance. - - - - - Renders the value of layout renderer in the context of the specified log event. - - The log event. - The layout render output is appended to builder - - - - Renders the value of layout renderer in the context of the specified log event into . - - The to append the rendered data to. - Logging event. - - - - Initializes the layout renderer. - - - - - Closes the layout renderer. - - - - - Get the for rendering the messages to a - - LogEvent with culture - Culture in on Layout level - - - - - Get the for rendering the messages to a - - LogEvent with culture - Culture in on Layout level - - - is preferred - - - - - Register a custom layout renderer. - - Short-cut for registering to default - Type of the layout renderer. - The layout-renderer type-alias for use in NLog configuration - without '${ }' - - - - Register a custom layout renderer. - - Short-cut for registering to default - Type of the layout renderer. - The layout-renderer type-alias for use in NLog configuration - without '${ }' - - - - Register a custom layout renderer with a callback function . The callback receives the logEvent. - - The layout-renderer type-alias for use in NLog configuration - without '${ }' - Callback that returns the value for the layout renderer. - - - - Register a custom layout renderer with a callback function . The callback receives the logEvent and the current configuration. - - The layout-renderer type-alias for use in NLog configuration - without '${ }' - Callback that returns the value for the layout renderer. - - - - Register a custom layout renderer with a callback function . The callback receives the logEvent and the current configuration. - - Renderer with callback func - - - - Resolves the interface service-type from the service-repository - - - - - Format of the ${level} layout renderer output. - - - - - Render the LogLevel standard name. - - - - - Render the first character of the level. - - - - - Render the first character of the level. - - - - - Render the ordinal (aka number) for the level. - - - - - Render the LogLevel full name, expanding Warn / Info abbreviations - - - - - Render the LogLevel as 3 letter abbreviations (Trc, Dbg, Inf, Wrn, Err, Ftl) - - - - - The log level. - - - - - Gets or sets a value indicating the output format of the level. - - - - - - Gets or sets a value indicating whether upper case conversion should be applied. - - A value of true if upper case conversion should be applied otherwise, false. - - - - - - - - A string literal. - - - This is used to escape '${' sequence - as ;${literal:text=${}' - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The literal text value. - This is used by the layout compiler. - - - - Gets or sets the literal text. - - - - - - - - - A string literal with a fixed raw value - - - - - Initializes a new instance of the class. - - The literal text value. - - Fixed raw value - This is used by the layout compiler. - - - - XML event description compatible with log4j, Chainsaw and NLogViewer. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - - - - Gets or sets a value indicating whether to include NLog-specific extensions to log4j schema. - - - - - - Gets or sets a value indicating whether the XML should use spaces for indentation. - - - - - - Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain. - - - - - - Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network. - - - - - - Gets or sets a value indicating whether to include source info (file name and line number) in the information sent over the network. - - - - - - Gets or sets a value indicating whether to include contents of the dictionary. - - - - - - Gets or sets a value indicating whether to include contents of the dictionary. - - - - - - Gets or sets a value indicating whether to include contents of the stack. - - - - - - Gets or sets whether to include log4j:NDC in output from nested context. - - - - - - Gets or sets whether to include the contents of the properties-dictionary. - - - - - - Gets or sets whether to include log4j:NDC in output from nested context. - - - - - - Gets or sets the stack separator for log4j:NDC in output from nested context. - - - - - - Gets or sets the stack separator for log4j:NDC in output from nested context. - - - - - - Gets or sets the option to include all properties from the log events - - - - - - Gets or sets the option to include all properties from the log events - - - - - - Gets or sets the stack separator for log4j:NDC in output from nested context. - - - - - - Gets or sets the log4j:event logger-xml-attribute (Default ${logger}) - - - - - - Gets or sets whether the log4j:throwable xml-element should be written as CDATA - - - - - - - - - - - - The logger name. - - - - - Gets or sets a value indicating whether to render short logger name (the part after the trailing dot character). - - - - - - - - - The environment variable. - - - - - Gets or sets the name of the environment variable. - - - - - - Gets or sets the default value to be used when the environment variable is not set. - - - - - - - - - The host name that the process is running on. - - - - - - - - Gets the host name and falls back to computer name if not available - - - - - Tries the lookup value. - - The lookup function. - Type of the lookup. - - - - - - - - The IP address from the network interface card (NIC) on the local machine - - - Skips loopback-adapters and tunnel-interfaces. Skips devices without any MAC-address - - - - - Get or set whether to prioritize IPv6 or IPv4 (default) - - - - - - - - - - - - - - - The machine name that the process is running on. - - - - - - - - - - - The formatted log message. - - - - - Initializes a new instance of the class. - - - - - Gets or sets a value indicating whether to log exception along with message. - - - - - - Gets or sets the string that separates message from the exception. - - - - - - Gets or sets whether it should render the raw message without formatting parameters - - - - - - - - - A newline literal. - - - - - - - - The identifier of the current thread. - - - - - - - - The name of the current thread. - - - - - - - - Render a NLog Configuration variable assigned from API or loaded from config-file - - - - - Gets or sets the name of the NLog variable. - - - - - - Gets or sets the default value to be used when the variable is not set. - - Not used if Name is null - - - - - Gets the configuration variable layout matching the configured Name - - Mostly relevant for the scanning of active NLog Layouts (Ex. CallSite capture) - - - - - - - Try lookup the configuration variable layout matching the configured Name - - - - - - - - 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. - - - - Gets or sets a value indicating whether this is enabled. - - - - - - Gets or sets a value indicating when the cache is cleared. - - - - - - Cachekey. If the cachekey changes, resets the value. For example, the cachekey would be the current day.s - - - - - - Gets or sets a value indicating how many seconds the value should stay cached until it expires - - - - - - - - - - - - - - - - - - Filters characters not allowed in the file names by replacing them with safe character. - - - - - 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. - - - - - Gets or sets whether output should be encoded with Json-string escaping. - - - - - - Gets or sets a value indicating whether to escape non-ascii characters - - - - - - Should forward slashes be escaped? If true, / will be converted to \/ - - - If not set explicitly then the value of the parent will be used as default. - - - - - - - - - - - - Left part of a text - - - - - Gets or sets the length in characters. - - - - - - Same as -property, so it can be used as ambient property. - - - ${message:truncate=80} - - - - - - - - - - - - Converts the result of another layout output to lower case. - - - - - Gets or sets a value indicating whether lower case conversion should be applied. - - A value of true if lower case conversion should be applied; otherwise, false. - - - - - Same as -property, so it can be used as ambient property. - - - ${level:tolower} - - - - - - Gets or sets the culture used for rendering. - - - - - - - - - - - - Render the non-raw value of an object. - - For performance and/or full (formatted) control of the output. - - - - Gets or sets a value indicating whether to disable the IRawValue-interface - - A value of true if IRawValue-interface should be ignored; otherwise, false. - - - - - - - - - - - Render a single property of a object - - - - - Gets or sets the object-property-navigation-path for lookup of nested property - - Shortcut for - - - - - - Gets or sets the object-property-navigation-path for lookup of nested property - - - - - - Format string for conversion from object to string. - - - - - - Gets or sets the culture used for rendering. - - - - - - - - - - - - - - - Only outputs the inner layout when exception has been defined for log message. - - - - - If is not found, print this layout. - - - - - - - - - - - - Outputs alternative layout when the inner layout produces empty result. - - - ${onhasproperties:, Properties\: ${all-event-properties}} - - - - - If is not found, print this 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. - - - - - 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. - - - ${replace:searchFor=\\n+:replaceWith=-:regex=true:inner=${message}} - - - - - Gets or sets the text to search for. - - The text search for. - - - - - Gets or sets a value indicating whether regular expressions should be used. - - A value of true if regular expressions should be used otherwise, false. - - - - - Gets or sets the replacement string. - - The replacement string. - - - - - Gets or sets the group name to replace when using regular expressions. - Leave null or empty to replace without using group name. - - The group name. - - - - - Gets or sets a value indicating whether to ignore case. - - A value of true if case should be ignored when searching; otherwise, false. - - - - - Gets or sets a value indicating whether to search for whole words. - - A value of true if whole words should be searched for; otherwise, false. - - - - - Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used. - - - - - - - - - - - - This class was created instead of simply using a lambda expression so that the "ThreadAgnosticAttributeTest" will pass - - - - - A match evaluator for Regular Expression based replacing - - Input string. - Group name in the regex. - Replace value. - Match from regex. - Groups replaced with . - - - - Replaces newline characters from the result of another layout renderer with spaces. - - - - - Gets or sets a value indicating the string that should be used for separating lines. - - - - - - - - - - - - Right part of a text - - - - - Gets or sets the length in characters. - - - - - - - - - - - - Decodes text "encrypted" with ROT-13. - - - See https://en.wikipedia.org/wiki/ROT13. - - - - - Gets or sets the layout to be wrapped. - - The layout to be wrapped. - This variable is for backwards compatibility - - - - - Encodes/Decodes ROT-13-encoded string. - - The string to be encoded/decoded. - Encoded/Decoded text. - - - - - - - - - - Encodes/Decodes ROT-13-encoded string. - - - - - Substring the result - - - ${substring:${level}:start=2:length=2} - ${substring:${level}:start=-2:length=2} - ${substring:Inner=${level}:start=2:length=2} - - - - - Gets or sets the start index. - - Index - - - - - Gets or sets the length in characters. If null, then the whole string - - Index - - - - - - - - - - - Calculate start position - - 0 or positive number - - - - Calculate needed length - - 0 or positive number - - - - Trims the whitespace from the result of another layout renderer. - - - - - Gets or sets a value indicating whether lower case conversion should be applied. - - A value of true if lower case conversion should be applied; otherwise, false. - - - - - - - - - - - Converts the result of another layout output to upper case. - - - ${uppercase:${level}} //[DefaultParameter] - ${uppercase:Inner=${level}} - ${level:uppercase} // [AmbientProperty] - - - - - Gets or sets a value indicating whether upper case conversion should be applied. - - A value of true if upper case conversion should be applied otherwise, false. - - - - - Same as -property, so it can be used as ambient property. - - - ${level:toupper} - - - - - - Gets or sets the culture used for rendering. - - - - - - - - - - - - Encodes the result of another layout output for use with URLs. - - - - - Initializes a new instance of the class. - - - - - Gets or sets a value indicating whether spaces should be translated to '+' or '%20'. - - A value of true if space should be translated to '+'; otherwise, false. - - - - - Gets or sets a value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) - - A value of true if Rfc3986; otherwise, false for legacy Rfc2396. - - - - - Gets or sets a value whether escaping be done according to the old NLog style (Very non-standard) - - A value of true if legacy encoding; otherwise, false for standard UTF8 encoding. - - - - - - - - - - - Outputs alternative layout when the inner layout produces empty result. - - - - - Gets or sets the layout to be rendered when original layout produced empty result. - - - - - - - - - - - - - - - Only outputs the inner layout when the specified condition has been met. - - - - - Gets or sets the condition that must be met for the layout to be printed. - - - - - - If is not met, print this layout. - - - - - - - - - - - - Replaces newline characters from the result of another layout renderer with spaces. - - - - - Gets or sets the line length for wrapping. - - - Only positive values are allowed - - - - - - - - - Base class for s which wrapping other s. - - This has the property (which is default) and can be used to wrap. - - - ${uppercase:${level}} //[DefaultParameter] - ${uppercase:Inner=${level}} - - - - - Gets or sets the wrapped layout. - - [DefaultParameter] so Inner: is not required if it's the first - - - - - - - - - - - - Appends the rendered output from -layout and transforms the added output (when necessary) - - Logging event. - The to append the rendered data to. - Start position for any necessary transformation of . - - - - Transforms the output of another layout. - - Logging event. - Output to be transform. - Transformed text. - - - - Transforms the output of another layout. - - Output to be transform. - Transformed text. - - - - Renders the inner layout contents. - - The log event. - Contents of inner layout. - - - - Base class for s which wrapping other s. - - This expects the transformation to work on a - - - - - - - - - - - Transforms the output of another layout. - - Output to be transform. - - - - Renders the inner layout contents. - - - for the result - - - - - - - - - - Converts the result of another layout output to be XML-compliant. - - - - - Gets or sets whether output should be encoded with Xml-string escaping. - - Ensures always valid XML, but gives a performance hit - - - - - Gets or sets a value indicating whether to transform newlines (\r\n) into ( ) - - - - - - - - - - - - A layout containing one or more nested layouts. - - - See NLog Wiki - - Documentation on NLog Wiki - - - - Initializes a new instance of the class. - - - - - Gets the inner layouts. - - - - - - - - - - - - - - - - - - - - - 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. - - - - - - Gets or sets the override of Quoting mode - - - and are faster than the default - - - - - - Specifies allowed column delimiters. - - - - - Automatically detect from regional settings. - - - - - Comma (ASCII 44). - - - - - Semicolon (ASCII 59). - - - - - Tab character (ASCII 9). - - - - - Pipe character (ASCII 124). - - - - - Space character (ASCII 32). - - - - - Custom string, specified by the CustomDelimiter. - - - - - A specialized layout that renders CSV-formatted events. - - - - If is set, then the header generation with column names will be disabled. - - See NLog Wiki - - Documentation on NLog Wiki - - - - 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'). - - - - - - - - - - - - - - - Get the headers with the column names. - - - - - - Header with column names for CSV layout. - - - - - Initializes a new instance of the class. - - The parent. - - - - - - - - - - - - - - - - Specifies CSV quoting modes. - - - - - Quote all column (Fast) - - - - - Quote nothing (Very fast) - - - - - Quote only whose values contain the quote symbol or the separator (Slow) - - - - - A specialized layout that renders LogEvent as JSON-Array - - - See NLog Wiki - - Documentation on NLog Wiki - - - - Gets the array of items to include in JSON-Array - - - - - - Gets or sets the option to suppress the extra spaces in the output json - - - - - - Gets or sets the option to render the empty object value {} - - - - - - - - - - - - - - - - - - JSON attribute. - - - - - 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. - - - - - - Gets or sets the result value type, for conversion of layout rendering output - - - - - - Gets or sets the fallback value when result value is not available - - - - - - Gets or sets whether output should be encoded as Json-String-Property, or be treated as valid json. - - - - - - Gets or sets a value indicating whether to escape non-ascii characters - - - - - - Should forward slashes be escaped? If true, / will be converted to \/ - - - If not set explicitly then the value of the parent will be used as default. - - - - - - Gets or sets whether an attribute with empty value should be included in the output - - - - - - A specialized layout that renders JSON-formatted events. - - - See NLog Wiki - - Documentation on NLog Wiki - - - - Initializes a new instance of the class. - - - - - Gets the array of attributes' configurations. - - - - - - Gets or sets the option to suppress the extra spaces in the output json - - - - - - Gets or sets the option to render the empty object value {} - - - - - - Gets or sets the option to include all properties from the log event (as JSON) - - - - - - Gets or sets a value indicating whether to include contents of the dictionary. - - - - - - Gets or sets whether to include the contents of the dictionary. - - - - - - Gets or sets the option to include all properties from the log event (as JSON) - - - - - - Gets or sets a value indicating whether to include contents of the dictionary. - - - - - - Gets or sets a value indicating whether to include contents of the dictionary. - - - - - - Gets or sets the option to exclude null/empty properties from the log event (as JSON) - - - - - - List of property names to exclude when is true - - - - - - How far should the JSON serializer follow object references before backing off - - - - - - Should forward slashes be escaped? If true, / will be converted to \/ - - - If not set explicitly then the value of the parent will be used as default. - - - - - - - - - - - - - - - - - - - - - Abstract interface that layouts must implement. - - - - - Is this layout initialized? See - - - - - Gets a value indicating whether this layout is thread-agnostic (can be rendered on any thread). - - - Layout is thread-agnostic if it has been marked with [ThreadAgnostic] attribute and all its children are - like that as well. - - Thread-agnostic layouts only use contents of for its output. - - - - - Gets the level of stack trace information required for rendering. - - - - - Gets the logging configuration this target is part of. - - - - - Converts a given text to a . - - Text to be converted. - object represented by the text. - - - - Implicitly converts the specified string to a . - - The layout string. - Instance of .' - - - - Implicitly converts the specified string to a . - - The layout string. - The NLog factories to use when resolving layout renderers. - Instance of . - - - - Implicitly converts the specified string to a . - - The layout string. - Whether should be thrown on parse errors (false = replace unrecognized tokens with a space). - Instance of . - - - - Create a from a lambda method. - - Method that renders the layout. - Tell if method is safe for concurrent threading. - Instance of . - - - - Precalculates the layout for the specified log event and stores the result - in per-log event cache. - - Only if the layout doesn't have [ThreadAgnostic] and doesn't contain layouts with [ThreadAgnostic]. - - The log event. - - Calling this method enables you to store the log event in a buffer - and/or potentially evaluate it in another thread even though the - layout may contain thread-dependent renderer. - - - - - Renders formatted output using the log event as context. - - Inside a , is preferred for performance reasons. - The logging event. - The formatted output as string. - - - - Optimized version of that works best when - override of is available. - - The logging event. - Appends the formatted output to target - - - - Optimized version of that works best when - override of is available. - - The logging event. - Appends the string representing log event to target - Should rendering result be cached on LogEventInfo - - - - Valid default implementation of , when having implemented the optimized - - The logging event. - The rendered layout. - - - - Renders formatted output using the log event as context. - - The logging event. - Appends the formatted output to target - - - - Initializes this instance. - - The configuration. - - - - Closes this instance. - - - - - Initializes this instance. - - The configuration. - - - - Closes this instance. - - - - - Initializes the layout. - - - - - Closes the layout. - - - - - Renders formatted output using the log event as context. - - The logging event. - The formatted output. - - - - Register a custom Layout. - - Short-cut for registering to default - Type of the Layout. - Name of the Layout. - - - - Register a custom Layout. - - Short-cut for registering to default - Type of the Layout. - Name of the Layout. - - - - Optimized version of for internal Layouts, when - override of is available. - - - - - Try get value - - - rawValue if return result is true - false if we could not determine the rawValue - - - - Resolve from DI - - Avoid calling this while handling a LogEvent, since random deadlocks can occur - - - - Marks class as Layout and attaches a type-alias name for use in NLog configuration. - - - - - Initializes a new instance of the class. - - The Layout type-alias for use in NLog configuration. - - - - Parses layout strings. - - - - - Add to - - - - - - - Options available for - - - - - Default options - - - - - Layout renderer method can handle concurrent threads - - - - - Layout renderer method is agnostic to current thread context. This means it will render the same result independent of thread-context. - - - - - A specialized layout that supports header and footer. - - - - - Gets or sets the body layout (can be repeated multiple times). - - - - - - Gets or sets the header layout. - - - - - - Gets or sets the footer 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. - - See NLog Wiki - - Documentation on NLog Wiki - - - - Initializes a new instance of the class. - - - - - Gets the instance that renders log events. - - - - - Gets the collection of parameters. Each parameter contains a mapping - between NLog layout and a named parameter. - - - - - - Gets or sets the option to include all properties from the log events - - - - - - Gets or sets whether to include the contents of the properties-dictionary. - - - - - - Gets or sets whether to include log4j:NDC in output from nested context. - - - - - - Gets or sets the option to include all properties from the log events - - - - - - Gets or sets a value indicating whether to include contents of the dictionary. - - - - - - Gets or sets whether to include log4j:NDC in output from nested context. - - - - - - Gets or sets a value indicating whether to include contents of the dictionary. - - - - - - Gets or sets a value indicating whether to include contents of the stack. - - - - - - Gets or sets the log4j:event logger-xml-attribute (Default ${logger}) - - - - - - Gets or sets the AppInfo field. By default it's the friendly name of the current AppDomain. - - - - - - Gets or sets whether the log4j:throwable xml-element should be written as CDATA - - - - - - Gets or sets a value indicating whether to include call site (class and method name) in the information sent over the network. - - - - - - Gets or sets a value indicating whether to include source info (file name and line number) in the information sent over the network. - - - - - - - - - - - - Represents a string with embedded placeholders that can render contextual information. - - - - This layout is not meant to be used explicitly. Instead you can just use a string containing layout - renderers everywhere the layout is required. - - See NLog Wiki - - Documentation on NLog Wiki - - - - 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. - - - - Initializes a new instance of the class. - - The layout string to parse. - The NLog factories to use when creating references to layout renderers. - Whether should be thrown on parse errors. - - - - Original text before compile to Layout renderes - - - - - Gets or sets the layout text. - - - - - - Is the message fixed? (no Layout renderers used) - - - - - Get the fixed text. Only set when is true - - - - - Is the message a simple formatted string? (Can skip StringBuilder) - - - - - Gets a collection of objects that make up this layout. - - - - - Gets a collection of objects that make up this layout. - - - - - Gets the level of stack trace information required for rendering. - - - - - 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. - - - - - - - - - - - - - - - - - - - - - - Typed Layout for easy conversion from NLog Layout logic to a simple value (ex. integer or enum) - - - - - - Is fixed value? - - - - - Fixed value - - - - - Initializes a new instance of the class. - - Dynamic NLog Layout - - - - Initializes a new instance of the class. - - Dynamic NLog Layout - Format used for parsing string-value into result value type - Culture used for parsing string-value into result value type - - - - Initializes a new instance of the class. - - Fixed value - - - - Render Value - - Log event for rendering - Fallback value when no value available - Result value when available, else fallback to defaultValue - - - - Renders the value and converts the value into string format - - - Only to implement abstract method from , and only used when calling - - - - - - - - - - - - - - - - - - - - - - - Implements Equals using - - - - - - - - Converts a given value to a . - - Text to be converted. - - - - Converts a given text to a . - - Text to be converted. - - - - Implements the operator == using - - - - - Implements the operator != using - - - - - Provides access to untyped value without knowing underlying generic type - - - - - Typed Value that is easily configured from NLog.config file - - - - - Initializes a new instance of the class. - - - - - Gets or sets the layout that will render the result value - - - - - - Gets or sets the result value type, for conversion of layout rendering output - - - - - - Gets or sets the fallback value when result value is not available - - - - - - Gets or sets the fallback value should be null (instead of default value of ) when result value is not available - - - - - - Gets or sets format used for parsing parameter string-value for type-conversion - - - - - - Gets or sets the culture used for parsing parameter string-value for type-conversion - - - - - - Render Result Value - - Log event for rendering - Result value when available, else fallback to defaultValue - - - - XML 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 xml-encode - - - - Gets or sets the name of the attribute. - - - - - - Gets or sets the layout that will be rendered as the attribute's value. - - - - - - Gets or sets the result value type, for conversion of layout rendering output - - - - - - Gets or sets the fallback value when result value is not available - - - - - - Gets or sets whether output should be encoded with Xml-string escaping, or be treated as valid xml-attribute-value - - - - - - Gets or sets whether an attribute with empty value should be included in the output - - - - - - A XML Element - - - - - - - - - - - Name of the element - - - - - - Value inside the element - - - - - - Gets or sets whether output should be encoded with Xml-string escaping, or be treated as valid xml-element-value - - - - - - A specialized layout that renders XML-formatted events. - - - - - Initializes a new instance of the class. - - The name of the top XML node - The value of the top XML node - - - - Name of the XML element - - Upgrade to private protected when using C# 7.2 - - - - Value inside the XML element - - Upgrade to private protected when using C# 7.2 - - - - Auto indent and create new lines - - - - - - Gets the array of xml 'elements' configurations. - - - - - - Gets the array of 'attributes' configurations for the element - - - - - - Gets or sets whether a ElementValue with empty value should be included in the output - - - - - - Gets or sets the option to include all properties from the log event (as XML) - - - - - - Gets or sets whether to include the contents of the dictionary. - - - - - - Gets or sets a value indicating whether to include contents of the dictionary. - - - - - - Gets or sets a value indicating whether to include contents of the dictionary. - - - - - - Gets or sets the option to include all properties from the log event (as XML) - - - - - - List of property names to exclude when is true - - - - - - XML element name to use when rendering properties - - - Support string-format where {0} means property-key-name - - Skips closing element tag when having configured - - - - - - XML attribute name to use when rendering property-key - - When null (or empty) then key-attribute is not included - - - Will replace newlines in attribute-value with - - - - - - XML attribute name to use when rendering property-value - - When null (or empty) then value-attribute is not included and - value is formatted as XML-element-value - - - Skips closing element tag when using attribute for value - - Will replace newlines in attribute-value with - - - - - - XML element name to use for rendering IList-collections items - - - - - - How far should the XML serializer follow object references before backing off - - - - - - - - - - - - - - - write attribute, only if is not empty - - - - - rendered - - - - - - - A specialized layout that renders XML-formatted events. - - - See NLog Wiki - - Documentation on NLog Wiki - - - - Initializes a new instance of the class. - - - - - - - - Name of the root XML element - - - - - - Value inside the root XML element - - - - - - Determines whether or not this attribute will be Xml encoded. - - - - - - Extensions for NLog . - - - - - Renders the logevent into a result-value by using the provided layout - - Inside a , is preferred for performance reasons. - - The layout. - The logevent info. - Fallback value when no value available - Result value when available, else fallback to defaultValue - - - - A fluent builder for logging events to NLog. - - - - - Initializes a new instance of the class. - - The to send the log event. - - - - Initializes a new instance of the class. - - The to send the log event. - The log level. LogEvent is only created when is enabled for - - - - The logger to write the log event to - - - - - Logging event that will be written - - - - - Sets a per-event context property on the logging event. - - The name of the context property. - The value of the context property. - - - - Sets multiple per-event context properties on the logging event. - - The properties to set. - - - - Sets the information of the logging event. - - The exception information of the logging event. - - - - Sets the timestamp of the logging event. - - The timestamp of the logging event. - - - - Sets the log message on the logging event. - - A to be written. - - - - Sets the log message and parameters for formatting for the logging event. - - The type of the argument. - A containing one format item. - The argument to format. - - - - Sets the log message and parameters for formatting on the logging event. - - The type of the first argument. - The type of the second argument. - A containing format items. - The first argument to format. - The second argument to format. - - - - Sets the log message and parameters for formatting on the logging event. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - A containing format items. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Sets the log message and parameters for formatting on the logging event. - - A containing format items. - Arguments to format. - - - - Sets the log message and parameters for formatting on the logging event. - - An object that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the log event to the underlying logger. - - The class of the caller to the method. This is captured by the NLog engine when necessary - The method or property name of the caller to the method. This is set at by the compiler. - The full path of the source file that contains the caller. This is set at by the compiler. - The line number in the source file at which the method is called. This is set at by the compiler. - - - - Writes the log event to the underlying logger. - - The log level. Optional but when assigned to then it will discard the LogEvent. - The method or property name of the caller to the method. This is set at by the compiler. - The full path of the source file that contains the caller. This is set at by the compiler. - The line number in the source file at which the method is called. This is set at by the compiler. - - - - Writes the log event to the underlying logger. - - Type of custom Logger wrapper. - - - - Represents the logging event. - - - - - Gets the date of the first log event created. - - - - - The formatted log message. - - - - - The log message including any parameter placeholders - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Log level. - Override default Logger name. Default is used when null - Log message including parameter placeholders. - - - - Initializes a new instance of the class. - - Log level. - Override default Logger name. Default is used when null - Log message including parameter placeholders. - Already parsed message template parameters. - - - - Initializes a new instance of the class. - - Log level. - Override default Logger name. Default is used when null - Log message. - List of event-properties - - - - Initializes a new instance of the class. - - Log level. - Override default Logger name. Default is used when null - An IFormatProvider that supplies culture-specific formatting information. - Log message including parameter placeholders. - Parameter array. - - - - Initializes a new instance of the class. - - Log level. - Override default Logger name. Default is used when null - An IFormatProvider that supplies culture-specific formatting information. - Log message including parameter placeholders. - Parameter array. - Exception information. - - - - Gets the unique identifier of log event which is automatically generated - and monotonously increasing. - - - - - Gets or sets the timestamp of the logging event. - - - - - Gets or sets the level of the logging event. - - - - - Gets a value indicating whether stack trace has been set for this event. - - - - - Gets the stack frame of the method that did the logging. - - - - - Gets the number index of the stack frame that represents the user - code (not the NLog code). - - - - - Gets the entire stack trace. - - - - - Gets the callsite class name - - - - - Gets the callsite member function name - - - - - Gets the callsite source file path - - - - - Gets the callsite source file line number - - - - - Gets or sets the exception information. - - - - - Gets or sets the logger name. - - - - - Gets or sets the log message including any parameter placeholders. - - - - - Gets or sets the parameter values or null if no parameters have been specified. - - - - - Gets or sets the format provider that was provided while logging or - when no formatProvider was specified. - - - - - Gets or sets the message formatter for generating - Uses string.Format(...) when nothing else has been configured. - - - - - Gets the formatted message. - - - - - Checks if any per-event properties (Without allocation) - - - - - Gets the dictionary of per-event context properties. - - - - - Gets the dictionary of per-event context properties. - Internal helper for the PropertiesDictionary type. - - Create the event-properties dictionary, even if no initial template parameters - Provided when having parsed the message template and capture template parameters (else null) - - - - - Gets the named parameters extracted from parsing as MessageTemplate - - - - - Creates the null event. - - Null log event. - - - - Creates the log event. - - The log level. - Override default Logger name. Default is used when null - The message. - Instance of . - - - - Creates the log event. - - The log level. - Override default Logger name. Default is used when null - The format provider. - The message. - The parameters. - Instance of . - - - - Creates the log event. - - The log level. - Override default Logger name. Default is used when null - The format provider. - The message. - Instance of . - - - - Creates the log event. - - The log level. - Override default Logger name. Default is used when null - The exception. - The format provider. - The message. - Instance of . - - - - Creates the log event. - - The log level. - Override default Logger name. Default is used when null - 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 (Negative means NLog should skip stackframes from System-assemblies). - - - - Sets the details retrieved from the Caller Information Attributes - - - - - - - - - Specialized LogFactory that can return instances of custom logger types. - - Use this only when a custom Logger type is defined. - The type of the logger to be returned. Must inherit from . - - - - Gets the logger with type . - - The logger name. - An instance of . - - - - Gets a custom logger with the full name of the current class (so namespace and class name) and type . - - An instance of . - This is a slow-running method. - Make sure you're not doing this in a loop. - - - - Creates and manages instances of objects. - - - - - Internal for unit tests - - - - - Overwrite possible file paths (including filename) for possible NLog config files. - When this property is null, the default file paths ( are used. - - - - - Occurs when logging changes. - - - - - Occurs when logging gets reloaded. - - - - - Initializes static members of the LogManager class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The config. - - - - Initializes a new instance of the class. - - The config loader - The custom AppEnvironmnet override - - - - Gets the current . - - - - - Gets or sets a value indicating whether exceptions should be thrown. See also . - - A value of true if exception should be thrown; otherwise, false. - By default exceptions are not thrown under any circumstances. - - - - Gets or sets a value indicating whether should be thrown. - - If null then is used. - - A value of true if exception should be thrown; otherwise, false. - - This option is for backwards-compatibility. - By default exceptions are not thrown under any circumstances. - - - - - Gets or sets a value indicating whether Variables should be kept on configuration reload. - - - - - Gets or sets a value indicating whether to automatically call - on AppDomain.Unload or AppDomain.ProcessExit - - - - - Gets or sets the current logging configuration. - - - Setter will re-configure all -objects, so no need to also call - - - - - Repository of interfaces used by NLog to allow override for dependency injection - - - - - Gets or sets the global log level threshold. Log events below this threshold are not logged. - - - - - Gets or sets 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. - - - - - Begins configuration of the LogFactory options using fluent interface - - - - - Begins configuration of the LogFactory options using fluent interface - - - - - Creates a logger that discards all log messages. - - Null logger instance. - - - - Gets the logger with the full name of the current class, so namespace and class name. - - The logger. - This method introduces performance hit, because of StackTrace capture. - Make sure you are not calling this method in a loop. - - - - Gets the logger with the full name of the current class, so namespace and class name. - Use to create instance of a custom . - If you haven't defined your own class, then use the overload without the type parameter. - - The logger with type . - Type of the logger - This method introduces performance hit, because of StackTrace capture. - Make sure you are not calling this method in a loop. - - - - Gets a custom logger with the full name of the current class, so namespace and class name. - Use to create instance of a custom . - If you haven't defined your own class, then use the overload without the loggerType. - - The type of the logger to create. The type must inherit from - The logger of type . - This method introduces performance hit, because of StackTrace capture. - 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 create instance of a custom . - If you haven't defined your own class, then use the overload without the type parameter. - - Name of the logger. - Type of the logger - The logger reference with type . Multiple calls to GetLogger with the same argument - are not guaranteed to return the same logger reference. - - - - Gets the specified named logger. - Use to create instance of a custom . - If you haven't defined your own class, then use the overload without the loggerType. - - Name of the logger. - The type of the logger to create. The type must inherit from . - 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. - - - - - Loops through all loggers previously returned by GetLogger and recalculates their - target and filter list. Useful after modifying the configuration programmatically - to ensure that all loggers have been properly configured. - - Purge garbage collected logger-items from the cache - - - - Flush any pending log messages (in case of asynchronous targets) with the default timeout of 15 seconds. - - - - - 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. - - - - Flushes any pending log messages on all appenders. - - Config containing Targets to Flush - Flush completed notification (success / timeout) - Optional timeout that guarantees that completed notification is called. - - - - - Suspends the logging, and returns object for using-scope so scope-exit calls - - - Logging is suspended when the number of calls are greater - than the number of calls. - - An object that implements IDisposable whose Dispose() method re-enables logging. - To be used with C# using () statement. - - - - Resumes logging if having called . - - - Logging is suspended when the number of calls are greater - than the number of calls. - - - - - Returns if logging is currently enabled. - - - Logging is suspended when the number of calls are greater - than the number of calls. - - A value of if logging is currently enabled, - otherwise. - - - - Raises the event when the configuration is reloaded. - - Event arguments. - - - - Raises the event when the configuration is reloaded. - - Event arguments - - - - Currently this is disposing? - - - - - Releases unmanaged and - optionally - managed resources. - - True to release both managed and unmanaged resources; - false to release only unmanaged resources. - - - - Dispose all targets, and shutdown logging. - - - - - Get file paths (including filename) for the possible NLog config files. - - The file paths to the possible config file - - - - Get file paths (including filename) for the possible NLog config files. - - The file paths to the possible config file - - - - Overwrite the candidates paths (including filename) for the possible NLog config files. - - The file paths to the possible config file - - - - Clear the candidate file paths and return to the defaults. - - - - - Loads logging configuration from file (Currently only XML configuration files supported) - - Configuration file to be read - LogFactory instance for fluent interface - - - - Logger cache key. - - - - - Serves as a hash function for a particular type. - - - - - 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. - - - - - - - Loops through all cached loggers and removes dangling loggers that have been garbage collected. - - - - - Internal for unit tests - - - - - Enables logging in implementation. - - - - - Initializes a new instance of the class. - - The factory. - - - - Enables logging. - - - - - Logging methods which only are executed when the DEBUG conditional compilation symbol is set. - - Remarks: - The DEBUG conditional compilation symbol is default enabled (only) in a debug build. - - If the DEBUG conditional compilation symbol isn't set in the calling library, the compiler will remove all the invocations to these methods. - This could lead to better performance. - - See: https://msdn.microsoft.com/en-us/library/4xssyw96%28v=vs.90%29.aspx - - - Provides logging interface and utility functions. - - - Auto-generated Logger members for binary compatibility with NLog 1.0. - - - Provides logging interface and utility functions. - - - - - Writes the diagnostic message at the Debug level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters and formatting them with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - Log message. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Debug level using the specified parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified parameter. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Debug level using the specified arguments formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the first argument. - The type of the second argument. - The type of the third argument. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - A to be written. - - - - Writes the diagnostic message at the Debug level. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Trace level. - Only executed when the DEBUG conditional compilation symbol is set. - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Trace level. - Only executed when the DEBUG conditional compilation symbol is set. - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Trace level. - Only executed when the DEBUG conditional compilation symbol is set. - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message and exception at the Trace level. - Only executed when the DEBUG conditional compilation symbol is set. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message and exception at the Trace level. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - An exception to be logged. - Arguments to format. - - - - Writes the diagnostic message at the Trace level using the specified parameters and formatting them with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Trace level. - Only executed when the DEBUG conditional compilation symbol is set. - Log message. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - A containing format items. - Arguments to format. - - - - Writes the diagnostic message at the Trace level using the specified parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified parameter. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the argument. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the first argument. - The type of the second argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the first argument. - The type of the second argument. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the Trace level using the specified arguments formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the first argument. - The type of the second argument. - The type of the third argument. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - The type of the first argument. - The type of the second argument. - The type of the third argument. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the Trace level. - Only executed when the DEBUG conditional compilation symbol is set. - A to be written. - - - - Writes the diagnostic message at the Trace level. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - Only executed when the DEBUG conditional compilation symbol is set. - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - Only executed when the DEBUG conditional compilation symbol is set. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - Only executed when the DEBUG conditional compilation symbol is set. - A containing one format item. - The argument to format. - - - - Gets a value indicating whether logging is enabled for the Trace level. - - A value of if logging is enabled for the Trace level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Debug level. - - A value of if logging is enabled for the Debug level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Info level. - - A value of if logging is enabled for the Info level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Warn level. - - A value of if logging is enabled for the Warn level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Error level. - - A value of if logging is enabled for the Error level, otherwise it returns . - - - - Gets a value indicating whether logging is enabled for the Fatal level. - - A value of if logging is enabled for the Fatal level, otherwise it returns . - - - - Writes the diagnostic message at the Trace level using the specified format provider and format parameters. - - - Writes the diagnostic message at the Trace level. - - Type of the value. - The value to be written. - - - - Writes the diagnostic message at the Trace level. - - Type of the value. - An IFormatProvider that supplies culture-specific formatting information. - The value to be written. - - - - Writes the diagnostic message at the Trace level. - - A function returning message to be written. Function is not evaluated if logging is not enabled. - - - - Writes the diagnostic message 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 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 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 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 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 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 specified level. - - The log level. - A to be written. - - - - Writes the diagnostic message at the specified level. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The log level. - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The log level. - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter and formatting it with the supplied format provider. - - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified value as a parameter. - - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level. - - A to be written. - - - - Writes the diagnostic message at the Trace level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Trace level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Trace level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level. - - A to be written. - - - - Writes the diagnostic message at the Debug level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Debug level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Debug level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level. - - A to be written. - - - - Writes the diagnostic message at the Info level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Info level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Info level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Info level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level. - - A to be written. - - - - Writes the diagnostic message at the Warn level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Warn level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Warn level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Warn level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level. - - A to be written. - - - - Writes the diagnostic message at the Error level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Error level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Error level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Error level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level. - - A to be written. - - - - Writes the diagnostic message at the Fatal level. - - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - - - - Writes the diagnostic message at the Fatal level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified parameters. - - A containing format items. - First argument to format. - Second argument to format. - Third argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter and formatting it with the supplied format provider. - - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the Fatal level using the specified value as a parameter. - - A containing one format item. - The argument to format. - - - - - - - - - - - - - - - - - - - - - - Initializes a new instance of the class. - - - - - Occurs when logger configuration changes. - - - - - Gets the name of the logger. - - - - - Gets the factory that created this logger. - - - - - Collection of context properties for the Logger. The logger will append it for all log events - - - It is recommended to use for modifying context properties - when same named logger is used at multiple locations or shared by different thread contexts. - - - - - 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 . - - - - Creates new logger that automatically appends the specified property to all log events (without changing current logger) - - With property, all properties can be enumerated. - - Property Name - Property Value - New Logger object that automatically appends specified property - - - - Creates new logger that automatically appends the specified properties to all log events (without changing current logger) - - With property, all properties can be enumerated. - - Collection of key-value pair properties - New Logger object that automatically appends specified properties - - - - Updates the specified context property for the current logger. The logger will append it for all log events. - - With property, all properties can be enumerated (or updated). - - - It is highly recommended to ONLY use for modifying context properties. - This method will affect all locations/contexts that makes use of the same named logger object. And can cause - unexpected surprises at multiple locations and other thread contexts. - - Property Name - Property Value - - - - Updates the with provided property - - Name of property - Value of property - A disposable object that removes the properties from logical context scope on dispose. - property-dictionary-keys are case-insensitive - - - - Updates the with provided property - - Name of property - Value of property - A disposable object that removes the properties from logical context scope on dispose. - property-dictionary-keys are case-insensitive - - - - Updates the with provided properties - - Properties being added to the scope dictionary - A disposable object that removes the properties from logical context scope on dispose. - property-dictionary-keys are case-insensitive - - - - Updates the with provided properties - - Properties being added to the scope dictionary - A disposable object that removes the properties from logical context scope on dispose. - property-dictionary-keys are case-insensitive - - - - Pushes new state on the logical context scope stack - - Value to added to the scope stack - A disposable object that pops the nested scope state on dispose. - - - - Pushes new state on the logical context scope stack - - Value to added to the scope stack - A disposable object that pops the nested scope state on dispose. - - - - Writes the specified diagnostic message. - - Log event. - - - - Writes the specified diagnostic message. - - Type of custom Logger wrapper. - 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 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. - An exception to be logged. - A to be written. - Arguments to format. - - - - Writes the diagnostic message and exception at the specified level. - - The log level. - An exception to be logged. - An IFormatProvider that supplies culture-specific formatting information. - A to be written. - Arguments to format. - - - - Writes the diagnostic message at the specified level using the specified parameter and formatting it with the supplied format provider. - - The type of the argument. - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified parameter. - - The type of the argument. - The log level. - A containing one format item. - The argument to format. - - - - Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The log level. - A containing one format item. - The first argument to format. - The second argument to format. - - - - Writes the diagnostic message at the specified level using the specified arguments formatting it with the supplied format provider. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - The log level. - An IFormatProvider that supplies culture-specific formatting information. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Writes the diagnostic message at the specified level using the specified parameters. - - The type of the first argument. - The type of the second argument. - The type of the third argument. - The log level. - A containing one format item. - The first argument to format. - The second argument to format. - The third argument to format. - - - - Runs the provided action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. - - Action to execute. - - - - Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. - The exception is not propagated outside of this method; a default value is returned instead. - - Return type of the provided function. - Function to run. - Result returned by the provided function or the default value of type in case of exception. - - - - Runs the provided function and returns its result. If an exception is thrown, it is logged at Error level. - The exception is not propagated outside of this method; a fallback value is returned instead. - - Return type of the provided function. - Function to run. - Fallback value to return in case of exception. - Result returned by the provided function or fallback value in case of exception. - - - - Logs an exception is logged at Error level if the provided task does not run to completion. - - The task for which to log an error if it does not run to completion. - This method is useful in fire-and-forget situations, where application logic does not depend on completion of task. This method is avoids C# warning CS4014 in such situations. - - - - Returns a task that completes when a specified task to completes. If the task does not run to completion, an exception is logged at Error level. The returned task always runs to completion. - - The task for which to log an error if it does not run to completion. - A task that completes in the state when completes. - - - - Runs async action. If the action throws, the exception is logged at Error level. The exception is not propagated outside of this method. - - Async action to execute. - - - - Runs the provided async function and returns its result. If the task does not run to completion, an exception is logged at Error level. - The exception is not propagated outside of this method; a default value is returned instead. - - Return type of the provided function. - Async function to run. - A task that represents the completion of the supplied task. If the supplied task ends in the state, the result of the new task will be the result of the supplied task; otherwise, the result of the new task will be the default value of type . - - - - Runs the provided async function and returns its result. If the task does not run to completion, an exception is logged at Error level. - The exception is not propagated outside of this method; a fallback value is returned instead. - - Return type of the provided function. - Async function to run. - Fallback value to return if the task does not end in the state. - A task that represents the completion of the supplied task. If the supplied task ends in the state, the result of the new task will be the result of the supplied task; otherwise, the result of the new task will be the fallback value. - - - - Raises the event when the logger is reconfigured. - - Event arguments - - - - Implementation of logging engine. - - - - - Gets the filter result. - - The filter chain. - The log event. - default result if there are no filters, or none of the filters decides. - The result of the filter. - - - - Defines available log levels. - - - Log levels ordered by severity:
    - - (Ordinal = 0) : Most verbose level. Used for development and seldom enabled in production.
    - - (Ordinal = 1) : Debugging the application behavior from internal events of interest.
    - - (Ordinal = 2) : Information that highlights progress or application lifetime events.
    - - (Ordinal = 3) : Warnings about validation issues or temporary failures that can be recovered.
    - - (Ordinal = 4) : Errors where functionality has failed or have been caught.
    - - (Ordinal = 5) : Most critical level. Application is about to abort.
    -
    -
    - - - Trace log level (Ordinal = 0) - - - Most verbose level. Used for development and seldom enabled in production. - - - - - Debug log level (Ordinal = 1) - - - Debugging the application behavior from internal events of interest. - - - - - Info log level (Ordinal = 2) - - - Information that highlights progress or application lifetime events. - - - - - Warn log level (Ordinal = 3) - - - Warnings about validation issues or temporary failures that can be recovered. - - - - - Error log level (Ordinal = 4) - - - Errors where functionality has failed or have been caught. - - - - - Fatal log level (Ordinal = 5) - - - Most critical level. Application is about to abort. - - - - - Off log level (Ordinal = 6) - - - - - Gets all the available log levels (Trace, Debug, Info, Warn, Error, Fatal, Off). - - - - - Gets all the log levels that can be used to log events (Trace, Debug, Info, Warn, Error, Fatal) - i.e LogLevel.Off is excluded. - - - - - Initializes a new instance of . - - The log level name. - The log level ordinal number. - - - - Gets the name of the log level. - - - - - Gets the ordinal of the log level. - - - - - Compares two objects - and returns a value indicating whether - the first one is equal to the second one. - - The first level. - The second level. - The value of level1.Ordinal == level2.Ordinal. - - - - Compares two objects - and returns a value indicating whether - the first one is not equal to the second one. - - The first level. - The second level. - The value of level1.Ordinal != level2.Ordinal. - - - - Compares two objects - and returns a value indicating whether - the first one is greater than the second one. - - The first level. - The second level. - The value of level1.Ordinal > level2.Ordinal. - - - - Compares two objects - and returns a value indicating whether - the first one is greater than or equal to the second one. - - The first level. - The second level. - The value of level1.Ordinal >= level2.Ordinal. - - - - Compares two objects - and returns a value indicating whether - the first one is less than the second one. - - The first level. - The second level. - The value of level1.Ordinal < level2.Ordinal. - - - - Compares two objects - and returns a value indicating whether - the first one is less than or equal to the second one. - - The first level. - The second level. - The value of level1.Ordinal <= level2.Ordinal. - - - - Gets the that corresponds to the specified ordinal. - - The ordinal. - The instance. For 0 it returns , 1 gives and so on. - - - - Returns the that corresponds to the supplied . - - The textual representation of the log level. - The enumeration value. - - - - Returns a string representation of the log level. - - Log level name. - - - - - - - - - - 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 other object. - - A value less than zero when this logger's is - less than the other logger's ordinal, 0 when they are equal and - greater than zero when this ordinal is greater than the - other ordinal. - - - - - Compares the level to the other object. - - The other object. - - A value less than zero when this logger's is - less than the other logger's ordinal, 0 when they are equal and - greater than zero when this ordinal is greater than the - other ordinal. - - - - - Creates and manages instances of objects. - - - LogManager wraps a singleton instance of . - - - - - Internal for unit tests - - - - - Gets the instance used in the . - - Could be used to pass the to other methods - - - - Occurs when logging changes. - - - - - Occurs when logging gets reloaded. - - - - - Gets or sets a value indicating whether NLog should throw exceptions. - By default exceptions are not thrown under any circumstances. - - - - - Gets or sets a value indicating whether should be thrown. - - A value of true if exception should be thrown; otherwise, false. - - This option is for backwards-compatibility. - By default exceptions are not thrown under any circumstances. - - - - - - Gets or sets a value indicating whether Variables should be kept on configuration reload. - - - - - Gets or sets a value indicating whether to automatically call - on AppDomain.Unload or AppDomain.ProcessExit - - - - - Gets or sets the current logging configuration. - - - Setter will re-configure all -objects, so no need to also call - - - - - Begins configuration of the LogFactory options using fluent interface - - - - - Begins configuration of the LogFactory options using fluent interface - - - - - Loads logging configuration from file (Currently only XML configuration files supported) - - Configuration file to be read - LogFactory instance for fluent interface - - - - Gets or sets the global log threshold. Log events below this threshold are not logged. - - - - - Gets the logger with the full name of the current class, so namespace and class name. - - The logger. - This is a slow-running method. - Make sure you're not doing this in a loop. - - - - 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 full name of the current class, so namespace and class name. - Use to create instance of a custom . - If you haven't defined your own class, then use the overload without the loggerType. - - The logger class. This class must inherit from . - The logger of type . - This is a slow-running method. - Make sure you're not doing this in a loop. - - - - 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 create instance of a custom . - If you haven't defined your own class, then use the overload without the loggerType. - - Name of the logger. - The logger class. This class must inherit from . - The logger of type . Multiple calls to GetLogger with the same argument aren't guaranteed to return the same logger reference. - The generic way for this method is - - - - 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. - - - - - Loops through all loggers previously returned by GetLogger. - and recalculates their target and filter list. Useful after modifying the configuration programmatically - to ensure that all loggers have been properly configured. - - Purge garbage collected logger-items from the cache - - - - Flush any pending log messages (in case of asynchronous targets) with the default timeout of 15 seconds. - - - - - 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. - - - - Suspends the logging, and returns object for using-scope so scope-exit calls - - - Logging is suspended when the number of calls are greater - than the number of calls. - - An object that implements IDisposable whose Dispose() method re-enables logging. - To be used with C# using () statement. - - - - Resumes logging if having called . - - - Logging is suspended when the number of calls are greater - than the number of calls. - - - - - Suspends the logging, and returns object for using-scope so scope-exit calls - - - Logging is suspended when the number of calls are greater - than the number of calls. - - An object that implements IDisposable whose Dispose() method re-enables logging. - To be used with C# using () statement. - - - - Resumes logging if having called . - - - Logging is suspended when the number of calls are greater - than the number of calls. - - - - - Returns if logging is currently enabled. - - - Logging is suspended when the number of calls are greater - than the number of calls. - - A value of if logging is currently enabled, - otherwise. - - - - Dispose all targets, and shutdown logging. - - - - - Generates a formatted message from the log event - - Log event. - Formatted message - - - - Returns a log message. Used to defer calculation of - the log message until it's actually needed. - - Log message. - - - - The type of the captured hole - - - - - Not decided - - - - - normal {x} - - - - - Serialize operator {@x} (aka destructure) - - - - - stringification operator {$x} - - - - - A hole that will be replaced with a value - - - - - Constructor - - - - Parameter name sent to structured loggers. - This is everything between "{" and the first of ",:}". - Including surrounding spaces and names that are numbers. - - - Format to render the parameter. - This is everything between ":" and the first unescaped "}" - - - - Type - - - - When the template is positional, this is the parsed name of this parameter. - For named templates, the value of Index is undefined. - - - Alignment to render the parameter, by default 0. - This is the parsed value between "," and the first of ":}" - - - - A fixed value - - - - Number of characters from the original template to copy at the current position. - This can be 0 when the template starts with a hole or when there are multiple consecutive holes. - - - Number of characters to skip in the original template at the current position. - 0 is a special value that mean: 1 escaped char, no hole. It can also happen last when the template ends with a literal. - - - - Combines Literal and Hole - - - - Literal - - - Hole - Uninitialized when = 0. - - - - Description of a single parameter extracted from a MessageTemplate - - - - - Parameter Name extracted from - This is everything between "{" and the first of ",:}". - - - - - Parameter Value extracted from the -array - - - - - Format to render the parameter. - This is everything between ":" and the first unescaped "}" - - - - - Parameter method that should be used to render the parameter - See also - - - - - Returns index for , when - - - - - Constructs a single message template parameter - - Parameter Name - Parameter Value - Parameter Format - - - - Constructs a single message template parameter - - Parameter Name - Parameter Value - Parameter Format - Parameter CaptureType - - - - Parameters extracted from parsing as MessageTemplate - - - - - - - - - - - Gets the parameters at the given index - - - - - Number of parameters - - - - Indicates whether the template should be interpreted as positional - (all holes are numbers) or named. - - - - Indicates whether the template was parsed successful, and there are no unmatched parameters - - - - - Constructor for parsing the message template with parameters - - including any parameter placeholders - All - - - - Constructor for named parameters that already has been parsed - - - - - Create MessageTemplateParameter from - - - - - Parse templates. - - - - - Parse a template. - - Template to be parsed. - When is null. - Template, never null - - - - Gets the current literal/hole in the template - - - - - Clears the enumerator - - - - - Restarts the enumerator of the template - - - - - Moves to the next literal/hole in the template - - Found new element [true/false] - - - - Parse format after hole name/index. Handle the escaped { and } in the format. Don't read the last } - - - - - - Error when parsing a template. - - - - - Current index when the error occurred. - - - - - The template we were parsing - - - - - New exception - - The message to be shown. - Current index when the error occurred. - - - - - Convert, Render or serialize a value, with optionally backwards-compatible with - - - - - Serialization of an object, e.g. JSON and append to - - The object to serialize to string. - Parameter Format - Parameter CaptureType - An object that supplies culture-specific formatting information. - Output destination. - Serialize succeeded (true/false) - - - - Format an object to a readable string, or if it's an object, serialize - - The value to convert - - - - - - - - Try serializing a scalar (string, int, NULL) or simple type (IFormattable) - - - - - Serialize Dictionary as JSON like structure, without { and } - - - "FirstOrder"=true, "Previous login"=20-12-2017 14:55:32, "number of tries"=1 - - - format string of an item - - - - - - - - - Convert a value to a string with format and append to . - - The value to convert. - Format sting for the value. - Format provider for the value. - Append to this - - - - Exception thrown during NLog configuration. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - Parameters for the message - - - - Initializes a new instance of the class. - - The inner exception. - The message. - Parameters for the message - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - The parameter is null. - - - The class name is null or is zero (0). - - - - - Exception thrown during log event processing. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - The message. - Parameters for the message - - - - Initializes a new instance of the class. - - The message. - The inner exception. - - - - Initializes a new instance of the class. - - The that holds the serialized object data about the exception being thrown. - The that contains contextual information about the source or destination. - - The parameter is null. - - - The class name is null or is zero (0). - - - - - TraceListener which routes all messages through NLog. - - - - - Initializes a new instance of the class. - - - - - Gets or sets the log factory to use when outputting messages (null - use LogManager). - - - - - Gets or sets the default log level. - - - - - Gets or sets the log which should be always used regardless of source level. - - - - - Gets or sets a value indicating whether flush calls from trace sources should be ignored. - - - - - Gets a value indicating whether the trace listener is thread safe. - - - true if the trace listener is thread safe; otherwise, false. The default is false. - - - - Gets or sets a value indicating whether to use auto logger name detected from the stack trace. - - - - - When overridden in a derived class, writes the specified message to the listener you create in the derived class. - - A message to write. - - - - When overridden in a derived class, writes a message to the listener you create in the derived class, followed by a line terminator. - - A message to write. - - - - When overridden in a derived class, closes the output stream so it no longer receives tracing or debugging output. - - - - - Emits an error message. - - A message to emit. - - - - Emits an error message and a detailed error message. - - A message to emit. - A detailed message to emit. - - - - Flushes the output (if is not true) buffer with the default timeout of 15 seconds. - - - - - Writes trace information, a data object and event information to the listener specific output. - - A object that contains the current process ID, thread ID, and stack trace information. - A name used to identify the output, typically the name of the application that generated the trace event. - One of the values specifying the type of event that has caused the trace. - A numeric identifier for the event. - The trace data to emit. - - - - Writes trace information, an array of data objects and event information to the listener specific output. - - A object that contains the current process ID, thread ID, and stack trace information. - A name used to identify the output, typically the name of the application that generated the trace event. - One of the values specifying the type of event that has caused the trace. - A numeric identifier for the event. - An array of objects to emit as data. - - - - Writes trace and event information to the listener specific output. - - A object that contains the current process ID, thread ID, and stack trace information. - A name used to identify the output, typically the name of the application that generated the trace event. - One of the values specifying the type of event that has caused the trace. - A numeric identifier for the event. - - - - Writes trace information, a formatted array of objects and event information to the listener specific output. - - A object that contains the current process ID, thread ID, and stack trace information. - A name used to identify the output, typically the name of the application that generated the trace event. - One of the values specifying the type of event that has caused the trace. - A numeric identifier for the event. - A format string that contains zero or more format items, which correspond to objects in the array. - An object array containing zero or more objects to format. - - - - Writes trace information, a message, and event information to the listener specific output. - - A object that contains the current process ID, thread ID, and stack trace information. - A name used to identify the output, typically the name of the application that generated the trace event. - One of the values specifying the type of event that has caused the trace. - A numeric identifier for the event. - A message to write. - - - - Writes trace information, a message, a related activity identity and event information to the listener specific output. - - A object that contains the current process ID, thread ID, and stack trace information. - A name used to identify the output, typically the name of the application that generated the trace event. - A numeric identifier for the event. - A message to write. - A object identifying a related activity. - - - - Gets the custom attributes supported by the trace listener. - - - A string array naming the custom attributes supported by the trace listener, or null if there are no custom attributes. - - - - - Translates the event type to level from . - - Type of the event. - Translated log level. - - - - Process the log event - The log level. - The name of the logger. - The log message. - The log parameters. - The event id. - The event type. - The related activity id. - - - - - It works as a normal but it discards all messages which an application requests - to be logged. - - It effectively implements the "Null Object" pattern for objects. - - - - - Initializes a new instance of . - - The factory class to be used for the creation of this logger. - - - - Extension methods to setup LogFactory options - - - - - Gets the logger with the full name of the current class, so namespace and class name. - - - - - Gets the specified named logger. - - - - - Configures general options for NLog LogFactory before loading NLog config - - - - - Configures loading of NLog extensions for Targets and LayoutRenderers - - - - - Configures the output of NLog for diagnostics / troubleshooting - - - - - Configures serialization and transformation of LogEvents - - - - - Loads NLog config created by the method - - - - - Loads NLog config provided in - - - - - Loads NLog config from filename if provided, else fallback to scanning for NLog.config - - Fluent interface parameter. - Explicit configuration file to be read (Default NLog.config from candidates paths) - Whether to allow application to run when NLog config is not available - - - - Loads NLog config from file-paths if provided, else fallback to scanning for NLog.config - - Fluent interface parameter. - Candidates file paths (including filename) where to scan for NLog config files - Whether to allow application to run when NLog config is not available - - - - Loads NLog config from XML in - - - - - Loads NLog config located in embedded resource from main application assembly. - - Fluent interface parameter. - Assembly for the main Application project with embedded resource - Name of the manifest resource for NLog config XML - - - - Reloads the current logging configuration and activates it - - Logevents produced during the configuration-reload can become lost, as targets are unavailable while closing and initializing. - - - - Extension methods to setup NLog extensions, so they are known when loading NLog LoggingConfiguration - - - - - Enable/disables autoloading of NLog extensions by scanning and loading available assemblies - - - Disabled by default as it can give a huge performance hit during startup. Recommended to keep it disabled especially when running in the cloud. - - - - - Enable/disables autoloading of NLog extensions by scanning and loading available assemblies - - - Disabled by default as it can give a huge performance hit during startup. Recommended to keep it disabled especially when running in the cloud. - - - - - Registers NLog extensions from the assembly. - - - - - Registers NLog extensions from the assembly type name - - - - - Register a custom NLog Target. - - Type of the Target. - Fluent interface parameter. - The target type-alias for use in NLog configuration. Will extract from class-attribute when unassigned. - - - - Register a custom NLog Target. - - Fluent interface parameter. - Type name of the Target - The target type-alias for use in NLog configuration - - - - Register a custom NLog Layout. - - Type of the layout renderer. - Fluent interface parameter. - The layout type-alias for use in NLog configuration. Will extract from class-attribute when unassigned. - - - - Register a custom NLog Layout. - - Fluent interface parameter. - Type of the layout. - The layout type-alias for use in NLog configuration - - - - Register a custom NLog LayoutRenderer. - - Type of the layout renderer. - Fluent interface parameter. - The layout-renderer type-alias for use in NLog configuration - without '${ }'. Will extract from class-attribute when unassigned. - - - - Register a custom NLog LayoutRenderer. - - Fluent interface parameter. - Type of the layout renderer. - The layout-renderer type-alias for use in NLog configuration - without '${ }' - - - - Register a custom NLog LayoutRenderer with a callback function . The callback receives the logEvent. - - Fluent interface parameter. - The layout-renderer type-alias for use in NLog configuration - without '${ }' - Callback that returns the value for the layout renderer. - - - - Register a custom NLog LayoutRenderer with a callback function . The callback receives the logEvent and the current configuration. - - Fluent interface parameter. - The layout-renderer type-alias for use in NLog configuration - without '${ }' - Callback that returns the value for the layout renderer. - - - - Register a custom NLog LayoutRenderer with a callback function . The callback receives the logEvent. - - Fluent interface parameter. - The layout-renderer type-alias for use in NLog configuration - without '${ }' - Callback that returns the value for the layout renderer. - Options of the layout renderer. - - - - Register a custom NLog LayoutRenderer with a callback function . The callback receives the logEvent and the current configuration. - - Fluent interface parameter. - The layout-renderer type-alias for use in NLog configuration - without '${ }' - Callback that returns the value for the layout renderer. - Options of the layout renderer. - - - - Register a custom condition method, that can use in condition filters - - Fluent interface parameter. - Name of the condition filter method - MethodInfo extracted by reflection - typeof(MyClass).GetMethod("MyFunc", BindingFlags.Static). - - - - Register a custom condition method, that can use in condition filters - - Fluent interface parameter. - Name of the condition filter method - Lambda method. - - - - Register a custom condition method, that can use in condition filters - - Fluent interface parameter. - Name of the condition filter method - Lambda method. - - - - Register (or replaces) singleton-object for the specified service-type - - Service interface type - Fluent interface parameter. - Implementation of interface. - - - - Register (or replaces) singleton-object for the specified service-type - - Fluent interface parameter. - Service interface type. - Implementation of interface. - - - - Register (or replaces) external service-repository for resolving dependency injection - - Fluent interface parameter. - External dependency injection repository - - - - Extension methods to setup NLog options - - - - - Configures - - - - - Configures - - - - - Configures - - - - - Configures - - - - - Configures - - - - - Configures - - - - - Configures - - - - - Configure the InternalLogger properties from Environment-variables and App.config using - - - Recognizes the following environment-variables: - - - NLOG_INTERNAL_LOG_LEVEL - - NLOG_INTERNAL_LOG_FILE - - NLOG_INTERNAL_LOG_TO_CONSOLE - - NLOG_INTERNAL_LOG_TO_CONSOLE_ERROR - - NLOG_INTERNAL_LOG_TO_TRACE - - NLOG_INTERNAL_INCLUDE_TIMESTAMP - - Legacy .NetFramework platform will also recognizes the following app.config settings: - - - nlog.internalLogLevel - - nlog.internalLogFile - - nlog.internalLogToConsole - - nlog.internalLogToConsoleError - - nlog.internalLogToTrace - - nlog.internalLogIncludeTimestamp - - - - - Extension methods to setup NLog - - - - - Configures the global time-source used for all logevents - - - Available by default: , , , - - - - - Updates the dictionary ${gdc:item=} with the name-value-pair - - - - - Defines for redirecting output from matching to wanted targets. - - Fluent interface parameter. - Logger name pattern to check which names matches this rule - Rule identifier to allow rule lookup - - - - Defines for redirecting output from matching to wanted targets. - - Fluent interface parameter. - Override the name for the target created - - - - Apply fast filtering based on . Include LogEvents with same or worse severity as . - - Fluent interface parameter. - Minimum level that this rule matches - - - - Apply fast filtering based on . Include LogEvents with same or less severity as . - - Fluent interface parameter. - Maximum level that this rule matches - - - - Apply fast filtering based on . Include LogEvents with severity that equals . - - Fluent interface parameter. - Single loglevel that this rule matches - - - - Apply fast filtering based on . Include LogEvents with severity between and . - - Fluent interface parameter. - Minimum level that this rule matches - Maximum level that this rule matches - - - - Apply dynamic filtering logic for advanced control of when to redirect output to target. - - - Slower than using Logger-name or LogLevel-severity, because of allocation. - - Fluent interface parameter. - Filter for controlling whether to write - Default action if none of the filters match - - - - Apply dynamic filtering logic for advanced control of when to redirect output to target. - - - Slower than using Logger-name or LogLevel-severity, because of allocation. - - Fluent interface parameter. - Delegate for controlling whether to write - Default action if none of the filters match - - - - Dynamic filtering of LogEvent, where it will be ignored when matching filter-method-delegate - - - Slower than using Logger-name or LogLevel-severity, because of allocation. - - Fluent interface parameter. - Delegate for controlling whether to write - LogEvent will on match also be ignored by following logging-rules - - - - Dynamic filtering of LogEvent, where it will be logged when matching filter-method-delegate - - - Slower than using Logger-name or LogLevel-severity, because of allocation. - - Fluent interface parameter. - Delegate for controlling whether to write - LogEvent will not be evaluated by following logging-rules - - - - Move the to the top, to match before any of the existing - - - - - Redirect output from matching to the provided - - Fluent interface parameter. - Target that should be written to. - Fluent interface for configuring targets for the new LoggingRule. - - - - Redirect output from matching to the provided - - Fluent interface parameter. - Target-collection that should be written to. - Fluent interface for configuring targets for the new LoggingRule. - - - - Redirect output from matching to the provided - - Fluent interface parameter. - Target-collection that should be written to. - Fluent interface for configuring targets for the new LoggingRule. - - - - Discard output from matching , so it will not reach any following . - - Fluent interface parameter. - Only discard output from matching Logger when below minimum LogLevel - - - - Returns first target registered - - - - - Returns first target registered with the specified type - - Type of target - - - - Write to - - Fluent interface parameter. - Method to call on logevent - Layouts to render object[]-args before calling - - - - Write to - - Fluent interface parameter. - Override the default Layout for output - Override the default Encoding for output (Ex. UTF8) - Write to stderr instead of standard output (stdout) - Skip overhead from writing to console, when not available (Ex. running as Windows Service) - Enable batch writing of logevents, instead of Console.WriteLine for each logevent (Requires ) - - - - Write to - - - Override the default Layout for output - Force use independent of - - - - Write to - - - Override the default Layout for output - - - - Write to (when DEBUG-build) - - - Override the default Layout for output - - - - Write to - - Fluent interface parameter. - - Override the default Layout for output - Override the default Encoding for output (Default = UTF8) - Override the default line ending characters (Ex. without CR) - Keep log file open instead of opening and closing it on each logging event - Activate multi-process synchronization using global mutex on the operating system - Size in bytes where log files will be automatically archived. - Maximum number of archive files that should be kept. - Maximum days of archive files that should be kept. - - - - Applies target wrapper for existing - - Fluent interface parameter. - Factory method for creating target-wrapper - - - - Applies for existing for asynchronous background writing - - Fluent interface parameter. - Action to take when queue overflows - Queue size limit for pending logevents - Batch size when writing on the background thread - - - - Applies for existing for throttled writing - - Fluent interface parameter. - Buffer size limit for pending logevents - Timeout for when the buffer will flush automatically using background thread - Restart timeout when logevent is written - Action to take when buffer overflows - - - - Applies for existing for flushing after conditional event - - Fluent interface parameter. - Method delegate that controls whether logevent should force flush. - Only flush when triggers (Ignore config-reload and config-shutdown) - - - - Applies for existing for retrying after failure - - Fluent interface parameter. - Number of retries that should be attempted on the wrapped target in case of a failure. - Time to wait between retries - - - - Applies for existing to fallback on failure. - - Fluent interface parameter. - Target to use for fallback - Whether to return to the first target after any successful write - - - - Extension methods to setup general option before loading NLog LoggingConfiguration - - - - - Configures the global time-source used for all logevents - - - Available by default: , , , - - - - - Configures the global time-source used for all logevents to use - - - - - Configures the global time-source used for all logevents to use - - - - - Updates the dictionary ${gdc:item=} with the name-value-pair - - - - - Sets whether to automatically call on AppDomain.Unload or AppDomain.ProcessExit - - - - - Sets the default culture info to use as . - - - - - Sets the global log level threshold. Log events below this threshold are not logged. - - - - - Gets or sets a value indicating whether should be thrown on configuration errors - - - - - Mark Assembly as hidden, so Assembly methods are excluded when resolving ${callsite} from StackTrace - - - - - Extension methods to setup NLog extensions, so they are known when loading NLog LoggingConfiguration - - - - - Overrides the active with a new custom implementation - - - - - Overrides the active with a new custom implementation - - - - - Registers object Type transformation from dangerous (massive) object to safe (reduced) object - - - - - Registers object Type transformation from dangerous (massive) object to safe (reduced) object - - - - - Specifies the way archive numbering is performed. - - - - - Sequence style numbering. The most recent archive has the highest number. - - - - - Rolling style numbering (the most recent is always #0 then #1, ..., #N. - - - - - Date style numbering. Archives will be stamped with the prior period - (Year, Month, Day, Hour, Minute) datetime. - - - - - Date and sequence style numbering. - Archives will be stamped with the prior period (Year, Month, Day) datetime. - The most recent archive has the highest number (in combination with the date). - - - - - Abstract Target with async Task support - - - See NLog Wiki - - - [Target("MyFirst")] - public sealed class MyFirstTarget : AsyncTaskTarget - { - public MyFirstTarget() - { - this.Host = "localhost"; - } - - [RequiredParameter] - public Layout Host { get; set; } - - protected override Task WriteAsyncTask(LogEventInfo logEvent, CancellationToken token) - { - string logMessage = this.RenderLogEvent(this.Layout, logEvent); - string hostName = this.RenderLogEvent(this.Host, logEvent); - return SendTheMessageToRemoteHost(hostName, logMessage); - } - - private async Task SendTheMessageToRemoteHost(string hostName, string message) - { - // To be implemented - } - } - - Documentation on NLog Wiki - - - - How many milliseconds to delay the actual write operation to optimize for batching - - - - - - How many seconds a Task is allowed to run before it is cancelled. - - - - - - How many attempts to retry the same Task, before it is aborted - - - - - - How many milliseconds to wait before next retry (will double with each retry) - - - - - - Gets or sets whether to use the locking queue, instead of a lock-free concurrent queue - The locking queue is less concurrent when many logger threads, but reduces memory allocation - - - - - - Gets or sets the action to be taken when the lazy writer thread request queue count - exceeds the set limit. - - - - - - Gets or sets the limit on the number of requests in the lazy writer thread request queue. - - - - - - Gets or sets the number of log events that should be processed in a batch - by the lazy writer thread. - - - - - - Task Scheduler used for processing async Tasks - - - - - Constructor - - - - - - - - Override this to provide async task for writing a single logevent. - - Example of how to override this method, and call custom async method - - protected override Task WriteAsyncTask(LogEventInfo logEvent, CancellationToken token) - { - return CustomWriteAsync(logEvent, token); - } - - private async Task CustomWriteAsync(LogEventInfo logEvent, CancellationToken token) - { - await MyLogMethodAsync(logEvent, token).ConfigureAwait(false); - } - - - The log event. - The cancellation token - - - - - Override this to provide async task for writing a batch of logevents. - - A batch of logevents. - The cancellation token - - - - - Handle cleanup after failed write operation - - Exception from previous failed Task - The cancellation token - Number of retries remaining - Time to sleep before retrying - Should attempt retry - - - - Block for override. Instead override - - - - - Block for override. Instead override - - - - - - - - Write to queue without locking - - - - - - Block for override. Instead override - - - - - LogEvent is written to target, but target failed to successfully initialize - - Enqueue logevent for later processing when target failed to initialize because of unresolved service dependency. - - - - - Schedules notification of when all messages has been written - - - - - - Closes Target by updating CancellationToken - - - - - Releases any managed resources - - - - - - Checks the internal queue for the next to create a new task for - - Used for race-condition validation between task-completion and timeout - Signals whether previousTask completed an almost full BatchSize - - - - Generates recursive task-chain to perform retry of writing logevents with increasing retry-delay - - - - - Creates new task to handle the writing of the input - - LogEvents to write - New Task created [true / false] - - - - Handles that scheduled task has completed (successfully or failed), and starts the next pending task - - Task just completed - AsyncContinuation to notify of success or failure - - - - Timer method, that is fired when pending task fails to complete within timeout - - - - - - Sends log messages to the remote instance of Chainsaw application from log4j. - - - See NLog Wiki - - Documentation on NLog Wiki - -

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

    - -

    - To set up the log target programmatically use code like this: -

    - -
    -
    - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a name. - - Name of the target. - - - - Color formatting for using ANSI Color Codes - - - - - Not using bold to get light colors, as it has to be cleared - - - - - Not using bold to get light colors, as it has to be cleared (And because it only works for text, and not background) - - - - - Resets both foreground and background color. - - - - - ANSI have 8 color-codes (30-37) by default. The "bright" (or "intense") color-codes (90-97) are extended values not supported by all terminals - - - - - Color formatting for using - and - - - - - Writes log messages to the console with customizable coloring. - - - See NLog Wiki - - Documentation on NLog Wiki - -

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

    - -

    - To set up the log target programmatically use code like this: -

    - -
    -
    - - - Should logging being paused/stopped because of the race condition bug in Console.Writeline? - - - Console.Out.Writeline / Console.Error.Writeline could throw 'IndexOutOfRangeException', which is a bug. - See https://stackoverflow.com/questions/33915790/console-out-and-console-error-race-condition-error-in-a-windows-service-written - and https://connect.microsoft.com/VisualStudio/feedback/details/2057284/console-out-probable-i-o-race-condition-issue-in-multi-threaded-windows-service - - Full error: - Error during session close: System.IndexOutOfRangeException: Probable I/ O race condition detected while copying memory. - The I/ O package is not thread safe by default. In multi-threaded applications, - a stream must be accessed in a thread-safe way, such as a thread - safe wrapper returned by TextReader's or - TextWriter's Synchronized methods.This also applies to classes like StreamWriter and StreamReader. - - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - Name of the target. - - - - 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 send the log messages to the standard error instead of the standard output. - - - - - - Gets or sets a value indicating whether to use default row highlighting rules. - - - The default rules are: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    ConditionForeground ColorBackground Color
    level == LogLevel.FatalRedNoChange
    level == LogLevel.ErrorYellowNoChange
    level == LogLevel.WarnMagentaNoChange
    level == LogLevel.InfoWhiteNoChange
    level == LogLevel.DebugGrayNoChange
    level == LogLevel.TraceDarkGrayNoChange
    -
    - -
    - - - The encoding for writing messages to the . - - Has side effect - - - - - Gets or sets a value indicating whether to auto-check if the console is available. - - Disables console writing if Environment.UserInteractive = False (Windows Service) - - Disables console writing if Console Standard Input is not available (Non-Console-App) - - - - - - Gets or sets a value indicating whether to auto-check if the console has been redirected to file - - Disables coloring logic when System.Console.IsOutputRedirected = true - - - - - - Gets or sets a value indicating whether to auto-flush after - - - Normally not required as standard Console.Out will have = true, but not when pipe to file - - - - - - Enables output using ANSI Color Codes - - - - - - Gets the row highlighting rules. - - - - - - Gets the word highlighting rules. - - - - - - - - - - - - - - - - - - Colored console output color. - - - Note that this enumeration is defined to be binary compatible with - .NET 2.0 System.ConsoleColor + some additions - - - - - Black Color (#000000). - - - - - Dark blue Color (#000080). - - - - - Dark green Color (#008000). - - - - - Dark Cyan Color (#008080). - - - - - Dark Red Color (#800000). - - - - - Dark Magenta Color (#800080). - - - - - Dark Yellow Color (#808000). - - - - - Gray Color (#C0C0C0). - - - - - Dark Gray Color (#808080). - - - - - Blue Color (#0000FF). - - - - - Green Color (#00FF00). - - - - - Cyan Color (#00FFFF). - - - - - Red Color (#FF0000). - - - - - Magenta Color (#FF00FF). - - - - - Yellow Color (#FFFF00). - - - - - White Color (#FFFFFF). - - - - - Don't change the color. - - - - - The row-highlighting condition. - - - - - Initializes static members of the ConsoleRowHighlightingRule class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The condition. - Color of the foreground. - Color of the background. - - - - Gets the default highlighting rule. Doesn't change the color. - - - - - Gets or sets the condition that must be met in order to set the specified foreground and background color. - - - - - - Gets or sets the foreground color. - - - - - - Gets or sets the background color. - - - - - - Checks whether the specified log event matches the condition (if any). - - - Log event. - - - A value of if the condition is not defined or - if it matches, otherwise. - - - - - Writes log messages to the console. - - - See NLog Wiki - - Documentation on NLog Wiki - -

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

    - -

    - To set up the log target programmatically use code like this: -

    - -
    -
    - - - Should logging being paused/stopped because of the race condition bug in Console.Writeline? - - - Console.Out.Writeline / Console.Error.Writeline could throw 'IndexOutOfRangeException', which is a bug. - See https://stackoverflow.com/questions/33915790/console-out-and-console-error-race-condition-error-in-a-windows-service-written - and https://connect.microsoft.com/VisualStudio/feedback/details/2057284/console-out-probable-i-o-race-condition-issue-in-multi-threaded-windows-service - - Full error: - Error during session close: System.IndexOutOfRangeException: Probable I/ O race condition detected while copying memory. - The I/ O package is not thread safe by default. In multi-threaded applications, - a stream must be accessed in a thread-safe way, such as a thread - safe wrapper returned by TextReader's or - TextWriter's Synchronized methods.This also applies to classes like StreamWriter and StreamReader. - - - - - - Gets or sets a value indicating whether to send the log messages to the standard error instead of the standard output. - - - - - - Gets or sets a value indicating whether to send the log messages to the standard error instead of the standard output. - - - - - - The encoding for writing messages to the . - - Has side effect - - - - - Gets or sets a value indicating whether to auto-check if the console is available - - Disables console writing if Environment.UserInteractive = False (Windows Service) - - Disables console writing if Console Standard Input is not available (Non-Console-App) - - - - - - Gets or sets a value indicating whether to auto-flush after - - - Normally not required as standard Console.Out will have = true, but not when pipe to file - - - - - - Gets or sets whether to activate internal buffering to allow batch writing, instead of using - - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - Name of the target. - - - - - - - - - - - - - - - - - - - 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 condition that must be met before scanning the row for highlight of words - - - - - - Compile the ? This can improve the performance, but at the costs of more memory usage. If false, the Regex Cache is used. - - - - - - Gets or sets the text to be matched. You must specify either text or regex. - - - - - - Gets or sets a value indicating whether to match whole words only. - - - - - - Gets or sets a value indicating whether to ignore case when comparing texts. - - - - - - Gets or sets the foreground color. - - - - - - Gets or sets the background color. - - - - - - Gets the compiled regular expression that matches either Text or Regex property. Only used when is true. - - - - - 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. - - - See NLog Wiki - - Documentation on NLog Wiki - -

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

    - -

    - To set up the log target programmatically use code like this: -

    - -
    -
    - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - Name of the target. - - - - - - - - - - - - - Outputs log messages through - - - See NLog Wiki - - Documentation on NLog Wiki - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - Name of the target. - - - - - - - - - - Outputs the rendered logging event through - - The logging event. - - - - Mock target - useful for testing. - - - See NLog Wiki - - Documentation on NLog Wiki - -

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

    - -

    - To set up the log target programmatically use code like this: -

    - -
    -
    - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - Name of the target. - - - - Gets the number of times this target has been called. - - - - - - Gets the last message rendered by this target. - - - - - - - - - Default class for serialization of values to JSON format. - - - - - Singleton instance of the serializer. - - - - - Private. Use - - - - - Returns a serialization of an object into JSON format. - - The object to serialize to JSON. - Serialized value. - - - - Returns a serialization of an object into JSON format. - - The object to serialize to JSON. - serialization options - Serialized value. - - - - Serialization of the object in JSON format to the destination StringBuilder - - The object to serialize to JSON. - Write the resulting JSON to this destination. - Object serialized successfully (true/false). - - - - Serialization of the object in JSON format to the destination StringBuilder - - The object to serialize to JSON. - Write the resulting JSON to this destination. - serialization options - Object serialized successfully (true/false). - - - - Serialization of the object in JSON format to the destination StringBuilder - - The object to serialize to JSON. - Write the resulting JSON to this destination. - serialization options - The objects in path (Avoid cyclic reference loop). - The current depth (level) of recursion. - Object serialized successfully (true/false). - - - - No quotes needed for this type? - - - - - Checks the object if it is numeric - - TypeCode for the object - Accept fractional types as numeric type. - - - - - Checks input string if it needs JSON escaping, and makes necessary conversion - - Destination Builder - Input string - all options - JSON escaped string - - - - Checks input string if it needs JSON escaping, and makes necessary conversion - - Destination Builder - Input string - Should non-ASCII characters be encoded - - JSON escaped string - - - - Writes log message to the Event Log. - - - See NLog Wiki - - Documentation on NLog Wiki - -

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

    - -

    - To set up the log target programmatically use code like this: -

    - -
    -
    - - - Max size in characters (limitation of the EventLog API). - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Name of the target. - - - - Initializes a new instance of the class. - - - - - 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 entry type. When not set, or when not convertible to then determined by - - - - - - Gets or sets the value to be used as the event Source. - - - By default this is the friendly name of the current AppDomain. - - - - - - Gets or sets the name of the Event Log to write to. This can be System, Application or any user-defined name. - - - - - - Gets or sets the message length limit to write to the Event Log. - - MaxMessageLength cannot be zero or negative - - - - - Gets or sets the maximum Event log size in kilobytes. - - - MaxKilobytes cannot be less than 64 or greater than 4194240 or not a multiple of 64. - If null, the value will not be specified while creating the Event log. - - - - - - Gets or sets the action to take if the message is larger than the option. - - - - - - Performs installation which requires administrative permissions. - - The installation context. - - - - Performs uninstallation which requires administrative permissions. - - The installation context. - - - - Determines whether the item is installed. - - The installation context. - - Value indicating whether the item is installed or null if it is not possible to determine. - - - - - - - - - - - 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 - - - - (re-)create an event source, if it isn't there. Works only with fixed source names. - - The source name. If source is not fixed (see , then pass null or . - always throw an Exception when there is an error - - - - A wrapper for Windows event log. - - - - - A wrapper for the property . - - - - - A wrapper for the property . - - - - - A wrapper for the property . - - - - - A wrapper for the property . - - - - - Indicates whether an event log instance is associated. - - - - - A wrapper for the method . - - - - - Creates a new association with an instance of the event log. - - - - - A wrapper for the static method . - - - - - A wrapper for the static method . - - - - - A wrapper for the static method . - - - - - A wrapper for the static method . - - - - - The implementation of , that uses Windows . - - - - - Creates a new association with an instance of Windows . - - - - - Action that should be taken if the message is greater than - the max message size allowed by the Event Log. - - - - - Truncate the message before writing to the Event Log. - - - - - Split the message and write multiple entries to the Event Log. - - - - - Discard of the message. It will not be written to the Event Log. - - - - - Check if cleanup should be performed on initialize new file - - Skip cleanup when initializing new file, just after having performed archive operation - - Base archive file pattern - Maximum number of archive files that should be kept - Maximum days of archive files that should be kept - True, when archive cleanup is needed - - - - Characters determining the start of the . - - - - - Characters determining the end of the . - - - - - File name which is used as template for matching and replacements. - It is expected to contain a pattern to match. - - - - - The beginning position of the - within the . -1 is returned - when no pattern can be found. - - - - - The ending position of the - within the . -1 is returned - when no pattern can be found. - - - - - Replace the pattern with the specified String. - - - - - - - Archives the log-files using a date style numbering. Archives will be stamped with the - prior period (Year, Month, Day, Hour, Minute) datetime. - - When the number of archive files exceed the obsolete archives are deleted. - When the age of archive files exceed the obsolete archives are deleted. - - - - - Archives the log-files using a date and sequence style numbering. Archives will be stamped - with the prior period (Year, Month, Day) datetime. The most recent archive has the highest number (in - combination with the date). - - When the number of archive files exceed the obsolete archives are deleted. - When the age of archive files exceed the obsolete archives are deleted. - - - - - Parse filename with date and sequence pattern - - - dateformat for archive - - the found pattern. When failed, then default - the found pattern. When failed, then default - - - - - Archives the log-files using the provided base-archive-filename. If the base-archive-filename causes - duplicate archive filenames, then sequence-style is automatically enforced. - - Example: - Base Filename trace.log - Next Filename trace.0.log - - The most recent archive has the highest number. - - When the number of archive files exceed the obsolete archives are deleted. - When the age of archive files exceed the obsolete archives are deleted. - - - - - Dynamically converts a non-template archiveFilePath into a correct archiveFilePattern. - Before called the original IFileArchiveMode, that has been wrapped by this - - - - - Determines if the file name as contains a numeric pattern i.e. {#} in it. - - Example: - trace{#}.log Contains the numeric pattern. - trace{###}.log Contains the numeric pattern. - trace{#X#}.log Contains the numeric pattern (See remarks). - trace.log Does not contain the pattern. - - Occasionally, this method can identify the existence of the {#} pattern incorrectly. - File name to be checked. - when the pattern is found; otherwise. - - - - Archives the log-files using a rolling style numbering (the most recent is always #0 then - #1, ..., #N. - - When the number of archive files exceed the obsolete archives - are deleted. - - - - - Replaces the numeric pattern i.e. {#} in a file name with the parameter value. - - File name which contains the numeric pattern. - Value which will replace the numeric pattern. - File name with the value of in the position of the numeric pattern. - - - - Archives the log-files using a sequence style numbering. The most recent archive has the highest number. - - When the number of archive files exceed the obsolete archives are deleted. - When the age of archive files exceed the obsolete archives are deleted. - - - - - Modes of archiving files based on time. - - - - - Don't archive based on time. - - - - - AddToArchive every year. - - - - - AddToArchive every month. - - - - - AddToArchive daily. - - - - - AddToArchive every hour. - - - - - AddToArchive every minute. - - - - - AddToArchive every Sunday. - - - - - AddToArchive every Monday. - - - - - AddToArchive every Tuesday. - - - - - AddToArchive every Wednesday. - - - - - AddToArchive every Thursday. - - - - - AddToArchive every Friday. - - - - - AddToArchive every Saturday. - - - - - Type of filepath - - - - - Detect of relative or absolute - - - - - Relative path - - - - - Absolute path - - Best for performance - - - - Writes log messages to one or more files. - - - See NLog Wiki - - Documentation on NLog Wiki - - - - Default clean up period of the initialized files. When a file exceeds the clean up period is removed from the list. - - Clean up period is defined in days. - - - - This value disables file archiving based on the size. - - - - - Holds the initialized files each given time by the instance. Against each file, the last write time is stored. - - Last write time is store in local time (no UTC). - - - - List of the associated file appenders with the instance. - - - - - The number of initialized files at any one time. - - - - - The maximum number of archive files that should be kept. - - - - - The maximum days of archive files that should be kept. - - - - - The filename as target - - - - - The archive file name as target - - - - - The date of the previous log event. - - - - - The file name of the previous log event. - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - Name of the target. - - - - Gets or sets the name of the file to write to. - - - This FileName string is a layout which may include instances of layout renderers. - This lets you use a single target to write to multiple files. - - - The following value makes NLog write logging events to files based on the log level in the directory where - the application runs. - ${basedir}/${level}.log - All Debug messages will go to Debug.log, all Info messages will go to Info.log and so on. - You can combine as many of the layout renderers as you want to produce an arbitrary log file name. - - - - - - Cleanup invalid values in a filename, e.g. slashes in a filename. If set to true, this can impact the performance of massive writes. - If set to false, nothing gets written when the filename is wrong. - - - - - - Is the an absolute or relative path? - - - - - - Gets or sets a value indicating whether to create directories if they do not exist. - - - Setting this to false may improve performance a bit, but you'll receive an error - when attempting to write to a directory that's not present. - - - - - - Gets or sets a value indicating whether to delete old log file on startup. - - - This option works only when the "FileName" parameter denotes a single file. - - - - - - Gets or sets a value indicating whether to replace file contents on each write instead of appending log message at the end. - - - - - - Gets or sets a value indicating whether to keep log file open instead of opening and closing it on each logging event. - - - KeepFileOpen = true gives the best performance, and ensure the file-lock is not lost to other applications.
    - KeepFileOpen = false gives the best compability, but slow performance and lead to file-locking issues with other applications. -
    - -
    - - - Gets or sets 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. Zero or negative means disabled. - - - - - - Gets or sets the maximum number of seconds before open files are flushed. Zero or negative means disabled. - - - - - - Gets or sets the log file buffer size in bytes. - - - - - - Gets or sets the file encoding. - - - - - - Gets or sets whether or not this target should just discard all data that its asked to write. - Mostly used for when testing NLog Stack except final write - - - - - - Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on the same host. - - - This makes multi-process logging possible. NLog uses a special technique - that lets it keep the files open for writing. - - - - - - Gets or sets a value indicating whether concurrent writes to the log file by multiple processes on different network hosts. - - - This effectively prevents files from being kept open. - - - - - - Gets or sets a value indicating whether to write BOM (byte order mark) in created files. - - Defaults to true for UTF-16 and UTF-32 - - - - - - Gets or sets the number of times the write is appended on the file before NLog - discards the log message. - - - - - - 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 of the file size threshold to archive old log file on startup. - - - This option won't work if is set to false - Default value is 0 which means that the file is archived as soon as archival on - startup is enabled. - - - - - - Gets or sets a value specifying the date format to use when archiving files. - - - This option works only when the "ArchiveNumbering" parameter is set either to Date or DateAndSequence. - - - - - - Gets or sets the size in bytes above which log files will be automatically archived. - - - Notice when combined with then it will attempt to append to any existing - archive file if grown above size multiple times. New archive file will be created when using - - - - - - 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. - - - - - - Is the an absolute or relative path? - - - - - - Gets or sets the name of the file to be used for an archive. - - - It may contain a special placeholder {#####} - that will be replaced with a sequence of numbers depending on - the archiving strategy. The number of hash characters used determines - the number of numerical digits to be used for numbering files. - - - - - - Gets or sets the maximum number of archive files that should be kept. - - - - - - Gets or sets the maximum days of archive files that should be kept. - - - - - - Gets or sets the way file archives are numbered. - - - - - - Used to compress log files during archiving. - This may be used to provide your own implementation of a zip file compressor, - on platforms other than .Net4.5. - Defaults to ZipArchiveFileCompressor on .Net4.5 and to null otherwise. - - - - - - Gets or sets a value indicating whether to compress archive files into the zip archive format. - - - - - - Gets or set a value indicating whether a managed file stream is forced, instead of using the native implementation. - - - - - - Gets or sets a value indicating whether file creation calls should be synchronized by a system global mutex. - - - - - - Gets or sets a value indicating whether the footer should be written only when the file is archived. - - - - - - Gets the characters that are appended after each line. - - - - - Refresh the ArchiveFilePatternToWatch option of the . - The log file must be watched for archiving when multiple processes are writing to the same - open file. - - - - - Removes records of initialized files that have not been - accessed in the last two days. - - - Files are marked 'initialized' for the purpose of writing footers when the logging finishes. - - - - - Removes records of initialized files that have not been - accessed after the specified date. - - The cleanup threshold. - - Files are marked 'initialized' for the purpose of writing footers when the logging finishes. - - - - - Flushes all pending file operations. - - The asynchronous continuation. - - The timeout parameter is ignored, because file APIs don't provide - the needed functionality. - - - - - Returns the suitable appender factory ( ) to be used to generate the file - appenders associated with the instance. - - The type of the file appender factory returned depends on the values of various properties. - - suitable for this instance. - - - - Initializes file logging by creating data structures that - enable efficient multi-file logging. - - - - - Closes the file(s) opened for writing. - - - - - Writes the specified logging event to a file specified in the FileName - parameter. - - The logging event. - - - - Get full filename (=absolute) and cleaned if needed. - - - - - - - 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. - - - - Gets the bytes to be written to the file. - - The log event to be formatted. - to help format log event. - Optional temporary char-array to help format log event. - Destination for the encoded result. - - - - Formats the log event for write. - - The log event to be formatted. - for the result. - - - - Modifies the specified byte array before it gets sent to a file. - - The LogEvent being written - The byte array. - - - - Archives fileName to archiveFileName. - - File name to be archived. - Name of the archive file. - - - - Gets the correct formatting to be used based on the value of for converting values which will be inserting into file - names during archiving. - - This value will be computed only when a empty value or is passed into - - Date format to used irrespectively of value. - Formatting for dates. - - - - Calculate the DateTime of the requested day of the week. - - The DateTime of the previous log event. - The next occurring day of the week to return a DateTime for. - The DateTime of the next occurring dayOfWeek. - For example: if previousLogEventTimestamp is Thursday 2017-03-02 and dayOfWeek is Sunday, this will return - Sunday 2017-03-05. If dayOfWeek is Thursday, this will return *next* Thursday 2017-03-09. - - - - Invokes the archiving process after determining when and which type of archiving is required. - - File name to be checked and archived. - Log event that the instance is currently processing. - The DateTime of the previous log event for this file. - File has just been opened. - - - - Gets the pattern that archive files will match - - Filename of the log file - Log event that the instance is currently processing. - A string with a pattern that will match the archive filenames - - - - Archives the file if it should be archived. - - The file name to check for. - Log event that the instance is currently processing. - The size in bytes of the next chunk of data to be written in the file. - The DateTime of the previous log event for this file. - File has just been opened. - True when archive operation of the file was completed (by this target or a concurrent target) - - - - Closes any active file-appenders that matches the input filenames. - File-appender is requested to invalidate/close its filehandle, but keeping its archive-mutex alive - - - - - Indicates if the automatic archiving process should be executed. - - File name to be written. - Log event that the instance is currently processing. - The size in bytes of the next chunk of data to be written in the file. - The DateTime of the previous log event for this file. - File has just been opened. - Filename to archive. If null, then nothing to archive. - - - - Returns the correct filename to archive - - - - - Gets the file name for archiving, or null if archiving should not occur based on file size. - - File name to be written. - The size in bytes of the next chunk of data to be written in the file. - File has just been opened. - Filename to archive. If null, then nothing to archive. - - - - Check if archive operation should check previous filename, because FileAppenderCache tells us current filename no longer exists - - - - - Returns the file name for archiving, or null if archiving should not occur based on date/time. - - File name to be written. - Log event that the instance is currently processing. - The DateTime of the previous log event for this file. - File has just been opened. - Filename to archive. If null, then nothing to archive. - - - - Truncates the input-time, so comparison of low resolution times (like dates) are not affected by ticks - - High resolution Time - Time Resolution Level - Truncated Low Resolution Time - - - - Evaluates which parts of a file should be written (header, content, footer) based on various properties of - instance and writes them. - - File name to be written. - Raw sequence of to be written into the content part of the file. - File has just been opened. - - - - Initialize a file to be used by the instance. Based on the number of initialized - files and the values of various instance properties clean up and/or archiving processes can be invoked. - - File name to be written. - Log event that the instance is currently processing. - The DateTime of the previous log event for this file (DateTime.MinValue if just initialized). - - - - Writes the file footer and finalizes the file in instance internal structures. - - File name to close. - Indicates if the file is being finalized for archiving. - - - - Writes the footer information to a file. - - The file path to write to. - - - - Decision logic whether to archive logfile on startup. - and properties. - - File name to be written. - Decision whether to archive or not. - - - - Invokes the archiving and clean up of older archive file based on the values of - and - properties respectively. - - File name to be written. - Log event that the instance is currently processing. - - - - Creates the file specified in and writes the file content in each entirety i.e. - Header, Content and Footer. - - The name of the file to be written. - Sequence of to be written in the content section of the file. - First attempt to write? - This method is used when the content of the log file is re-written on every write. - - - - Writes the header information and byte order mark to a file. - - File appender associated with the file. - - - - The sequence of to be written in a file after applying any formatting and any - transformations required from the . - - The layout used to render output message. - Sequence of to be written. - Usually it is used to render the header and hooter of the files. - - - - may be configured to compress archived files in a custom way - by setting before logging your first event. - - - - - Create archiveFileName by compressing fileName. - - Absolute path to the log file to compress. - Absolute path to the compressed archive file to create. - The name of the file inside the archive. - - - - Controls the text and color formatting for - - - - - Creates a TextWriter for the console to start building a colored text message - - Active console stream - Optional StringBuilder to optimize performance - TextWriter for the console - - - - Releases the TextWriter for the console after having built a colored text message (Restores console colors) - - Colored TextWriter - Active console stream - Original foreground color for console (If changed) - Original background color for console (If changed) - Flush TextWriter - - - - Changes foreground color for the Colored TextWriter - - Colored TextWriter - New foreground color for the console - Old previous backgroundColor color for the console - Old foreground color for the console - - - - Changes backgroundColor color for the Colored TextWriter - - Colored TextWriter - New backgroundColor color for the console - Old previous backgroundColor color for the console - Old backgroundColor color for the console - - - - Restores console colors back to their original state - - Colored TextWriter - Original foregroundColor color for the console - Original backgroundColor color for the console - - - - Writes multiple characters to console in one operation (faster) - - Colored TextWriter - Output Text - Start Index - End Index - - - - Writes single character to console - - Colored TextWriter - Output Text - - - - Writes whole string and completes with newline - - Colored TextWriter - Output Text - - - - Default row highlight rules for the console printer - - - - - Check if cleanup should be performed on initialize new file - - Base archive file pattern - Maximum number of archive files that should be kept - Maximum days of archive files that should be kept - True, when archive cleanup is needed - - - - Create a wildcard file-mask that allows one to find all files belonging to the same archive. - - Base archive file pattern - Wildcard file-mask - - - - Search directory for all existing files that are part of the same archive. - - Base archive file pattern - - - - - Generate the next archive filename for the archive. - - Base archive file pattern - File date of archive - Existing files in the same archive - - - - - Return all files that should be removed from the provided archive. - - Base archive file pattern - Existing files in the same archive - Maximum number of archive files that should be kept - Maximum days of archive files that should be kept - - - - may be configured to compress archived files in a custom way - by setting before logging your first event. - - - - - Create archiveFileName by compressing fileName. - - Absolute path to the log file to compress. - Absolute path to the compressed archive file to create. - - - - Options for JSON serialization - - - - - Add quotes around object keys? - - - - - Format provider for value - - - - - Format string for value - - - - - Should non-ascii characters be encoded - - - - - Should forward slashes be escaped? If true, / will be converted to \/ - - - - - Serialize enum as string value - - - - - Should dictionary keys be sanitized. All characters must either be letters, numbers or underscore character (_). - - Any other characters will be converted to underscore character (_) - - - - - How far down the rabbit hole should the Json Serializer go with object-reflection before stopping - - - - - 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. - - - - - Insert null terminator (ASCII 0) 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. - - - - - - - - - - - - Indicates whether the current object is equal to another object of the same type. - true if the current object is equal to the parameter; otherwise, false. - An object to compare with this object. - - - - Provides a type converter to convert objects to and from other representations. - - - - - - - - - - - Sends log messages by email using SMTP protocol. - - - See NLog Wiki - - Documentation on NLog Wiki - -

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

    - -

    - To set up the log target programmatically use code like this: -

    - -

    - 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:withexception=true} - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - Name of the target. - - - - Gets the mailSettings/smtp configuration from app.config in cases when we need those configuration. - E.g when UseSystemNetMailSettings is enabled and we need to read the From attribute from system.net/mailSettings/smtp - - Internal for mocking - - - - 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 infinite waiting - - - - - - - - - - - - - - Create mail and send with SMTP - - event printed in the body of the event - - - - Create buffer for body - - all events - first event for header - last event for footer - - - - - Set properties of - - last event for username/password - client to set properties on - Configure not at , as the properties could have layout renderers. - - - - Handle if it is a virtual directory. - - - - - - - Create key for grouping. Needed for multiple events in one mail message - - event for rendering layouts - string to group on - - - - Append rendered to - - append to this - event for rendering - append if not null - - - - Create the mail message with the addresses, properties and body. - - - - - Render and add the addresses to - - Addresses appended to this list - layout with addresses, ; separated - event for rendering the - added a address? - - - - Writes log messages to in memory for programmatic retrieval. - - - See NLog Wiki - - Documentation on NLog Wiki - -

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

    - -

    - To set up the log target programmatically use code like this: -

    - -
    -
    - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - Name of the target. - - - - Gets the list of logs gathered in the . - - - - - Gets or sets the max number of items to have in memory - - - - - - - - - - - - Renders the logging event message and adds to - - 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 layout that should be use to calculate the value for the parameter. - - - - - - Gets or sets the type of the parameter. Obsolete alias for - - - - - - Gets or sets the type of the parameter. - - - - - - Gets or sets the fallback value when result value is not available - - - - - - Render Result Value - - Log event for rendering - Result value when available, else fallback to defaultValue - - - - Calls the specified static method on each log message and passes contextual parameters to it. - - - See NLog Wiki - - Documentation on NLog Wiki - -

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

    - -

    - To set up the log target programmatically use code like this: -

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

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

    - -

    - To set up the log target programmatically use code like this: -

    - -

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

    - -

    - 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:withexception=true} - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - Name of the target. - - - - Gets or sets the network address. - - - The network address can be: -
      -
    • tcp://host:port - TCP (auto select IPv4/IPv6)
    • -
    • tcp4://host:port - force TCP/IPv4
    • -
    • tcp6://host:port - force TCP/IPv6
    • -
    • udp://host:port - UDP (auto select IPv4/IPv6)
    • -
    • udp4://host:port - force UDP/IPv4
    • -
    • udp6://host:port - force UDP/IPv6
    • -
    • http://host:port/pageName - HTTP using POST verb
    • -
    • https://host:port/pageName - HTTPS using POST verb
    • -
    - For SOAP-based webservice support over HTTP use WebService target. -
    - -
    - - - Gets or sets a value indicating whether to keep connection open whenever possible. - - - - - - Gets or sets a value indicating whether to append newline at the end of log message. - - - - - - Gets or sets the end of line value if a newline is appended at the end of log message . - - - - - - Gets or sets the maximum message size in bytes. On limit breach then action is activated. - - - - - - Gets or sets the maximum simultaneous connections. Requires = false - - - When having reached the maximum limit, then action will apply. - - - - - - Gets or sets the action that should be taken, when more connections than . - - - - - - Gets or sets the maximum queue size for a single connection. Requires = true - - - When having reached the maximum limit, then action will apply. - - - - - - Gets or sets the action that should be taken, when more pending messages than . - - - - - - Gets or sets the size of the connection cache (number of connections which are kept alive). Requires = true - - - - - - Gets or sets the action that should be taken if the message is larger than - - - For TCP sockets then means no-limit, as TCP sockets - performs splitting automatically. - - For UDP Network sender then means splitting the message - into smaller chunks. This can be useful on networks using DontFragment, which drops network packages - larger than MTU-size (1472 bytes). - - - - - - Gets or sets the encoding to be used. - - - - - - Gets or sets the SSL/TLS protocols. Default no SSL/TLS is used. Currently only implemented for TCP. - - - - - - The number of seconds a connection will remain idle before the first keep-alive probe is sent - - - - - - Type of compression for protocol payload. Useful for UDP where datagram max-size is 8192 bytes. - - - - - Skip compression when protocol payload is below limit to reduce overhead in cpu-usage and additional headers - - - - - Flush any pending log messages asynchronously (in case of asynchronous targets). - - The asynchronous continuation. - - - - - - - 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. - - - - Type of compression for protocol payload - - - - - No compression - - - - - GZip optimal compression - - - - - GZip fastest compression - - - - - The action to be taken when there are more connections then the max. - - - - - Allow new connections when reaching max connection limit - - - - - Just allow it. - - - - - Discard new messages when reaching max connection limit - - - - - Discard the connection item. - - - - - 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. Only relevant for UDP sockets, as TCP sockets does it automatically. - - - Udp-Network-Sender will split the message into smaller chunks that matches . - This can avoid network-package-drop when network uses DontFragment and message is larger than MTU-size (1472 bytes). - - - - - Discard the entire message. - - - - - The action to be taken when the queue overflows. - - - - - Grow the queue. - - - - - Discard the overflowing item. - - - - - Block until there's more room in the queue. - - - - - Represents a parameter to a NLogViewer target. - - - - - Initializes a new instance of the class. - - - - - Gets or sets viewer parameter name. - - - - - - Gets or sets the layout that should be use to calculate the value for the parameter. - - - - - - Gets or sets whether an attribute with empty value should be included in the output - - - - - - Sends log messages to the remote instance of NLog Viewer. - - - See NLog Wiki - - Documentation on NLog Wiki - -

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

    - -

    - 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:withexception=true} - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - Name of the target. - - - - Gets 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 whether to include log4j:NDC in output from nested context. - - - - - - Gets or sets the option to include all properties from the log events - - - - - - Gets or sets whether to include the contents of the properties-dictionary. - - - - - - Gets or sets whether to include log4j:NDC in output from nested context. - - - - - - Gets or sets the separator for operation-states-stack. - - - - - - Gets or sets the option to include all properties from the log events - - - - - - Gets or sets a value indicating whether to include dictionary contents. - - - - - - Gets or sets a value indicating whether to include contents of the stack. - - - - - - Gets or sets the stack separator for log4j:NDC in output from nested context. - - - - - - Gets or sets the stack separator for log4j:NDC in output from nested context. - - - - - - Gets or sets the renderer for log4j:event logger-xml-attribute (Default ${logger}) - - - - - - Gets the collection of parameters. Each parameter contains a mapping - between NLog layout and a named parameter. - - - - - - 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. - - - See NLog Wiki - - Documentation on NLog Wiki - -

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

    - -

    - To set up the log target programmatically use code like this: -

    - -
    -
    - - - Gets or sets a value indicating whether to perform layout calculation. - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Name of the target. - - - - Does nothing. Optionally it calculates the layout text but - discards the results. - - The logging event. - - - - SMTP authentication modes. - - - - - No authentication. - - - - - Basic - username and password. - - - - - NTLM Authentication. - - - - - Represents logging target. - - - - Are all layouts in this target thread-agnostic, if so we don't precalculate the layouts - - - - The Max StackTraceUsage of all the in this Target - - - - - Gets or sets the name of the target. - - - - - - Target supports reuse of internal buffers, and doesn't have to constantly allocate new buffers - Required for legacy NLog-targets, that expects buffers to remain stable after Write-method exit - - - - - - NLog Layout are by default threadsafe, so multiple threads can be rendering logevents at the same time. - This ensure high concurrency with no lock-congestion for the application-threads, especially when using - or AsyncTaskTarget. - - But if using custom or that are not - threadsafe, then this option can enabled to protect against thread-concurrency-issues. Allowing one - to update to NLog 5.0 without having to fix custom/external layout-dependencies. - - - - - - Gets the object which can be used to synchronize asynchronous operations that must rely on the . - - - - - 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. - This method won't prerender if all layouts in this target are thread-agnostic. - - - The log event. - - - - - - - - Writes the log to the target. - - Log event to write. - - - - Writes the array of log events. - - The log events. - - - - Writes the array of log events. - - The log events. - - - - LogEvent is written to target, but target failed to successfully initialize - - - - - 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 before writing starts - - - - - Closes the target to release any initialized resources - - - - - Flush any pending log messages - - The asynchronous continuation parameter must be called on flush completed - The asynchronous continuation to be called on flush completed. - - - - Writes logging event to the target destination - - Logging event to be written out. - - - - Writes async log event to the log target. - - Async Log event to be written out. - - - - Writes a log event to the log target, in a thread safe manner. - Any override of this method has to provide their own synchronization mechanism. - - !WARNING! Custom targets should only override this method if able to provide their - own synchronization mechanism. -objects are not guaranteed to be - thread-safe, so using them without a SyncRoot-object can be dangerous. - - 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. - - - - Writes an array of logging events to the log target, in a thread safe manner. - Any override of this method has to provide their own synchronization mechanism. - - !WARNING! Custom targets should only override this method if able to provide their - own synchronization mechanism. -objects are not guaranteed to be - thread-safe, so using them without a SyncRoot-object can be dangerous. - - Logging events to be written out. - - - - Merges (copies) the event context properties from any event info object stored in - parameters of the given event info object. - - The event info object to perform the merge to. - - - - Renders the logevent into a string-result using the provided layout - - The layout. - The logevent info. - String representing log event. - - - - Renders the logevent into a result-value by using the provided layout - - - The layout. - The logevent info. - Fallback value when no value available - Result value when available, else fallback to defaultValue - - - - Resolve from DI - - Avoid calling this while handling a LogEvent, since random deadlocks can occur. - - - - Should the exception be rethrown? - - Upgrade to private protected when using C# 7.2 - - - - - Register a custom Target. - - Short-cut for registering to default - Type of the Target. - The target type-alias for use in NLog configuration - - - - Register a custom Target. - - Short-cut for registering to default - Type of the Target. - The target type-alias for use in NLog configuration - - - - Marks class as logging target and attaches a type-alias name for use in NLog configuration. - - - - - Initializes a new instance of the class. - - The target type-alias for use in NLog configuration. - - - - Gets or sets a value indicating whether to the target is a wrapper target (used to generate the target summary documentation page). - - - - - Gets or sets a value indicating whether to the target is a compound target (used to generate the target summary documentation page). - - - - - Attribute details for - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The name of the attribute. - The layout of the attribute's value. - - - - Gets or sets the name of the attribute. - - - - - - Gets or sets the layout that will be rendered as the attribute's value. - - - - - - Gets or sets the type of the property. - - - - - - Gets or sets the fallback value when result value is not available - - - - - - Gets or sets when an empty value should cause the property to be included - - - - - - Render Result Value - - Log event for rendering - Result value when available, else fallback to defaultValue - - - - Represents target that supports context capture of Properties + Nested-states - - - See NLog Wiki - - - [Target("MyFirst")] - public sealed class MyFirstTarget : TargetWithContext - { - public MyFirstTarget() - { - this.Host = "localhost"; - } - - [RequiredParameter] - public Layout Host { get; set; } - - protected override void Write(LogEventInfo logEvent) - { - string logMessage = this.RenderLogEvent(this.Layout, logEvent); - string hostName = this.RenderLogEvent(this.Host, logEvent); - return SendTheMessageToRemoteHost(hostName, logMessage); - } - - private void SendTheMessageToRemoteHost(string hostName, string message) - { - // To be implemented - } - } - - Documentation on NLog Wiki - - - - - - - - Gets or sets the option to include all properties from the log events - - - - - - Gets or sets whether to include the contents of the properties-dictionary. - - - - - - Gets or sets whether to include the contents of the nested-state-stack. - - - - - - - - - - - - - - - - - - - - - - Gets or sets a value indicating whether to include contents of the dictionary - - - - - - Gets or sets a value indicating whether to include call site (class and method name) in the - - - - - - Gets or sets a value indicating whether to include source info (file name and line number) in the - - - - - - Gets the array of custom attributes to be passed into the logevent context - - - - - - List of property names to exclude when is true - - - - - - Constructor - - - - - Check if logevent has properties (or context properties) - - - True if properties should be included - - - - Checks if any context properties, and if any returns them as a single dictionary - - - Dictionary with any context properties for the logEvent (Null if none found) - - - - Checks if any context properties, and if any returns them as a single dictionary - - - Optional prefilled dictionary - Dictionary with any context properties for the logEvent (Null if none found) - - - - Creates combined dictionary of all configured properties for logEvent - - - Dictionary with all collected properties for logEvent - - - - Creates combined dictionary of all configured properties for logEvent - - - Optional prefilled dictionary - Dictionary with all collected properties for logEvent - - - - Generates a new unique name, when duplicate names are detected - - LogEvent that triggered the duplicate name - Duplicate item name - Item Value - Dictionary of context values - New (unique) value (or null to skip value). If the same value is used then the item will be overwritten - - - - Returns the captured snapshot of for the - - - Dictionary with MDC context if any, else null - - - - Returns the captured snapshot of dictionary for the - - - Dictionary with ScopeContext properties if any, else null - - - - Returns the captured snapshot of for the - - - Dictionary with MDLC context if any, else null - - - - Returns the captured snapshot of for the - - - Collection with NDC context if any, else null - - - - Returns the captured snapshot of nested states from for the - - - Collection of nested state objects if any, else null - - - - Returns the captured snapshot of for the - - - Collection with NDLC context if any, else null - - - - Takes snapshot of for the - - - Optional pre-allocated dictionary for the snapshot - Dictionary with GDC context if any, else null - - - - Takes snapshot of for the - - - Optional pre-allocated dictionary for the snapshot - Dictionary with MDC context if any, else null - - - - Take snapshot of a single object value from - - Log event - MDC key - MDC value - Snapshot of MDC value - Include object value in snapshot - - - - Takes snapshot of for the - - - Optional pre-allocated dictionary for the snapshot - Dictionary with MDLC context if any, else null - - - - Takes snapshot of dictionary for the - - - Optional pre-allocated dictionary for the snapshot - Dictionary with ScopeContext properties if any, else null - - - - Take snapshot of a single object value from - - Log event - MDLC key - MDLC value - Snapshot of MDLC value - Include object value in snapshot - - - - Take snapshot of a single object value from dictionary - - Log event - ScopeContext Dictionary key - ScopeContext Dictionary value - Snapshot of ScopeContext property-value - Include object value in snapshot - - - - Takes snapshot of for the - - - Collection with NDC context if any, else null - - - - Take snapshot of a single object value from - - Log event - NDC value - Snapshot of NDC value - Include object value in snapshot - - - - Takes snapshot of for the - - - Collection with NDLC context if any, else null - - - - Takes snapshot of nested states from for the - - - Collection with stack items if any, else null - - - - Take snapshot of a single object value from - - Log event - NDLC value - Snapshot of NDLC value - Include object value in snapshot - - - - Take snapshot of a single object value from nested states - - Log event - nested state value - Snapshot of stack item value - Include object value in snapshot - - - - Take snapshot of a single object value - - Log event - Key Name (null when NDC / NDLC) - Object Value - Snapshot of value - Include object value in snapshot - - - Internal Layout that allows capture of properties-dictionary - - - Internal Layout that allows capture of nested-states-stack - - - - Represents target that supports string formatting using layouts. - - - See NLog Wiki - - Documentation on NLog Wiki - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - - - - Gets or sets the layout used to format log messages. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - - - - - 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:withexception=true} - - - - - Gets or sets the text to be rendered. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - - - - - Gets or sets the footer. - - - - - - Gets or sets the header. - - - - - - Gets or sets the layout with header and footer. - - The layout with header and footer. - - - - Sends log messages through System.Diagnostics.Trace. - - - See NLog Wiki - - Documentation on NLog Wiki - -

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

    - -

    - To set up the log target programmatically use code like this: -

    - -
    -
    - - - Force use independent of - - - - - - Forward to (Instead of ) - - - Trace.Fail can have special side-effects, and give fatal exceptions, message dialogs or Environment.FailFast - - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - - - - Initializes a new instance of the class. - - - The default value of the layout is: ${longdate}|${level:uppercase=true}|${logger}|${message:withexception=true} - - Name of the target. - - - - - - - - - - Writes the specified logging event to the facility. - - Redirects the log message depending on and . - When is false: - - writes to - - writes to - - writes to - - writes to - - writes to - - writes to - - The logging event. - - - - Web service protocol. - - - - - Use SOAP 1.1 Protocol. - - - - - Use SOAP 1.2 Protocol. - - - - - Use HTTP POST Protocol. - - - - - Use HTTP GET Protocol. - - - - - Do an HTTP POST of a JSON document. - - - - - Do an HTTP POST of an XML document. - - - - - Web Service Proxy Configuration Type - - - - - Default proxy configuration from app.config (System.Net.WebRequest.DefaultWebProxy) - - - Example of how to configure default proxy using app.config - - <system.net> - <defaultProxy enabled = "true" useDefaultCredentials = "true" > - <proxy usesystemdefault = "True" /> - </defaultProxy> - </system.net> - - - - - - Automatic use of proxy with authentication (cached) - - - - - Disables use of proxy (fast) - - - - - Custom proxy address (cached) - - - - - Calls the specified web service on each log message. - - - See NLog Wiki - - Documentation on NLog Wiki - - The web service must implement a method that accepts a number of string parameters. - - -

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

    - -

    - To set up the log target programmatically use code like this: -

    - -

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

    - -
    -
    - - - dictionary that maps a concrete implementation - to a specific -value. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Name of the target - - - - Gets or sets the web service URL. - - - - - - Gets or sets the value of the User-agent HTTP header. - - - - - - Gets or sets the Web service method name. Only used with Soap. - - - - - - Gets or sets the Web service namespace. Only used with Soap. - - - - - - Gets or sets the protocol to be used when calling web service. - - - - - - Gets or sets the proxy configuration when calling web service - - - Changing ProxyType on Net5 (or newer) will turn off Http-connection-pooling - - - - - - Gets or sets the custom proxy address, include port separated by a colon - - - - - - Should we include the BOM (Byte-order-mark) for UTF? Influences the property. - - This will only work for UTF-8. - - - - - - Gets or sets the encoding. - - - - - - Gets or sets a value whether escaping be done according to Rfc3986 (Supports Internationalized Resource Identifiers - IRIs) - - A value of true if Rfc3986; otherwise, false for legacy Rfc2396. - - - - - Gets or sets a value whether escaping be done according to the old NLog style (Very non-standard) - - A value of true if legacy encoding; otherwise, false for standard UTF8 encoding. - - - - - Gets or sets the name of the root XML element, - if POST of XML document chosen. - If so, this property must not be null. - (see and ). - - - - - - Gets or sets the (optional) root namespace of the XML document, - if POST of XML document chosen. - (see and ). - - - - - - Gets the array of parameters to be passed. - - - - - - Indicates whether to pre-authenticate the HttpWebRequest (Requires 'Authorization' in parameters) - - - - - - Calls the target method. Must be implemented in concrete classes. - - Method call parameters. - - - - Calls the target DoInvoke method, and handles AsyncContinuation callback - - Method call parameters. - The continuation. - - - - Invokes the web service method. - - Parameters to be passed. - The logging event. - - - - - - - - - - Builds the URL to use when calling the web service for a message, depending on the WebServiceProtocol. - - - - - Write from input to output. Fix the UTF-8 bom - - - - - base class for POST formatters, that - implement former PrepareRequest() method, - that creates the content for - the requested kind of HTTP request - - - - - Win32 file attributes. - - - For more information see https://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/createfile.asp. - - - - - Read-only file. - - - - - Hidden file. - - - - - System file. - - - - - File should be archived. - - - - - Device file. - - - - - Normal file. - - - - - File is temporary (should be kept in cache and not - written to disk if possible). - - - - - Sparse file. - - - - - Reparse point. - - - - - Compress file contents. - - - - - File should not be indexed by the content indexing service. - - - - - Encrypted file. - - - - - The system writes through any intermediate cache and goes directly to disk. - - - - - The system opens a file with no system caching. - - - - - Delete file after it is closed. - - - - - A file is accessed according to POSIX rules. - - - - - Asynchronous request queue. - - - - - Initializes a new instance of the AsyncRequestQueue class. - - Request limit. - The overflow action. - - - - Gets the number of requests currently in the queue. - - - - - Enqueues another item. If the queue is overflown the appropriate - action is taken as specified by . - - The log event info. - Queue was empty before enqueue - - - - Dequeues a maximum of count items from the queue - and adds returns the list containing them. - - Maximum number of items to be dequeued - The array of log events. - - - - Dequeues into a preallocated array, instead of allocating a new one - - Maximum number of items to be dequeued - Preallocated list - - - - Clears the queue. - - - - - 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. - - - - - Notifies about log event that was dropped when set to - - - - - Notifies when queue size is growing over - - - - - Raise event when queued element was dropped because of queue overflow - - Dropped queue item - - - - Raise event when RequestCount overflow - - current requests count - - - - Provides asynchronous, buffered execution of target writes. - - - See NLog Wiki - - Documentation on NLog Wiki - -

    - Asynchronous target wrapper allows the logger code to execute more quickly, by queuing - messages and processing them in a separate thread. You should wrap targets - that spend a non-trivial amount of time in their Write() method with asynchronous - target to speed up logging. -

    -

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

    - -

    - 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. - - Name of the target. - The wrapped target. - - - - Initializes a new instance of the class. - - The wrapped target. - - - - Initializes a new instance of the class. - - The wrapped target. - Maximum number of requests in the queue. - The action to be taken when the queue overflows. - - - - Gets or sets the number of log events that should be processed in a batch - by the lazy writer thread. - - - - - - Gets or sets the time in milliseconds to sleep between batches. (1 or less means trigger on new activity) - - - - - - Raise event when Target cannot store LogEvent. - Event arg contains lost LogEvents - - - - - Raises when event queue grow. - Queue can grow when was set to - - - - - Gets or sets the action to be taken when the lazy writer thread request queue count - exceeds the set limit. - - - - - - Gets or sets the limit on the number of requests in the lazy writer thread request queue. - - - - - - Gets or sets the number of batches of to write before yielding into - - - Performance is better when writing many small batches, than writing a single large batch - - - - - - Gets or sets whether to use the locking queue, instead of a lock-free concurrent queue - - - The locking queue is less concurrent when many logger threads, but reduces memory allocation - - - - - - Gets the queue of lazy writer thread requests. - - - - - Schedules a flush of pending events in the queue (if any), followed by flushing the WrappedTarget. - - The asynchronous continuation. - - - - Initializes the target by starting the lazy writer timer. - - - - - Shuts down the lazy writer timer. - - - - - Starts the lazy writer thread which periodically writes - queued log messages. - - - - - Attempts to start an instant timer-worker-thread which can write - queued log messages. - - Returns true when scheduled a timer-worker-thread - - - - Stops the lazy writer thread. - - - - - Adds the log event to asynchronous queue to be processed by - the lazy writer thread. - - The log event. - - The is called - to ensure that the log event can be processed in another thread. - - - - - Write to queue without locking - - - - - - The action to be taken when the queue overflows. - - - - - Grow the queue. - - - - - Discard the overflowing item. - - - - - Block until there's more room in the queue. - - - - - Causes a flush on a wrapped target if LogEvent satisfies the . - If condition isn't set, flushes on each write. - - - See NLog Wiki - - Documentation on NLog Wiki - -

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

    - -

    - To set up the log target programmatically use code like this: -

    - -
    -
    - - - Gets or sets the condition expression. Log events who meet this condition will cause - a flush on the wrapped target. - - - - - - Delay the flush until the LogEvent has been confirmed as written - - If not explicitly set, then disabled by default for and AsyncTaskTarget - - - - - - Only flush when LogEvent matches condition. Ignore explicit-flush, config-reload-flush and shutdown-flush - - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The wrapped target. - Name of the target - - - - Initializes a new instance of the class. - - The wrapped target. - - - - - - - Forwards the call to the .Write() - and calls on it if LogEvent satisfies - the flush condition or condition is null. - - Logging event to be written out. - - - - Schedules a flush operation, that triggers when all pending flush operations are completed (in case of asynchronous targets). - - The asynchronous continuation. - - - - - - - A target that buffers log events and sends them in batches to the wrapped target. - - - See NLog Wiki - - Documentation on NLog Wiki - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Name of the target. - The wrapped target. - - - - Initializes a new instance of the class. - - The wrapped target. - - - - Initializes a new instance of the class. - - The wrapped target. - Size of the buffer. - - - - Initializes a new instance of the class. - - The wrapped target. - Size of the buffer. - The flush timeout. - - - - Initializes a new instance of the class. - - The wrapped target. - Size of the buffer. - The flush timeout. - The action to take when the buffer overflows. - - - - Gets or sets the number of log events to be buffered. - - - - - - Gets or sets the timeout (in milliseconds) after which the contents of buffer will be flushed - if there's no write in the specified period of time. Use -1 to disable timed flushes. - - - - - - Gets or sets a value indicating whether to use sliding timeout. - - - This value determines how the inactivity period is determined. If sliding timeout is enabled, - the inactivity timer is reset after each write, if it is disabled - inactivity timer will - count from the first event written to the buffer. - - - - - - Gets or sets the action to take if the buffer overflows. - - - Setting to will replace the - oldest event with new events without sending events down to the wrapped target, and - setting to will flush the - entire buffer to the wrapped target. - - - - - - Flushes pending events in the buffer (if any), followed by flushing the WrappedTarget. - - The asynchronous continuation. - - - - - - - Closes the target by flushing pending events in the buffer (if any). - - - - - Adds the specified log event to the buffer and flushes - the buffer in case the buffer gets full. - - The log event. - - - - The action to be taken when the buffer overflows. - - - - - Flush the content of the buffer. - - - - - Discard the oldest item. - - - - - A base class for targets which wrap other (multiple) targets - and provide various forms of target routing. - - - - - Initializes a new instance of the class. - - The targets. - - - - Gets the collection of targets managed by this compound target. - - - - - - - - - - - Flush any pending log messages for all wrapped targets. - - The asynchronous continuation. - - - - Concurrent Asynchronous request queue based on - - - - - Initializes a new instance of the AsyncRequestQueue class. - - Request limit. - The overflow action. - - - - Gets the number of requests currently in the queue. - - - Only for debugging purposes - - - - - Enqueues another item. If the queue is overflown the appropriate - action is taken as specified by . - - The log event info. - Queue was empty before enqueue - - - - Dequeues a maximum of count items from the queue - and adds returns the list containing them. - - Maximum number of items to be dequeued - The array of log events. - - - - Dequeues into a preallocated array, instead of allocating a new one - - Maximum number of items to be dequeued - Preallocated list - - - - Clears the queue. - - - - - Provides fallback-on-error. - - - See NLog Wiki - - Documentation on NLog Wiki - -

    This example causes the messages to be written to server1, - and if it fails, messages go to server2.

    -

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

    - -

    - 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. - - Name of the target. - The targets. - - - - Initializes a new instance of the class. - - The targets. - - - - Gets or sets a value indicating whether to return to the first target after any successful write. - - - - - - Gets or sets whether to enable batching, but fallback will be handled individually - - - - - - Forwards the log event to the sub-targets until one of them succeeds. - - The log event. - - - - - - - Forwards the log event to the sub-targets until one of them succeeds. - - - - - 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. - - - See NLog Wiki - - Documentation on NLog Wiki - -

    This example causes the messages not contains the string '1' to be ignored.

    -

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

    - -

    - 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. - - Name of the target. - The wrapped target. - The condition. - - - - Initializes a new instance of the class. - - The wrapped target. - The condition. - - - - Gets or sets the condition expression. Log events who meet this condition will be forwarded - to the wrapped target. - - - - - - Gets or sets the filter. Log events who evaluates to will be discarded - - - - - - Checks the condition against the passed log event. - If the condition is met, the log event is forwarded to - the wrapped target. - - Log event. - - - - - - - A target that buffers log events and sends them in batches to the wrapped target. - - - See NLog Wiki - - Documentation on NLog Wiki - - - - Identifier to perform group-by - - - - - 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 name of the target. - The wrapped target. - - - - Initializes a new instance of the class. - - The name of the target. - The wrapped target. - Group by identifier. - - - - - - - - - - Limits the number of messages written per timespan to the wrapped target. - - - See NLog Wiki - - Documentation on NLog Wiki - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The name of the target. - The wrapped target. - - - - Initializes a new instance of the class. - - The wrapped target. - - - - Initializes a new instance of the class. - - The wrapped target. - Maximum number of messages written per interval. - Interval in which the maximum number of messages can be written. - - - - Gets or sets the maximum allowed number of messages written per . - - - Messages received after has been reached in the current will be discarded. - - - - - - Gets or sets the interval in which messages will be written up to the number of messages. - - - Messages received after has been reached in the current will be discarded. - - - - - - Gets the number of written in the current . - - - - - - Initializes the target and resets the current Interval and . - - - - - Writes log event to the wrapped target if the current is lower than . - If the is already reached, no log event will be written to the wrapped target. - resets when the current is expired. - - Log event to be written out. - - - - Arguments for events. - - - - - Initializes a new instance of the class. - - LogEvent that have been dropped - - - - Instance of that was dropped by - - - - - Raises by when - queue is full - and set to - By default queue doubles it size. - - - - - Initializes a new instance of the class. - - Required queue size - Current queue size - - - - New queue size - - - - - Current requests count - - - - - Filters buffered log entries based on a set of conditions that are evaluated on a group of events. - - - See NLog Wiki - - Documentation on NLog Wiki - - PostFilteringWrapper must be used with some type of buffering target or wrapper, such as - 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: -

    - -

    - To set up the log target programmatically use code like this: -

    - -
    -
    - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Name of the target. - The wrapped target. - - - - Gets or sets the default filter to be applied when no specific rule matches. - - - - - - Gets the collection of filtering rules. The rules are processed top-down - and the first rule that matches determines the filtering condition to - be applied to log events. - - - - - - - - - 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. - - - - Evaluate all the rules to get the filtering condition - - - - - - - Sends log messages to a randomly selected target. - - - See NLog Wiki - - Documentation on NLog Wiki - -

    This example causes the messages to be written to either file1.txt or file2.txt - chosen randomly on a per-message basis. -

    -

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

    - -

    - 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. - - Name of the target. - The targets. - - - - Initializes a new instance of the class. - - The targets. - - - - Forwards the log event to one of the sub-targets. - The sub-target is randomly chosen. - - The log event. - - - - Repeats each log event the specified number of times. - - - See NLog Wiki - - Documentation on NLog Wiki - -

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

    -

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

    - -

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

    This example causes each write attempt to be repeated 3 times, - sleeping 1 second between attempts if first one fails.

    -

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

    - -

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

    This example causes the messages to be written to either file1.txt or file2.txt. - Each odd message is written to file2.txt, each even message goes to file1.txt. -

    -

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

    - -

    - 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. - - Name of the target. - The targets. - - - - Initializes a new instance of the class. - - The targets. - - - - Ensures forwarding happens without holding lock - - - - - - Forwards the write to one of the targets from - the collection. - - The log event. - - The writes are routed in a round-robin fashion. - The first log event goes to the first target, the second - one goes to the second target and so on looping to the - first target when there are no more targets available. - In general request N goes to Targets[N % Targets.Count]. - - - - - Writes log events to all targets. - - - See NLog Wiki - - Documentation on NLog Wiki - -

    This example causes the messages to be written to both file1.txt or file2.txt -

    -

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

    - -

    - 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. - - Name of the target. - The targets. - - - - Initializes a new instance of the class. - - The targets. - - - - Forwards the specified log event to all sub-targets. - - The log event. - - - - 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. - - - - - - - - - - - - Writes logging event to the log target. Must be overridden in inheriting - classes. - - Logging event to be written out. - - - - Builtin IFileCompressor implementation utilizing the .Net4.5 specific - and is used as the default value for on .Net4.5. - So log files created via can be zipped when archived - w/o 3rd party zip library when run on .Net4.5 or higher. - - - - - Implements using the .Net4.5 specific - - - - - Current local time retrieved directly from DateTime.Now. - - - - - Gets current local time directly from DateTime.Now. - - - - - Converts the specified system time to the same form as the time value originated from this time source. - - The system originated time value to convert. - - The value of converted to local time. - - - - - Current UTC time retrieved directly from DateTime.UtcNow. - - - - - Gets current UTC time directly from DateTime.UtcNow. - - - - - Converts the specified system time to the same form as the time value originated from this time source. - - The system originated time value to convert. - - The value of converted to UTC time. - - - - - Fast time source that updates current time only once per tick (15.6 milliseconds). - - - - - Gets raw uncached time from derived time source. - - - - - Gets current time cached for one system tick (15.6 milliseconds). - - - - - Fast local time source that is updated once per tick (15.6 milliseconds). - - - - - Gets uncached local time directly from DateTime.Now. - - - - - Converts the specified system time to the same form as the time value originated from this time source. - - The system originated time value to convert. - - The value of converted to local time. - - - - - Fast UTC time source that is updated once per tick (15.6 milliseconds). - - - - - Gets uncached UTC time directly from DateTime.UtcNow. - - - - - Converts the specified system time to the same form as the time value originated from this time source. - - The system originated time value to convert. - - The value of converted to UTC time. - - - - - Defines source of current time. - - - - - Gets current time. - - - - - Gets or sets current global time source used in all log events. - - - Default time source is . - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Converts the specified system time to the same form as the time value originated from this time source. - - The system originated time value to convert. - - The value of converted to the same form - as time values originated from this source. - - - - There are situations when NLog have to compare the time originated from TimeSource - to the time originated externally in the system. - To be able to provide meaningful result of such comparisons the system time must be expressed in - the same form as TimeSource time. - - - Examples: - - If the TimeSource provides time values of local time, it should also convert the provided - to the local time. - - If the TimeSource shifts or skews its time values, it should also apply - the same transform to the given . - - - - - - Marks class as a time source and assigns a name to it. - - - - - Initializes a new instance of the class. - - The Time type-alias for use in NLog configuration. - - - - Indicates that the value of the marked element could be null sometimes, - so checking for null is required before its usage. - - - [CanBeNull] object Test() => null; - - void UseTest() { - var p = Test(); - var s = p.ToString(); // Warning: Possible 'System.NullReferenceException' - } - - - - - Indicates that the value of the marked element can never be null. - - - [NotNull] object Foo() { - return null; // Warning: Possible 'null' assignment - } - - - - - Can be applied to symbols of types derived from IEnumerable as well as to symbols of Task - and Lazy classes to indicate that the value of a collection item, of the Task.Result property - or of the Lazy.Value property can never be null. - - - public void Foo([ItemNotNull]List<string> books) - { - foreach (var book in books) { - if (book != null) // Warning: Expression is always true - Console.WriteLine(book.ToUpper()); - } - } - - - - - Can be applied to symbols of types derived from IEnumerable as well as to symbols of Task - and Lazy classes to indicate that the value of a collection item, of the Task.Result property - or of the Lazy.Value property can be null. - - - public void Foo([ItemCanBeNull]List<string> books) - { - foreach (var book in books) - { - // Warning: Possible 'System.NullReferenceException' - Console.WriteLine(book.ToUpper()); - } - } - - - - - Indicates that the marked method builds string by the format pattern and (optional) arguments. - The parameter, which contains the format string, should be given in the constructor. The format string - should be in -like form. - - - [StringFormatMethod("message")] - void ShowError(string message, params object[] args) { /* do something */ } - - void Foo() { - ShowError("Failed: {0}"); // Warning: Non-existing argument in format string - } - - - - - Specifies which parameter of an annotated method should be treated as the format string - - - - - Indicates that the marked parameter is a message template where placeholders are to be replaced by the following arguments - in the order in which they appear - - - void LogInfo([StructuredMessageTemplate]string message, params object[] args) { /* do something */ } - - void Foo() { - LogInfo("User created: {username}"); // Warning: Non-existing argument in format string - } - - - - - Use this annotation to specify a type that contains static or const fields - with values for the annotated property/field/parameter. - The specified type will be used to improve completion suggestions. - - - namespace TestNamespace - { - public class Constants - { - public static int INT_CONST = 1; - public const string STRING_CONST = "1"; - } - - public class Class1 - { - [ValueProvider("TestNamespace.Constants")] public int myField; - public void Foo([ValueProvider("TestNamespace.Constants")] string str) { } - - public void Test() - { - Foo(/*try completion here*/);// - myField = /*try completion here*/ - } - } - } - - - - - Indicates that the integral value falls into the specified interval. - It's allowed to specify multiple non-intersecting intervals. - Values of interval boundaries are inclusive. - - - void Foo([ValueRange(0, 100)] int value) { - if (value == -1) { // Warning: Expression is always 'false' - ... - } - } - - - - - Indicates that the integral value never falls below zero. - - - void Foo([NonNegativeValue] int value) { - if (value == -1) { // Warning: Expression is always 'false' - ... - } - } - - - - - Indicates that the function argument should be a string literal and match - one of the parameters of the caller function. This annotation is used for parameters - like 'string paramName' parameter of the constructor. - - - void Foo(string param) { - if (param == null) - throw new ArgumentNullException("par"); // Warning: Cannot resolve symbol - } - - - - - Indicates that the method is contained in a type that implements - System.ComponentModel.INotifyPropertyChanged interface and this method - is used to notify that some property value changed. - - - The method should be non-static and conform to one of the supported signatures: - - NotifyChanged(string) - NotifyChanged(params string[]) - NotifyChanged{T}(Expression{Func{T}}) - NotifyChanged{T,U}(Expression{Func{T,U}}) - SetProperty{T}(ref T, T, string) - - - - public class Foo : INotifyPropertyChanged { - public event PropertyChangedEventHandler PropertyChanged; - - [NotifyPropertyChangedInvocator] - protected virtual void NotifyChanged(string propertyName) { ... } - - string _name; - - public string Name { - get { return _name; } - set { _name = value; NotifyChanged("LastName"); /* Warning */ } - } - } - - Examples of generated notifications: - - NotifyChanged("Property") - NotifyChanged(() => Property) - NotifyChanged((VM x) => x.Property) - SetProperty(ref myField, value, "Property") - - - - - - Describes dependency between method input and output. - - -

    Function Definition Table syntax:

    - - FDT ::= FDTRow [;FDTRow]* - FDTRow ::= Input => Output | Output <= Input - Input ::= ParameterName: Value [, Input]* - Output ::= [ParameterName: Value]* {halt|stop|void|nothing|Value} - Value ::= true | false | null | notnull | canbenull - - If the method has a single input parameter, its name could be omitted.
    - Using halt (or void/nothing, which is the same) for the method output - means that the method doesn't return normally (throws or terminates the process).
    - Value canbenull is only applicable for output parameters.
    - You can use multiple [ContractAnnotation] for each FDT row, or use single attribute - with rows separated by the semicolon. There is no notion of order rows, all rows are checked - for applicability and applied per each program state tracked by the analysis engine.
    -
    - - - [ContractAnnotation("=> halt")] - public void TerminationMethod() - - - [ContractAnnotation("null <= param:null")] // reverse condition syntax - public string GetName(string surname) - - - [ContractAnnotation("s:null => true")] - public bool IsNullOrEmpty(string s) // string.IsNullOrEmpty() - - - // A method that returns null if the parameter is null, - // and not null if the parameter is not null - [ContractAnnotation("null => null; notnull => notnull")] - public object Transform(object data) - - - [ContractAnnotation("=> true, result: notnull; => false, result: null")] - public bool TryParse(string s, out Person result) - - -
    - - - Indicates whether the marked element should be localized. - - - [LocalizationRequiredAttribute(true)] - class Foo { - string str = "my string"; // Warning: Localizable string - } - - - - - Indicates that the value of the marked type (or its derivatives) - cannot be compared using '==' or '!=' operators and Equals() - should be used instead. However, using '==' or '!=' for comparison - with null is always permitted. - - - [CannotApplyEqualityOperator] - class NoEquality { } - - class UsesNoEquality { - void Test() { - var ca1 = new NoEquality(); - var ca2 = new NoEquality(); - if (ca1 != null) { // OK - bool condition = ca1 == ca2; // Warning - } - } - } - - - - - When applied to a target attribute, specifies a requirement for any type marked - with the target attribute to implement or inherit specific type or types. - - - [BaseTypeRequired(typeof(IComponent)] // Specify requirement - class ComponentAttribute : Attribute { } - - [Component] // ComponentAttribute requires implementing IComponent interface - class MyComponent : IComponent { } - - - - - Indicates that the marked symbol is used implicitly (e.g. via reflection, in external library), - so this symbol will be ignored by usage-checking inspections.
    - You can use and - to configure how this attribute is applied. -
    - - [UsedImplicitly] - public class TypeConverter {} - - public class SummaryData - { - [UsedImplicitly(ImplicitUseKindFlags.InstantiatedWithFixedConstructorSignature)] - public SummaryData() {} - } - - [UsedImplicitly(ImplicitUseTargetFlags.WithInheritors | ImplicitUseTargetFlags.Default)] - public interface IService {} - -
    - - - Can be applied to attributes, type parameters, and parameters of a type assignable from . - When applied to an attribute, the decorated attribute behaves the same as . - When applied to a type parameter or to a parameter of type , - indicates that the corresponding type is used implicitly. - - - - - Specifies the details of implicitly used symbol when it is marked - with or . - - - - Only entity marked with attribute considered used. - - - Indicates implicit assignment to a member. - - - - Indicates implicit instantiation of a type with fixed constructor signature. - That means any unused constructor parameters won't be reported as such. - - - - Indicates implicit instantiation of a type. - - - - Specifies what is considered to be used implicitly when marked - with or . - - - - Members of the type marked with the attribute are considered used. - - - Inherited entities are considered used. - - - Entity marked with the attribute and all its members considered used. - - - - This attribute is intended to mark publicly available API, - which should not be removed and so is treated as used. - - - - - Tells the code analysis engine if the parameter is completely handled when the invoked method is on stack. - If the parameter is a delegate, indicates that delegate can only be invoked during method execution - (the delegate can be invoked zero or multiple times, but not stored to some field and invoked later, - when the containing method is no longer on the execution stack). - If the parameter is an enumerable, indicates that it is enumerated while the method is executed. - If is true, the attribute will only takes effect if the method invocation is located under the 'await' expression. - - - - - Require the method invocation to be used under the 'await' expression for this attribute to take effect on code analysis engine. - Can be used for delegate/enumerable parameters of 'async' methods. - - - - - Indicates that a method does not make any observable state changes. - The same as System.Diagnostics.Contracts.PureAttribute. - - - [Pure] int Multiply(int x, int y) => x * y; - - void M() { - Multiply(123, 42); // Warning: Return value of pure method is not used - } - - - - - Indicates that the return value of the method invocation must be used. - - - Methods decorated with this attribute (in contrast to pure methods) might change state, - but make no sense without using their return value.
    - Similarly to , this attribute - will help to detect usages of the method when the return value is not used. - Optionally, you can specify a message to use when showing warnings, e.g. - [MustUseReturnValue("Use the return value to...")]. -
    -
    - - - This annotation allows to enforce allocation-less usage patterns of delegates for performance-critical APIs. - When this annotation is applied to the parameter of delegate type, IDE checks the input argument of this parameter: - * When lambda expression or anonymous method is passed as an argument, IDE verifies that the passed closure - has no captures of the containing local variables and the compiler is able to cache the delegate instance - to avoid heap allocations. Otherwise the warning is produced. - * IDE warns when method name or local function name is passed as an argument as this always results - in heap allocation of the delegate instance. - - - In C# 9.0 code IDE would also suggest to annotate the anonymous function with 'static' modifier - to make use of the similar analysis provided by the language/compiler. - - - - - Indicates the type member or parameter of some type, that should be used instead of all other ways - to get the value of that type. This annotation is useful when you have some "context" value evaluated - and stored somewhere, meaning that all other ways to get this value must be consolidated with existing one. - - - class Foo { - [ProvidesContext] IBarService _barService = ...; - - void ProcessNode(INode node) { - DoSomething(node, node.GetGlobalServices().Bar); - // ^ Warning: use value of '_barService' field - } - } - - - - - Indicates that a parameter is a path to a file or a folder within a web project. - Path can be relative or absolute, starting from web root (~). - - - - - An extension method marked with this attribute is processed by code completion - as a 'Source Template'. When the extension method is completed over some expression, its source code - is automatically expanded like a template at call site. - - - Template method body can contain valid source code and/or special comments starting with '$'. - Text inside these comments is added as source code when the template is applied. Template parameters - can be used either as additional method parameters or as identifiers wrapped in two '$' signs. - Use the attribute to specify macros for parameters. - - - In this example, the 'forEach' method is a source template available over all values - of enumerable types, producing ordinary C# 'foreach' statement and placing caret inside block: - - [SourceTemplate] - public static void forEach<T>(this IEnumerable<T> xs) { - foreach (var x in xs) { - //$ $END$ - } - } - - - - - - Allows specifying a macro for a parameter of a source template. - - - You can apply the attribute on the whole method or on any of its additional parameters. The macro expression - is defined in the property. When applied on a method, the target - template parameter is defined in the property. To apply the macro silently - for the parameter, set the property value = -1. - - - Applying the attribute on a source template method: - - [SourceTemplate, Macro(Target = "item", Expression = "suggestVariableName()")] - public static void forEach<T>(this IEnumerable<T> collection) { - foreach (var item in collection) { - //$ $END$ - } - } - - Applying the attribute on a template method parameter: - - [SourceTemplate] - public static void something(this Entity x, [Macro(Expression = "guid()", Editable = -1)] string newguid) { - /*$ var $x$Id = "$newguid$" + x.ToString(); - x.DoSomething($x$Id); */ - } - - - - - - Allows specifying a macro that will be executed for a source template - parameter when the template is expanded. - - - - - Allows specifying which occurrence of the target parameter becomes editable when the template is deployed. - - - If the target parameter is used several times in the template, only one occurrence becomes editable; - other occurrences are changed synchronously. To specify the zero-based index of the editable occurrence, - use values >= 0. To make the parameter non-editable when the template is expanded, use -1. - - - - - Identifies the target parameter of a source template if the - is applied on a template method. - - - - - Indicates how method, constructor invocation, or property access - over collection type affects the contents of the collection. - When applied to a return value of a method indicates if the returned collection - is created exclusively for the caller (CollectionAccessType.UpdatedContent) or - can be read/updated from outside (CollectionAccessType.Read | CollectionAccessType.UpdatedContent) - Use to specify the access type. - - - Using this attribute only makes sense if all collection methods are marked with this attribute. - - - public class MyStringCollection : List<string> - { - [CollectionAccess(CollectionAccessType.Read)] - public string GetFirstString() - { - return this.ElementAt(0); - } - } - class Test - { - public void Foo() - { - // Warning: Contents of the collection is never updated - var col = new MyStringCollection(); - string x = col.GetFirstString(); - } - } - - - - - Provides a value for the to define - how the collection method invocation affects the contents of the collection. - - - - Method does not use or modify content of the collection. - - - Method only reads content of the collection but does not modify it. - - - Method can change content of the collection but does not add new elements. - - - Method can add new elements to the collection. - - - - Indicates that the marked method is assertion method, i.e. it halts the control flow if - one of the conditions is satisfied. To set the condition, mark one of the parameters with - attribute. - - - - - Indicates the condition parameter of the assertion method. The method itself should be - marked by attribute. The mandatory argument of - the attribute is the assertion type. - - - - - Specifies assertion type. If the assertion method argument satisfies the condition, - then the execution continues. Otherwise, execution is assumed to be halted. - - - - Marked parameter should be evaluated to true. - - - Marked parameter should be evaluated to false. - - - Marked parameter should be evaluated to null value. - - - Marked parameter should be evaluated to not null value. - - - - Indicates that the marked method unconditionally terminates control flow execution. - For example, it could unconditionally throw exception. - - - - - Indicates that the method is a pure LINQ method, with postponed enumeration (like Enumerable.Select, - .Where). This annotation allows inference of [InstantHandle] annotation for parameters - of delegate type by analyzing LINQ method chains. - - - - - Indicates that IEnumerable passed as a parameter is not enumerated. - Use this annotation to suppress the 'Possible multiple enumeration of IEnumerable' inspection. - - - static void ThrowIfNull<T>([NoEnumeration] T v, string n) where T : class - { - // custom check for null but no enumeration - } - - void Foo(IEnumerable<string> values) - { - ThrowIfNull(values, nameof(values)); - var x = values.ToList(); // No warnings about multiple enumeration - } - - - - - Indicates that the marked parameter, field, or property is a regular expression pattern. - - - - - Language of injected code fragment inside marked by string literal. - - - - - Indicates that the marked parameter, field, or property is accepting a string literal - containing code fragment in a language specified by the . - - - void Foo([LanguageInjection(InjectedLanguage.CSS, Prefix = "body{", Suffix = "}")] string cssProps) - { - // cssProps should only contains a list of CSS properties - } - - - - Specify a language of injected code fragment. - - - Specify a string that "precedes" injected string literal. - - - Specify a string that "follows" injected string literal. - - - - Prevents the Member Reordering feature from tossing members of the marked class. - - - The attribute must be mentioned in your member reordering patterns. - - - - diff --git a/Base/bin/Debug/net8.0-windows/DigitalData.Modules.Base.deps.json b/Base/bin/Debug/net8.0-windows/DigitalData.Modules.Base.deps.json new file mode 100644 index 00000000..a7f98226 --- /dev/null +++ b/Base/bin/Debug/net8.0-windows/DigitalData.Modules.Base.deps.json @@ -0,0 +1,136 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "DigitalData.Modules.Base/1.0.0": { + "dependencies": { + "DigitalData.Modules.Logging": "1.0.0", + "NLog": "6.0.4", + "System.Configuration.ConfigurationManager": "9.0.9", + "DigitalData.Modules.Logging.Reference": "2.0.0.0" + }, + "runtime": { + "DigitalData.Modules.Base.dll": {} + } + }, + "NLog/6.0.4": { + "runtime": { + "lib/netstandard2.1/NLog.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.4.4534" + } + } + }, + "System.Configuration.ConfigurationManager/9.0.9": { + "dependencies": { + "System.Diagnostics.EventLog": "9.0.9", + "System.Security.Cryptography.ProtectedData": "9.0.9" + }, + "runtime": { + "lib/net8.0/System.Configuration.ConfigurationManager.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "System.Diagnostics.EventLog/9.0.9": { + "runtime": { + "lib/net8.0/System.Diagnostics.EventLog.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + }, + "runtimeTargets": { + "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "9.0.0.0", + "fileVersion": "0.0.0.0" + }, + "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "System.Security.Cryptography.ProtectedData/9.0.9": { + "runtime": { + "lib/net8.0/System.Security.Cryptography.ProtectedData.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "DigitalData.Modules.Logging/1.0.0": { + "dependencies": { + "NLog": "6.0.4", + "System.Configuration.ConfigurationManager": "9.0.9" + }, + "runtime": { + "DigitalData.Modules.Logging.dll": { + "fileVersion": "0.0.0.0" + } + } + }, + "DigitalData.Modules.Logging.Reference/2.0.0.0": { + "runtime": { + "DigitalData.Modules.Logging.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.0.0.0" + } + } + } + } + }, + "libraries": { + "DigitalData.Modules.Base/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "NLog/6.0.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Xr+lIk1ZlTTFXEqnxQVLxrDqZlt2tm5X+/AhJbaY2emb/dVtGDiU5QuEtj3gHtwV/SWlP/rJ922I/BPuOJXlRw==", + "path": "nlog/6.0.4", + "hashPath": "nlog.6.0.4.nupkg.sha512" + }, + "System.Configuration.ConfigurationManager/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Q1LknxnRmmsUXt/ElBp739Gexppy0HeDYxvExpJq09jAYhpTHRRRkZIwfNKfM4BGRlFzRDVdnerZawxoE8naMg==", + "path": "system.configuration.configurationmanager/9.0.9", + "hashPath": "system.configuration.configurationmanager.9.0.9.nupkg.sha512" + }, + "System.Diagnostics.EventLog/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wpsUfnyv8E5K4WQaok6weewvAbQhcLwXFcHBm5U0gdEaBs85N//ssuYvRPFWwz2rO/9/DFP3A1sGMzUFBj8y3w==", + "path": "system.diagnostics.eventlog/9.0.9", + "hashPath": "system.diagnostics.eventlog.9.0.9.nupkg.sha512" + }, + "System.Security.Cryptography.ProtectedData/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XN37933FTzEkqGJoOTunvnvzAv/4VO/9wQ0QwsGcrR5KyQpYT0z4Ssm+f+fpY9bea6srypFp3JjNPHHC26xzLw==", + "path": "system.security.cryptography.protecteddata/9.0.9", + "hashPath": "system.security.cryptography.protecteddata.9.0.9.nupkg.sha512" + }, + "DigitalData.Modules.Logging/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "DigitalData.Modules.Logging.Reference/2.0.0.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Base/bin/Debug/net8.0-windows/DigitalData.Modules.Base.dll b/Base/bin/Debug/net8.0-windows/DigitalData.Modules.Base.dll new file mode 100644 index 0000000000000000000000000000000000000000..cbef47e6f8e4e56536af33850c8cc7cca3c3bd2e GIT binary patch literal 100864 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 Mz51_SoTCT+55=?J!vFvP literal 0 HcmV?d00001 diff --git a/Config/Config.vbproj b/Config/Config.vbproj index 941e4f55..84034a0c 100644 --- a/Config/Config.vbproj +++ b/Config/Config.vbproj @@ -1,166 +1,34 @@ - - - - + + - Debug - AnyCPU - {44982F9B-6116-44E2-85D0-F39650B1EF99} - Library DigitalData.Modules.Config + net8.0-windows + true DigitalData.Modules.Config - 512 - Windows - v4.6.2 - - - - - - true - full - true - true - bin\Debug\ - DigitalData.Modules.Config.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - pdbonly - false - true - true - bin\Release\ - DigitalData.Modules.Config.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - On - - - Binary - - - Off - - - On - - - - ..\packages\DigitalData.Modules.Base.1.3.8\lib\net462\DigitalData.Modules.Base.dll - - - ..\packages\DigitalData.Modules.Database.2.3.5.4\lib\net462\DigitalData.Modules.Database.dll - - - ..\packages\DigitalData.Modules.Encryption.1.3.1\lib\net462\DigitalData.Modules.Encryption.dll - - - ..\packages\DigitalData.Modules.Logging.2.6.5\lib\net462\DigitalData.Modules.Logging.dll - - - ..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll - - - ..\packages\EntityFramework.Firebird.6.4.0\lib\net452\EntityFramework.Firebird.dll - - - ..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll - - - ..\packages\FirebirdSql.Data.FirebirdClient.7.5.0\lib\net452\FirebirdSql.Data.FirebirdClient.dll - - - - ..\packages\NLog.5.0.5\lib\net46\NLog.dll - - - - - - - ..\packages\System.Data.Odbc.6.0.1\lib\net461\System.Data.Odbc.dll - - - - - - - - - - - - - - - - - - - - - - - + Digital Data GmbH + Provides configuration methods for DD Products + 1.4.0 + 1.4.0 + $(AssemblyName) + $(AssemblyName) + + - - - - - - - - True - Application.myapp - True - - - True - True - Resources.resx - - - True - Settings.settings - True - + + - - VbMyResourcesResXFileCodeGenerator - Resources.Designer.vb - My.Resources - Designer - + + + + + + - - - MyApplicationCodeGenerator - Application.Designer.vb - - + SettingsSingleFileGenerator - My - Settings.Designer.vb - - - - - - - powershell.exe -command "& { &'$(SolutionDir)copy-binary.ps1' '$(TargetPath)' '$(TargetFileName)' '$(ConfigurationName)' '$(ProjectName)' }" - - - - Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}". - - - - - - \ No newline at end of file + + diff --git a/Config/My Project/AssemblyInfo.vb b/Config/My Project/AssemblyInfo.vb index 09d25984..89000856 100644 --- a/Config/My Project/AssemblyInfo.vb +++ b/Config/My Project/AssemblyInfo.vb @@ -1,35 +1,9 @@ Imports System Imports System.Reflection Imports System.Runtime.InteropServices - -' Allgemeine Informationen über eine Assembly werden über die folgenden -' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, -' die einer Assembly zugeordnet sind. - -' Werte der Assemblyattribute überprüfen - - - - - - 'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird. - -' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: -' -' Hauptversion -' Nebenversion -' Buildnummer -' Revision -' -' Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, -' übernehmen, indem Sie "*" eingeben: -' - - - diff --git a/Config/SampleConfig.vb b/Config/SampleConfig.vb deleted file mode 100644 index ba775c22..00000000 --- a/Config/SampleConfig.vb +++ /dev/null @@ -1,70 +0,0 @@ -Imports Config -Imports NLog - -''' -''' Sample Config Class inheriting from BaseConfig -''' -''' -''' -''' Things this class should do: -''' -''' - Provide defaults for all values -''' - Load the current config using the LoadConfig method of BaseConfig -''' - If no configfile was found, it should create a new datatable with only default values -''' - If a configfile was found, it should merge the values from this file with the defaults from this class -''' - For each propertyname defined in PropertyNames -''' - Check for existing value in datatable -''' - If a value is present, use it -''' - If no value is exists, use the default value -''' - Assign the resulting values to class properties -''' - Save the new config to disk -''' -Public Class SampleConfig - Inherits BaseConfig - - Private _logger As Logger - - Public ReadOnly ConnectionString As String - Public ReadOnly UniversalViewer As String - - Public Overloads ReadOnly Property PropertyNames As Dictionary(Of String, String) - Get - Return New Dictionary(Of String, String) From { - {"ConnectionString", ""}, - {"UniversalViewer", ""} - } - End Get - End Property - - Public Sub New(LogFactory As LogFactory) - MyBase.New(LogFactory) - - _logger = LogFactory.GetCurrentClassLogger() - - ' Load the existing values from the config file into PropertyNames - ' overwriting the default values - Dim oDataTable = LoadConfig() - - For Each oRow As DataRow In oDataTable.Rows - Dim oValue = oRow.Item(_configValue) - Dim oKey = oRow.Item(_configKey) - - PropertyNames.Item(oKey) = oValue - Next - - ' Assign the merged properties to class properties, optionally converting them beforehand - For Each oProperty As KeyValuePair(Of String, String) In PropertyNames - Select Case oProperty.Key - Case "ConnectionString" - ConnectionString = oProperty.Value - Case "UniversalViewer" - UniversalViewer = oProperty.Value - Case Else - _logger.Warn("Property {0} was found in PropertyNames but was not assigned to a config property", oProperty.Key) - End Select - Next - - ' Convert the dictionary back to a datatable and save it - SaveConfig(ConvertToDataTable(PropertyNames)) - End Sub -End Class diff --git a/Config/bin/Debug/net8.0-windows/DigitalData.Modules.Base.dll b/Config/bin/Debug/net8.0-windows/DigitalData.Modules.Base.dll new file mode 100644 index 0000000000000000000000000000000000000000..cbef47e6f8e4e56536af33850c8cc7cca3c3bd2e GIT binary patch literal 100864 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 literal 0 HcmV?d00001 diff --git a/Config/bin/Debug/net8.0-windows/DigitalData.Modules.Config.dll.config b/Config/bin/Debug/net8.0-windows/DigitalData.Modules.Config.dll.config new file mode 100644 index 00000000..7138a761 --- /dev/null +++ b/Config/bin/Debug/net8.0-windows/DigitalData.Modules.Config.dll.config @@ -0,0 +1,22 @@ + + + + +
    + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Config/bin/Debug/net8.0-windows/DigitalData.Modules.Database.dll b/Config/bin/Debug/net8.0-windows/DigitalData.Modules.Database.dll new file mode 100644 index 0000000000000000000000000000000000000000..8eee7fd73af044c9d8af6cd5ac14db57f179649a GIT binary patch literal 48128 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 + + + +

    + + + + + + + + + + + + + + + + + + diff --git a/Config/bin/Debug/net8.0-windows/DigitalData.Modules.Encryption.dll b/Config/bin/Debug/net8.0-windows/DigitalData.Modules.Encryption.dll new file mode 100644 index 0000000000000000000000000000000000000000..3a29e100a698e44eade5a1fb2c9c9ae890baa4bb GIT binary patch literal 16384 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 literal 0 HcmV?d00001 diff --git a/Config/bin/Debug/net8.0-windows/DigitalData.Modules.Logging.dll b/Config/bin/Debug/net8.0-windows/DigitalData.Modules.Logging.dll new file mode 100644 index 0000000000000000000000000000000000000000..e7446bb6210f2538b332ba2543a839813fb442b4 GIT binary patch literal 27136 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 Mz51_SoTCT+55=?J!vFvP literal 0 HcmV?d00001 diff --git a/Config/packages.config b/Config/packages.config deleted file mode 100644 index e38bd11b..00000000 --- a/Config/packages.config +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/Database/Adapters/Firebird.vb b/Database/Adapters/Firebird.vb index a3b24da3..7693c963 100644 --- a/Database/Adapters/Firebird.vb +++ b/Database/Adapters/Firebird.vb @@ -1,7 +1,8 @@ Imports FirebirdSql.Data.FirebirdClient Imports System.Text.RegularExpressions -Imports DigitalData.Modules.Logging +Imports Digitaldata.Modules.Logging Imports System.ComponentModel +Imports System.Data ''' ''' MODULE: Firebird diff --git a/Database/Adapters/MSSQLServer.vb b/Database/Adapters/MSSQLServer.vb index ccda8538..aa038adb 100644 --- a/Database/Adapters/MSSQLServer.vb +++ b/Database/Adapters/MSSQLServer.vb @@ -1,7 +1,9 @@ Imports System.ComponentModel +Imports System.Data Imports System.Data.SqlClient -Imports DigitalData.Modules.Encryption -Imports DigitalData.Modules.Logging +Imports Digitaldata.Modules.Encryption +Imports Digitaldata.Modules.Logging +Imports Microsoft.Data.SqlClient Public Class MSSQLServer Implements IDatabase @@ -35,6 +37,10 @@ Public Class MSSQLServer QueryTimeout = pTimeout Try + + If Not pConnectionString.Contains("TrustServerCertificate") Then + pConnectionString += ";TrustServerCertificate=true" + End If CurrentConnectionString = pConnectionString DBInitialized = TestCanConnect(CurrentConnectionString) Catch ex As Exception diff --git a/Database/Adapters/ODBC.vb b/Database/Adapters/ODBC.vb index 2d95c07d..e34776c8 100644 --- a/Database/Adapters/ODBC.vb +++ b/Database/Adapters/ODBC.vb @@ -1,5 +1,6 @@ -Imports System.Data.Odbc -Imports DigitalData.Modules.Logging +Imports System.Data +Imports System.Data.Odbc +Imports Digitaldata.Modules.Logging Public Class ODBC Private _Logger As Logger diff --git a/Database/Adapters/Oracle.vb b/Database/Adapters/Oracle.vb index 7a442e37..a6ea18cc 100644 --- a/Database/Adapters/Oracle.vb +++ b/Database/Adapters/Oracle.vb @@ -1,6 +1,8 @@ -Imports DigitalData.Modules.Encryption -Imports DigitalData.Modules.Logging +Imports Microsoft.Data +Imports Digitaldata.Modules.Encryption +Imports Digitaldata.Modules.Logging Imports Oracle.ManagedDataAccess.Client +Imports System.Data Public Class Oracle Implements IDatabase diff --git a/Database/Database.vbproj b/Database/Database.vbproj index 337e1f2d..ebe11501 100644 --- a/Database/Database.vbproj +++ b/Database/Database.vbproj @@ -1,166 +1,35 @@ - - - - + + - Debug - AnyCPU - {EAF0EA75-5FA7-485D-89C7-B2D843B03A96} - Library DigitalData.Modules.Database + net8.0-windows + true DigitalData.Modules.Database - 512 - Windows - v4.6.2 - - - - - - true - full - true - true - bin\Debug\ - DigitalData.Modules.Database.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - pdbonly - false - true - true - bin\Release\ - DigitalData.Modules.Database.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - On - - - Binary - - - Off - - - On - - - - ..\packages\DigitalData.Modules.Encryption.1.3.1\lib\net462\DigitalData.Modules.Encryption.dll - - - ..\packages\DigitalData.Modules.Logging.2.6.5\lib\net462\DigitalData.Modules.Logging.dll - - - ..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.dll - - - ..\packages\EntityFramework.Firebird.6.4.0\lib\net452\EntityFramework.Firebird.dll - - - ..\packages\EntityFramework.6.4.4\lib\net45\EntityFramework.SqlServer.dll - - - ..\packages\FirebirdSql.Data.FirebirdClient.7.5.0\lib\net452\FirebirdSql.Data.FirebirdClient.dll - - - - ..\packages\NLog.5.0.5\lib\net46\NLog.dll - - - P:\Visual Studio Projekte\Bibliotheken\Oracle.ManagedDataAccess.dll - - - - - - - ..\packages\System.Data.Odbc.6.0.1\lib\net461\System.Data.Odbc.dll - - - - - - - - - - - - - - - - - - - - - - + Digital Data GmbH + Provides database-methods and -functions for DD Products + 2.4.0 + 2.4.0 + $(AssemblyName) + $(AssemblyName) + + - - - - - - - - - - - - True - Application.myapp - True - - - True - True - Resources.resx - - - True - Settings.settings - True - - + + + + + + - - VbMyResourcesResXFileCodeGenerator - Resources.Designer.vb - My.Resources - Designer - + + + - - Designer - - - MyApplicationCodeGenerator - Application.Designer.vb - - + SettingsSingleFileGenerator - My - Settings.Designer.vb - - - - - Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}". - - - - - - - powershell.exe -command "& { &'$(SolutionDir)copy-binary.ps1' '$(TargetPath)' '$(TargetFileName)' '$(ConfigurationName)' '$(ProjectName)' }" - - \ No newline at end of file + + diff --git a/Database/Dispatcher.vb b/Database/Dispatcher.vb index bf42a94f..3da3cf86 100644 --- a/Database/Dispatcher.vb +++ b/Database/Dispatcher.vb @@ -1,4 +1,6 @@ -Imports DigitalData.Modules.Logging +Imports System.Data +Imports Digitaldata.Modules.Logging +Imports Microsoft.Data Imports Oracle.ManagedDataAccess.Client Public Class Dispatcher diff --git a/Database/IDatabase.vb b/Database/IDatabase.vb index c7ea227f..ed0aba98 100644 --- a/Database/IDatabase.vb +++ b/Database/IDatabase.vb @@ -1,5 +1,7 @@ -Imports System.Data.Common +Imports System.Data +Imports System.Data.Common Imports System.Data.SqlClient +Imports Microsoft.Data.SqlClient Public Interface IDatabase ''' diff --git a/Database/My Project/AssemblyInfo.vb b/Database/My Project/AssemblyInfo.vb index 9bb7f001..4ec8de0a 100644 --- a/Database/My Project/AssemblyInfo.vb +++ b/Database/My Project/AssemblyInfo.vb @@ -1,35 +1,9 @@ Imports System Imports System.Reflection Imports System.Runtime.InteropServices - -' Allgemeine Informationen über eine Assembly werden über die folgenden -' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, -' die einer Assembly zugeordnet sind. - -' Werte der Assemblyattribute überprüfen - - - - - - 'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird. - -' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: -' -' Hauptversion -' Nebenversion -' Buildnummer -' Revision -' -' Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, -' übernehmen, indem Sie "*" eingeben: -' - - - diff --git a/Database/bin/Debug/net8.0-windows/DigitalData.Modules.Database.deps.json b/Database/bin/Debug/net8.0-windows/DigitalData.Modules.Database.deps.json new file mode 100644 index 00000000..9862ce40 --- /dev/null +++ b/Database/bin/Debug/net8.0-windows/DigitalData.Modules.Database.deps.json @@ -0,0 +1,798 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "DigitalData.Modules.Database/1.0.0": { + "dependencies": { + "DigitalData.Modules.Encryption": "1.0.0", + "DigitalData.Modules.Logging": "1.0.0", + "FirebirdSql.Data.FirebirdClient": "10.3.3", + "Microsoft.Data.SqlClient": "6.1.1", + "NLog": "6.0.4", + "Oracle.ManagedDataAccess": "23.9.1", + "System.Data.Odbc": "9.0.9", + "DigitalData.Modules.Encryption.Reference": "2.5.0.0", + "DigitalData.Modules.Logging.Reference": "2.0.0.0" + }, + "runtime": { + "DigitalData.Modules.Database.dll": {} + } + }, + "Azure.Core/1.47.1": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "8.0.0", + "System.ClientModel": "1.5.1", + "System.Memory.Data": "8.0.1" + }, + "runtime": { + "lib/net8.0/Azure.Core.dll": { + "assemblyVersion": "1.47.1.0", + "fileVersion": "1.4700.125.36505" + } + } + }, + "Azure.Identity/1.14.2": { + "dependencies": { + "Azure.Core": "1.47.1", + "Microsoft.Identity.Client": "4.73.1", + "Microsoft.Identity.Client.Extensions.Msal": "4.73.1", + "System.Memory": "4.6.0" + }, + "runtime": { + "lib/net8.0/Azure.Identity.dll": { + "assemblyVersion": "1.14.2.0", + "fileVersion": "1.1400.225.36004" + } + } + }, + "FirebirdSql.Data.FirebirdClient/10.3.3": { + "runtime": { + "lib/net8.0/FirebirdSql.Data.FirebirdClient.dll": { + "assemblyVersion": "10.3.3.0", + "fileVersion": "10.3.3.0" + } + } + }, + "Microsoft.Bcl.AsyncInterfaces/8.0.0": { + "runtime": { + "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Bcl.Cryptography/8.0.0": { + "runtime": { + "lib/net8.0/Microsoft.Bcl.Cryptography.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Data.SqlClient/6.1.1": { + "dependencies": { + "Azure.Core": "1.47.1", + "Azure.Identity": "1.14.2", + "Microsoft.Bcl.Cryptography": "8.0.0", + "Microsoft.Data.SqlClient.SNI.runtime": "6.0.2", + "Microsoft.Extensions.Caching.Memory": "8.0.1", + "Microsoft.IdentityModel.JsonWebTokens": "7.7.1", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "7.7.1", + "Microsoft.SqlServer.Server": "1.0.0", + "System.Configuration.ConfigurationManager": "9.0.9", + "System.Security.Cryptography.Pkcs": "8.0.1", + "System.Text.Json": "8.0.5" + }, + "runtime": { + "lib/net8.0/Microsoft.Data.SqlClient.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.11.25226.3" + } + }, + "resources": { + "lib/net8.0/cs/Microsoft.Data.SqlClient.resources.dll": { + "locale": "cs" + }, + "lib/net8.0/de/Microsoft.Data.SqlClient.resources.dll": { + "locale": "de" + }, + "lib/net8.0/es/Microsoft.Data.SqlClient.resources.dll": { + "locale": "es" + }, + "lib/net8.0/fr/Microsoft.Data.SqlClient.resources.dll": { + "locale": "fr" + }, + "lib/net8.0/it/Microsoft.Data.SqlClient.resources.dll": { + "locale": "it" + }, + "lib/net8.0/ja/Microsoft.Data.SqlClient.resources.dll": { + "locale": "ja" + }, + "lib/net8.0/ko/Microsoft.Data.SqlClient.resources.dll": { + "locale": "ko" + }, + "lib/net8.0/pl/Microsoft.Data.SqlClient.resources.dll": { + "locale": "pl" + }, + "lib/net8.0/pt-BR/Microsoft.Data.SqlClient.resources.dll": { + "locale": "pt-BR" + }, + "lib/net8.0/ru/Microsoft.Data.SqlClient.resources.dll": { + "locale": "ru" + }, + "lib/net8.0/tr/Microsoft.Data.SqlClient.resources.dll": { + "locale": "tr" + }, + "lib/net8.0/zh-Hans/Microsoft.Data.SqlClient.resources.dll": { + "locale": "zh-Hans" + }, + "lib/net8.0/zh-Hant/Microsoft.Data.SqlClient.resources.dll": { + "locale": "zh-Hant" + } + }, + "runtimeTargets": { + "runtimes/unix/lib/net8.0/Microsoft.Data.SqlClient.dll": { + "rid": "unix", + "assetType": "runtime", + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.11.25226.3" + }, + "runtimes/win/lib/net8.0/Microsoft.Data.SqlClient.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.11.25226.3" + } + } + }, + "Microsoft.Data.SqlClient.SNI.runtime/6.0.2": { + "runtimeTargets": { + "runtimes/win-arm64/native/Microsoft.Data.SqlClient.SNI.dll": { + "rid": "win-arm64", + "assetType": "native", + "fileVersion": "6.2.0.0" + }, + "runtimes/win-x64/native/Microsoft.Data.SqlClient.SNI.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "6.2.0.0" + }, + "runtimes/win-x86/native/Microsoft.Data.SqlClient.SNI.dll": { + "rid": "win-x86", + "assetType": "native", + "fileVersion": "6.2.0.0" + } + } + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Logging.Abstractions": "8.0.3", + "Microsoft.Extensions.Options": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.3": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1325.6609" + } + } + }, + "Microsoft.Extensions.Options/8.0.2": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Options.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.224.6711" + } + } + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.Primitives.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Identity.Client/4.73.1": { + "dependencies": { + "Microsoft.IdentityModel.Abstractions": "7.7.1", + "System.Diagnostics.DiagnosticSource": "6.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Identity.Client.dll": { + "assemblyVersion": "4.73.1.0", + "fileVersion": "4.73.1.0" + } + } + }, + "Microsoft.Identity.Client.Extensions.Msal/4.73.1": { + "dependencies": { + "Microsoft.Identity.Client": "4.73.1", + "System.Security.Cryptography.ProtectedData": "9.0.9" + }, + "runtime": { + "lib/net8.0/Microsoft.Identity.Client.Extensions.Msal.dll": { + "assemblyVersion": "4.73.1.0", + "fileVersion": "4.73.1.0" + } + } + }, + "Microsoft.IdentityModel.Abstractions/7.7.1": { + "runtime": { + "lib/net8.0/Microsoft.IdentityModel.Abstractions.dll": { + "assemblyVersion": "7.7.1.0", + "fileVersion": "7.7.1.50719" + } + } + }, + "Microsoft.IdentityModel.JsonWebTokens/7.7.1": { + "dependencies": { + "Microsoft.IdentityModel.Tokens": "7.7.1" + }, + "runtime": { + "lib/net8.0/Microsoft.IdentityModel.JsonWebTokens.dll": { + "assemblyVersion": "7.7.1.0", + "fileVersion": "7.7.1.50719" + } + } + }, + "Microsoft.IdentityModel.Logging/7.7.1": { + "dependencies": { + "Microsoft.IdentityModel.Abstractions": "7.7.1" + }, + "runtime": { + "lib/net8.0/Microsoft.IdentityModel.Logging.dll": { + "assemblyVersion": "7.7.1.0", + "fileVersion": "7.7.1.50719" + } + } + }, + "Microsoft.IdentityModel.Protocols/7.7.1": { + "dependencies": { + "Microsoft.IdentityModel.Tokens": "7.7.1" + }, + "runtime": { + "lib/net8.0/Microsoft.IdentityModel.Protocols.dll": { + "assemblyVersion": "7.7.1.0", + "fileVersion": "7.7.1.50719" + } + } + }, + "Microsoft.IdentityModel.Protocols.OpenIdConnect/7.7.1": { + "dependencies": { + "Microsoft.IdentityModel.Protocols": "7.7.1", + "System.IdentityModel.Tokens.Jwt": "7.7.1" + }, + "runtime": { + "lib/net8.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": { + "assemblyVersion": "7.7.1.0", + "fileVersion": "7.7.1.50719" + } + } + }, + "Microsoft.IdentityModel.Tokens/7.7.1": { + "dependencies": { + "Microsoft.IdentityModel.Logging": "7.7.1" + }, + "runtime": { + "lib/net8.0/Microsoft.IdentityModel.Tokens.dll": { + "assemblyVersion": "7.7.1.0", + "fileVersion": "7.7.1.50719" + } + } + }, + "Microsoft.SqlServer.Server/1.0.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.SqlServer.Server.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "NLog/6.0.4": { + "runtime": { + "lib/netstandard2.1/NLog.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.4.4534" + } + } + }, + "Oracle.ManagedDataAccess/23.9.1": { + "dependencies": { + "System.Diagnostics.DiagnosticSource": "6.0.2", + "System.Formats.Asn1": "8.0.1", + "System.Memory": "4.6.0", + "System.Text.Json": "8.0.5", + "System.Threading.Tasks.Extensions": "4.6.0" + }, + "runtime": { + "lib/net472/Oracle.ManagedDataAccess.dll": { + "assemblyVersion": "4.122.23.1", + "fileVersion": "4.122.23.1" + } + } + }, + "System.ClientModel/1.5.1": { + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.3", + "System.Memory.Data": "8.0.1" + }, + "runtime": { + "lib/net8.0/System.ClientModel.dll": { + "assemblyVersion": "1.5.1.0", + "fileVersion": "1.500.125.36405" + } + } + }, + "System.Configuration.ConfigurationManager/9.0.9": { + "dependencies": { + "System.Diagnostics.EventLog": "9.0.9", + "System.Security.Cryptography.ProtectedData": "9.0.9" + }, + "runtime": { + "lib/net8.0/System.Configuration.ConfigurationManager.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "System.Data.Odbc/9.0.9": { + "runtime": { + "lib/net8.0/System.Data.Odbc.dll": { + "assemblyVersion": "9.0.0.9", + "fileVersion": "9.0.925.41916" + } + }, + "runtimeTargets": { + "runtimes/unix/lib/net8.0/System.Data.Odbc.dll": { + "rid": "unix", + "assetType": "runtime", + "assemblyVersion": "9.0.0.9", + "fileVersion": "9.0.925.41916" + }, + "runtimes/win/lib/net8.0/System.Data.Odbc.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "9.0.0.9", + "fileVersion": "9.0.925.41916" + } + } + }, + "System.Diagnostics.DiagnosticSource/6.0.2": {}, + "System.Diagnostics.EventLog/9.0.9": { + "runtime": { + "lib/net8.0/System.Diagnostics.EventLog.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + }, + "runtimeTargets": { + "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "9.0.0.0", + "fileVersion": "0.0.0.0" + }, + "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "System.Formats.Asn1/8.0.1": {}, + "System.IdentityModel.Tokens.Jwt/7.7.1": { + "dependencies": { + "Microsoft.IdentityModel.JsonWebTokens": "7.7.1", + "Microsoft.IdentityModel.Tokens": "7.7.1" + }, + "runtime": { + "lib/net8.0/System.IdentityModel.Tokens.Jwt.dll": { + "assemblyVersion": "7.7.1.0", + "fileVersion": "7.7.1.50719" + } + } + }, + "System.Memory/4.6.0": {}, + "System.Memory.Data/8.0.1": { + "runtime": { + "lib/net8.0/System.Memory.Data.dll": { + "assemblyVersion": "8.0.0.1", + "fileVersion": "8.0.1024.46610" + } + } + }, + "System.Security.Cryptography.Pkcs/8.0.1": { + "runtime": { + "lib/net8.0/System.Security.Cryptography.Pkcs.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + }, + "runtimeTargets": { + "runtimes/win/lib/net8.0/System.Security.Cryptography.Pkcs.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "System.Security.Cryptography.ProtectedData/9.0.9": { + "runtime": { + "lib/net8.0/System.Security.Cryptography.ProtectedData.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "System.Text.Json/8.0.5": {}, + "System.Threading.Tasks.Extensions/4.6.0": {}, + "DigitalData.Modules.Encryption/1.0.0": { + "dependencies": { + "DigitalData.Modules.Logging": "1.0.0", + "NLog": "6.0.4" + }, + "runtime": { + "DigitalData.Modules.Encryption.dll": { + "fileVersion": "0.0.0.0" + } + } + }, + "DigitalData.Modules.Logging/1.0.0": { + "dependencies": { + "NLog": "6.0.4", + "System.Configuration.ConfigurationManager": "9.0.9" + }, + "runtime": { + "DigitalData.Modules.Logging.dll": { + "fileVersion": "0.0.0.0" + } + } + }, + "DigitalData.Modules.Encryption.Reference/2.5.0.0": { + "runtime": { + "DigitalData.Modules.Encryption.dll": { + "assemblyVersion": "2.5.0.0", + "fileVersion": "2.5.0.0" + } + } + }, + "DigitalData.Modules.Logging.Reference/2.0.0.0": { + "runtime": { + "DigitalData.Modules.Logging.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.0.0.0" + } + } + } + } + }, + "libraries": { + "DigitalData.Modules.Database/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Azure.Core/1.47.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oPcncSsDHuxB8SC522z47xbp2+ttkcKv2YZ90KXhRKN0YQd2+7l1UURT9EBzUNEXtkLZUOAB5xbByMTrYRh3yA==", + "path": "azure.core/1.47.1", + "hashPath": "azure.core.1.47.1.nupkg.sha512" + }, + "Azure.Identity/1.14.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YhNMwOTwT+I2wIcJKSdP0ADyB2aK+JaYWZxO8LSRDm5w77LFr0ykR9xmt2ZV5T1gaI7xU6iNFIh/yW1dAlpddQ==", + "path": "azure.identity/1.14.2", + "hashPath": "azure.identity.1.14.2.nupkg.sha512" + }, + "FirebirdSql.Data.FirebirdClient/10.3.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iAj21eY5u7obZumA3NAVZf8ynu7Z6lslkU3V4W8Mm9Mowa4gcadT2a+LIMwAovDIg8iS8RpCSzIzFdKFCdakTg==", + "path": "firebirdsql.data.firebirdclient/10.3.3", + "hashPath": "firebirdsql.data.firebirdclient.10.3.3.nupkg.sha512" + }, + "Microsoft.Bcl.AsyncInterfaces/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3WA9q9yVqJp222P3x1wYIGDAkpjAku0TMUaaQV22g6L67AI0LdOIrVS7Ht2vJfLHGSPVuqN94vIr15qn+HEkHw==", + "path": "microsoft.bcl.asyncinterfaces/8.0.0", + "hashPath": "microsoft.bcl.asyncinterfaces.8.0.0.nupkg.sha512" + }, + "Microsoft.Bcl.Cryptography/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Y3t/c7C5XHJGFDnohjf1/9SYF3ZOfEU1fkNQuKg/dGf9hN18yrQj2owHITGfNS3+lKJdW6J4vY98jYu57jCO8A==", + "path": "microsoft.bcl.cryptography/8.0.0", + "hashPath": "microsoft.bcl.cryptography.8.0.0.nupkg.sha512" + }, + "Microsoft.Data.SqlClient/6.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-syGQmIUPAYYHAHyTD8FCkTNThpQWvoA7crnIQRMfp8dyB5A2cWU3fQexlRTFkVmV7S0TjVmthi0LJEFVjHo8AQ==", + "path": "microsoft.data.sqlclient/6.1.1", + "hashPath": "microsoft.data.sqlclient.6.1.1.nupkg.sha512" + }, + "Microsoft.Data.SqlClient.SNI.runtime/6.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-f+pRODTWX7Y67jXO3T5S2dIPZ9qMJNySjlZT/TKmWVNWe19N8jcWmHaqHnnchaq3gxEKv1SWVY5EFzOD06l41w==", + "path": "microsoft.data.sqlclient.sni.runtime/6.0.2", + "hashPath": "microsoft.data.sqlclient.sni.runtime.6.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==", + "path": "microsoft.extensions.caching.abstractions/8.0.0", + "hashPath": "microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HFDnhYLccngrzyGgHkjEDU5FMLn4MpOsr5ElgsBMC4yx6lJh4jeWO7fHS8+TXPq+dgxCmUa/Trl8svObmwW4QA==", + "path": "microsoft.extensions.caching.memory/8.0.1", + "hashPath": "microsoft.extensions.caching.memory.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==", + "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dL0QGToTxggRLMYY4ZYX5AMwBb+byQBd/5dMiZE07Nv73o6I5Are3C7eQTh7K2+A4ct0PVISSr7TZANbiNb2yQ==", + "path": "microsoft.extensions.logging.abstractions/8.0.3", + "hashPath": "microsoft.extensions.logging.abstractions.8.0.3.nupkg.sha512" + }, + "Microsoft.Extensions.Options/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==", + "path": "microsoft.extensions.options/8.0.2", + "hashPath": "microsoft.extensions.options.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", + "path": "microsoft.extensions.primitives/8.0.0", + "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512" + }, + "Microsoft.Identity.Client/4.73.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NnDLS8QwYqO5ZZecL2oioi1LUqjh5Ewk4bMLzbgiXJbQmZhDLtKwLxL3DpGMlQAJ2G4KgEnvGPKa+OOgffeJbw==", + "path": "microsoft.identity.client/4.73.1", + "hashPath": "microsoft.identity.client.4.73.1.nupkg.sha512" + }, + "Microsoft.Identity.Client.Extensions.Msal/4.73.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xDztAiV2F0wI0W8FLKv5cbaBefyLD6JVaAsvgSN7bjWNCzGYzHbcOEIP5s4TJXUpQzMfUyBsFl1mC6Zmgpz0PQ==", + "path": "microsoft.identity.client.extensions.msal/4.73.1", + "hashPath": "microsoft.identity.client.extensions.msal.4.73.1.nupkg.sha512" + }, + "Microsoft.IdentityModel.Abstractions/7.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-S7sHg6gLg7oFqNGLwN1qSbJDI+QcRRj8SuJ1jHyCmKSipnF6ZQL+tFV2NzVfGj/xmGT9TykQdQiBN+p5Idl4TA==", + "path": "microsoft.identitymodel.abstractions/7.7.1", + "hashPath": "microsoft.identitymodel.abstractions.7.7.1.nupkg.sha512" + }, + "Microsoft.IdentityModel.JsonWebTokens/7.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3Izi75UCUssvo8LPx3OVnEeZay58qaFicrtSnbtUt7q8qQi0gy46gh4V8VUTkMVMKXV6VMyjBVmeNNgeCUJuIw==", + "path": "microsoft.identitymodel.jsonwebtokens/7.7.1", + "hashPath": "microsoft.identitymodel.jsonwebtokens.7.7.1.nupkg.sha512" + }, + "Microsoft.IdentityModel.Logging/7.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BZNgSq/o8gsKExdYoBKPR65fdsxW0cTF8PsdqB8y011AGUJJW300S/ZIsEUD0+sOmGc003Gwv3FYbjrVjvsLNQ==", + "path": "microsoft.identitymodel.logging/7.7.1", + "hashPath": "microsoft.identitymodel.logging.7.7.1.nupkg.sha512" + }, + "Microsoft.IdentityModel.Protocols/7.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-h+fHHBGokepmCX+QZXJk4Ij8OApCb2n2ktoDkNX5CXteXsOxTHMNgjPGpAwdJMFvAL7TtGarUnk3o97NmBq2QQ==", + "path": "microsoft.identitymodel.protocols/7.7.1", + "hashPath": "microsoft.identitymodel.protocols.7.7.1.nupkg.sha512" + }, + "Microsoft.IdentityModel.Protocols.OpenIdConnect/7.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yT2Hdj8LpPbcT9C9KlLVxXl09C8zjFaVSaApdOwuecMuoV4s6Sof/mnTDz/+F/lILPIBvrWugR9CC7iRVZgbfQ==", + "path": "microsoft.identitymodel.protocols.openidconnect/7.7.1", + "hashPath": "microsoft.identitymodel.protocols.openidconnect.7.7.1.nupkg.sha512" + }, + "Microsoft.IdentityModel.Tokens/7.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fQ0VVCba75lknUHGldi3iTKAYUQqbzp1Un8+d9cm9nON0Gs8NAkXddNg8iaUB0qi/ybtAmNWizTR4avdkCJ9pQ==", + "path": "microsoft.identitymodel.tokens/7.7.1", + "hashPath": "microsoft.identitymodel.tokens.7.7.1.nupkg.sha512" + }, + "Microsoft.SqlServer.Server/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-N4KeF3cpcm1PUHym1RmakkzfkEv3GRMyofVv40uXsQhCQeglr2OHNcUk2WOG51AKpGO8ynGpo9M/kFXSzghwug==", + "path": "microsoft.sqlserver.server/1.0.0", + "hashPath": "microsoft.sqlserver.server.1.0.0.nupkg.sha512" + }, + "NLog/6.0.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Xr+lIk1ZlTTFXEqnxQVLxrDqZlt2tm5X+/AhJbaY2emb/dVtGDiU5QuEtj3gHtwV/SWlP/rJ922I/BPuOJXlRw==", + "path": "nlog/6.0.4", + "hashPath": "nlog.6.0.4.nupkg.sha512" + }, + "Oracle.ManagedDataAccess/23.9.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/4v/a6P6u+VLixps0TGH8js/1ZYS7vVll+j0J9RsUQLRPYgzXs1Mt+xi1XqFZP5PzMA5H0kgW/3EMosj+fYReA==", + "path": "oracle.manageddataaccess/23.9.1", + "hashPath": "oracle.manageddataaccess.23.9.1.nupkg.sha512" + }, + "System.ClientModel/1.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k2jKSO0X45IqhVOT9iQB4xralNN9foRQsRvXBTyRpAVxyzCJlG895T9qYrQWbcJ6OQXxOouJQ37x5nZH5XKK+A==", + "path": "system.clientmodel/1.5.1", + "hashPath": "system.clientmodel.1.5.1.nupkg.sha512" + }, + "System.Configuration.ConfigurationManager/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Q1LknxnRmmsUXt/ElBp739Gexppy0HeDYxvExpJq09jAYhpTHRRRkZIwfNKfM4BGRlFzRDVdnerZawxoE8naMg==", + "path": "system.configuration.configurationmanager/9.0.9", + "hashPath": "system.configuration.configurationmanager.9.0.9.nupkg.sha512" + }, + "System.Data.Odbc/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xSAfSD/j3ACV8YiXOIBYUbzqTjiEMGtFq2gSnwWxBRQdUt4YRj9rVjkawuu4tEb5aiIm27HN4d/X8skaVC654A==", + "path": "system.data.odbc/9.0.9", + "hashPath": "system.data.odbc.9.0.9.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/6.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6tQaIexFycaotdGn23lf3XJ/eI1GOjQKIvQDRFN9N4pwoNsKnHuXccQ3lnQO6GX8KAb1ic+6ZofJmPdbUVwZag==", + "path": "system.diagnostics.diagnosticsource/6.0.2", + "hashPath": "system.diagnostics.diagnosticsource.6.0.2.nupkg.sha512" + }, + "System.Diagnostics.EventLog/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wpsUfnyv8E5K4WQaok6weewvAbQhcLwXFcHBm5U0gdEaBs85N//ssuYvRPFWwz2rO/9/DFP3A1sGMzUFBj8y3w==", + "path": "system.diagnostics.eventlog/9.0.9", + "hashPath": "system.diagnostics.eventlog.9.0.9.nupkg.sha512" + }, + "System.Formats.Asn1/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XqKba7Mm/koKSjKMfW82olQdmfbI5yqeoLV/tidRp7fbh5rmHAQ5raDI/7SU0swTzv+jgqtUGkzmFxuUg0it1A==", + "path": "system.formats.asn1/8.0.1", + "hashPath": "system.formats.asn1.8.0.1.nupkg.sha512" + }, + "System.IdentityModel.Tokens.Jwt/7.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rQkO1YbAjLwnDJSMpRhRtrc6XwIcEOcUvoEcge+evurpzSZM3UNK+MZfD3sKyTlYsvknZ6eJjSBfnmXqwOsT9Q==", + "path": "system.identitymodel.tokens.jwt/7.7.1", + "hashPath": "system.identitymodel.tokens.jwt.7.7.1.nupkg.sha512" + }, + "System.Memory/4.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OEkbBQoklHngJ8UD8ez2AERSk2g+/qpAaSWWCBFbpH727HxDq5ydVkuncBaKcKfwRqXGWx64dS6G1SUScMsitg==", + "path": "system.memory/4.6.0", + "hashPath": "system.memory.4.6.0.nupkg.sha512" + }, + "System.Memory.Data/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BVYuec3jV23EMRDeR7Dr1/qhx7369dZzJ9IWy2xylvb4YfXsrUxspWc4UWYid/tj4zZK58uGZqn2WQiaDMhmAg==", + "path": "system.memory.data/8.0.1", + "hashPath": "system.memory.data.8.0.1.nupkg.sha512" + }, + "System.Security.Cryptography.Pkcs/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CoCRHFym33aUSf/NtWSVSZa99dkd0Hm7OCZUxORBjRB16LNhIEOf8THPqzIYlvKM0nNDAPTRBa1FxEECrgaxxA==", + "path": "system.security.cryptography.pkcs/8.0.1", + "hashPath": "system.security.cryptography.pkcs.8.0.1.nupkg.sha512" + }, + "System.Security.Cryptography.ProtectedData/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XN37933FTzEkqGJoOTunvnvzAv/4VO/9wQ0QwsGcrR5KyQpYT0z4Ssm+f+fpY9bea6srypFp3JjNPHHC26xzLw==", + "path": "system.security.cryptography.protecteddata/9.0.9", + "hashPath": "system.security.cryptography.protecteddata.9.0.9.nupkg.sha512" + }, + "System.Text.Json/8.0.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0f1B50Ss7rqxXiaBJyzUu9bWFOO2/zSlifZ/UNMdiIpDYe4cY4LQQicP4nirK1OS31I43rn062UIJ1Q9bpmHpg==", + "path": "system.text.json/8.0.5", + "hashPath": "system.text.json.8.0.5.nupkg.sha512" + }, + "System.Threading.Tasks.Extensions/4.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I5G6Y8jb0xRtGUC9Lahy7FUvlYlnGMMkbuKAQBy8Jb7Y6Yn8OlBEiUOY0PqZ0hy6Ua8poVA1ui1tAIiXNxGdsg==", + "path": "system.threading.tasks.extensions/4.6.0", + "hashPath": "system.threading.tasks.extensions.4.6.0.nupkg.sha512" + }, + "DigitalData.Modules.Encryption/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "DigitalData.Modules.Logging/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "DigitalData.Modules.Encryption.Reference/2.5.0.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + }, + "DigitalData.Modules.Logging.Reference/2.0.0.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Database/bin/Debug/net8.0-windows/DigitalData.Modules.Database.dll b/Database/bin/Debug/net8.0-windows/DigitalData.Modules.Database.dll new file mode 100644 index 0000000000000000000000000000000000000000..8eee7fd73af044c9d8af6cd5ac14db57f179649a GIT binary patch literal 48128 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 + + + +

    + + + + + + + + + + + + + + + + + + diff --git a/Database/bin/Debug/net8.0-windows/DigitalData.Modules.Encryption.dll b/Database/bin/Debug/net8.0-windows/DigitalData.Modules.Encryption.dll new file mode 100644 index 0000000000000000000000000000000000000000..3a29e100a698e44eade5a1fb2c9c9ae890baa4bb GIT binary patch literal 16384 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 literal 0 HcmV?d00001 diff --git a/Database/bin/Debug/net8.0-windows/DigitalData.Modules.Logging.dll b/Database/bin/Debug/net8.0-windows/DigitalData.Modules.Logging.dll new file mode 100644 index 0000000000000000000000000000000000000000..e7446bb6210f2538b332ba2543a839813fb442b4 GIT binary patch literal 27136 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 Mz51_SoTCT+55=?J!vFvP literal 0 HcmV?d00001 diff --git a/Database/packages.config b/Database/packages.config deleted file mode 100644 index afc9b87a..00000000 --- a/Database/packages.config +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/Encryption/Encryption.vbproj b/Encryption/Encryption.vbproj index de7bccd1..7de22847 100644 --- a/Encryption/Encryption.vbproj +++ b/Encryption/Encryption.vbproj @@ -1,121 +1,30 @@ - - - + + - Debug - AnyCPU - {8A8F20FC-C46E-41AC-BEE7-218366CFFF99} - Library DigitalData.Modules.Encryption + net8.0-windows + true DigitalData.Modules.Encryption - 512 - Windows - v4.6.2 - true - + Digital Data GmbH + Provides encryption methods for DD Products + 2.5.0 + 2.5.0 + $(AssemblyName) + $(AssemblyName) - - true - full - true - true - bin\Debug\ - DigitalData.Modules.Encryption.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - pdbonly - false - true - true - bin\Release\ - DigitalData.Modules.Encryption.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - On - - - Binary - - - Off - - - On - - - - ..\packages\DigitalData.Modules.Logging.2.6.5\lib\net462\DigitalData.Modules.Logging.dll - - - - ..\packages\NLog.5.0.5\lib\net46\NLog.dll - - - - - - - - - - - - - - + - - - - - - - - - + + - - - - - - True - Application.myapp - True - - - True - True - Resources.resx - - - True - Settings.settings - True - + + - - VbMyResourcesResXFileCodeGenerator - Resources.Designer.vb - My.Resources - Designer - - - - - MyApplicationCodeGenerator - Application.Designer.vb - - + SettingsSingleFileGenerator - My - Settings.Designer.vb - - - \ No newline at end of file + + diff --git a/Encryption/My Project/AssemblyInfo.vb b/Encryption/My Project/AssemblyInfo.vb index 487cdb7f..8c2445f0 100644 --- a/Encryption/My Project/AssemblyInfo.vb +++ b/Encryption/My Project/AssemblyInfo.vb @@ -1,35 +1,9 @@ Imports System Imports System.Reflection Imports System.Runtime.InteropServices - -' Allgemeine Informationen über eine Assembly werden über die folgenden -' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, -' die einer Assembly zugeordnet sind. - -' Werte der Assemblyattribute überprüfen - - - - - - 'Die folgende GUID wird für die typelib-ID verwendet, wenn dieses Projekt für COM verfügbar gemacht wird. - -' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: -' -' Hauptversion -' Nebenversion -' Buildnummer -' Revision -' -' Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, -' indem Sie "*" wie unten gezeigt eingeben: -' - - - diff --git a/Encryption/bin/Debug/net8.0-windows/DigitalData.Modules.Encryption.deps.json b/Encryption/bin/Debug/net8.0-windows/DigitalData.Modules.Encryption.deps.json new file mode 100644 index 00000000..7b33c187 --- /dev/null +++ b/Encryption/bin/Debug/net8.0-windows/DigitalData.Modules.Encryption.deps.json @@ -0,0 +1,135 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "DigitalData.Modules.Encryption/1.0.0": { + "dependencies": { + "DigitalData.Modules.Logging": "1.0.0", + "NLog": "6.0.4", + "DigitalData.Modules.Logging.Reference": "2.0.0.0" + }, + "runtime": { + "DigitalData.Modules.Encryption.dll": {} + } + }, + "NLog/6.0.4": { + "runtime": { + "lib/netstandard2.1/NLog.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.4.4534" + } + } + }, + "System.Configuration.ConfigurationManager/9.0.9": { + "dependencies": { + "System.Diagnostics.EventLog": "9.0.9", + "System.Security.Cryptography.ProtectedData": "9.0.9" + }, + "runtime": { + "lib/net8.0/System.Configuration.ConfigurationManager.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "System.Diagnostics.EventLog/9.0.9": { + "runtime": { + "lib/net8.0/System.Diagnostics.EventLog.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + }, + "runtimeTargets": { + "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "9.0.0.0", + "fileVersion": "0.0.0.0" + }, + "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "System.Security.Cryptography.ProtectedData/9.0.9": { + "runtime": { + "lib/net8.0/System.Security.Cryptography.ProtectedData.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "DigitalData.Modules.Logging/1.0.0": { + "dependencies": { + "NLog": "6.0.4", + "System.Configuration.ConfigurationManager": "9.0.9" + }, + "runtime": { + "DigitalData.Modules.Logging.dll": { + "fileVersion": "0.0.0.0" + } + } + }, + "DigitalData.Modules.Logging.Reference/2.0.0.0": { + "runtime": { + "DigitalData.Modules.Logging.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.0.0.0" + } + } + } + } + }, + "libraries": { + "DigitalData.Modules.Encryption/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "NLog/6.0.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Xr+lIk1ZlTTFXEqnxQVLxrDqZlt2tm5X+/AhJbaY2emb/dVtGDiU5QuEtj3gHtwV/SWlP/rJ922I/BPuOJXlRw==", + "path": "nlog/6.0.4", + "hashPath": "nlog.6.0.4.nupkg.sha512" + }, + "System.Configuration.ConfigurationManager/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Q1LknxnRmmsUXt/ElBp739Gexppy0HeDYxvExpJq09jAYhpTHRRRkZIwfNKfM4BGRlFzRDVdnerZawxoE8naMg==", + "path": "system.configuration.configurationmanager/9.0.9", + "hashPath": "system.configuration.configurationmanager.9.0.9.nupkg.sha512" + }, + "System.Diagnostics.EventLog/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wpsUfnyv8E5K4WQaok6weewvAbQhcLwXFcHBm5U0gdEaBs85N//ssuYvRPFWwz2rO/9/DFP3A1sGMzUFBj8y3w==", + "path": "system.diagnostics.eventlog/9.0.9", + "hashPath": "system.diagnostics.eventlog.9.0.9.nupkg.sha512" + }, + "System.Security.Cryptography.ProtectedData/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XN37933FTzEkqGJoOTunvnvzAv/4VO/9wQ0QwsGcrR5KyQpYT0z4Ssm+f+fpY9bea6srypFp3JjNPHHC26xzLw==", + "path": "system.security.cryptography.protecteddata/9.0.9", + "hashPath": "system.security.cryptography.protecteddata.9.0.9.nupkg.sha512" + }, + "DigitalData.Modules.Logging/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "DigitalData.Modules.Logging.Reference/2.0.0.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Encryption/bin/Debug/net8.0-windows/DigitalData.Modules.Encryption.dll b/Encryption/bin/Debug/net8.0-windows/DigitalData.Modules.Encryption.dll new file mode 100644 index 0000000000000000000000000000000000000000..3a29e100a698e44eade5a1fb2c9c9ae890baa4bb GIT binary patch literal 16384 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 literal 0 HcmV?d00001 diff --git a/Encryption/bin/Debug/net8.0-windows/DigitalData.Modules.Logging.dll b/Encryption/bin/Debug/net8.0-windows/DigitalData.Modules.Logging.dll new file mode 100644 index 0000000000000000000000000000000000000000..e7446bb6210f2538b332ba2543a839813fb442b4 GIT binary patch literal 27136 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 Mz51_SoTCT+55=?J!vFvP literal 0 HcmV?d00001 diff --git a/Encryption/packages.config b/Encryption/packages.config deleted file mode 100644 index b610ae85..00000000 --- a/Encryption/packages.config +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/Filesystem/Filesystem.vbproj b/Filesystem/Filesystem.vbproj index 77010a3d..b70100be 100644 --- a/Filesystem/Filesystem.vbproj +++ b/Filesystem/Filesystem.vbproj @@ -1,133 +1,31 @@ - - - + + - Debug - AnyCPU - {991D0231-4623-496D-8BD0-9CA906029CBC} - Library DigitalData.Modules.Filesystem + net8.0-windows + true DigitalData.Modules.Filesystem - 512 - Windows - v4.6.2 - + Digital Data GmbH + Provides filefunctionality for DD Products + 2.0.0 + 2.0.0 + $(AssemblyName) + $(AssemblyName) - - true - full - true - true - bin\Debug\ - DigitalData.Modules.Filesystem.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - pdbonly - false - true - true - bin\Release\ - DigitalData.Modules.Filesystem.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - On - - - Binary - - - Off - - - On - - - - ..\packages\DigitalData.Modules.Logging.2.6.5\lib\net462\DigitalData.Modules.Logging.dll - - - - ..\packages\NLog.5.0.5\lib\net46\NLog.dll - - - ..\packages\protobuf-net.2.4.0\lib\net40\protobuf-net.dll - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - True - Application.myapp - True - - - True - True - Resources.resx - - - True - Settings.settings - True - + + - - VbMyResourcesResXFileCodeGenerator - Resources.Designer.vb - My.Resources - Designer - + + + - - MyApplicationCodeGenerator - Application.Designer.vb - - + SettingsSingleFileGenerator - My - Settings.Designer.vb - - - - - {8a8f20fc-c46e-41ac-bee7-218366cfff99} - Encryption - - - \ No newline at end of file + + diff --git a/Filesystem/My Project/AssemblyInfo.vb b/Filesystem/My Project/AssemblyInfo.vb index 86b1df22..256e7645 100644 --- a/Filesystem/My Project/AssemblyInfo.vb +++ b/Filesystem/My Project/AssemblyInfo.vb @@ -1,35 +1,9 @@ Imports System Imports System.Reflection Imports System.Runtime.InteropServices - -' Allgemeine Informationen über eine Assembly werden über die folgenden -' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, -' die einer Assembly zugeordnet sind. - -' Werte der Assemblyattribute überprüfen - - - - - - 'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird. - -' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: -' -' Hauptversion -' Nebenversion -' Buildnummer -' Revision -' -' Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, -' übernehmen, indem Sie "*" eingeben: -' - - - diff --git a/Filesystem/bin/Debug/net8.0-windows/DigitalData.Modules.Encryption.dll b/Filesystem/bin/Debug/net8.0-windows/DigitalData.Modules.Encryption.dll new file mode 100644 index 0000000000000000000000000000000000000000..3a29e100a698e44eade5a1fb2c9c9ae890baa4bb GIT binary patch literal 16384 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 literal 0 HcmV?d00001 diff --git a/Filesystem/bin/Debug/net8.0-windows/DigitalData.Modules.Filesystem.deps.json b/Filesystem/bin/Debug/net8.0-windows/DigitalData.Modules.Filesystem.deps.json new file mode 100644 index 00000000..c97c6c6d --- /dev/null +++ b/Filesystem/bin/Debug/net8.0-windows/DigitalData.Modules.Filesystem.deps.json @@ -0,0 +1,199 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "DigitalData.Modules.Filesystem/1.0.0": { + "dependencies": { + "DigitalData.Modules.Encryption": "1.0.0", + "DigitalData.Modules.Logging": "1.0.0", + "protobuf-net": "3.2.56", + "DigitalData.Modules.Encryption.Reference": "2.5.0.0", + "DigitalData.Modules.Logging.Reference": "2.0.0.0" + }, + "runtime": { + "DigitalData.Modules.Filesystem.dll": {} + } + }, + "NLog/6.0.4": { + "runtime": { + "lib/netstandard2.1/NLog.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.4.4534" + } + } + }, + "protobuf-net/3.2.56": { + "dependencies": { + "protobuf-net.Core": "3.2.56" + }, + "runtime": { + "lib/net8.0/protobuf-net.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.2.56.57311" + } + } + }, + "protobuf-net.Core/3.2.56": { + "runtime": { + "lib/net8.0/protobuf-net.Core.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.2.56.57311" + } + } + }, + "System.Configuration.ConfigurationManager/9.0.9": { + "dependencies": { + "System.Diagnostics.EventLog": "9.0.9", + "System.Security.Cryptography.ProtectedData": "9.0.9" + }, + "runtime": { + "lib/net8.0/System.Configuration.ConfigurationManager.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "System.Diagnostics.EventLog/9.0.9": { + "runtime": { + "lib/net8.0/System.Diagnostics.EventLog.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + }, + "runtimeTargets": { + "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "9.0.0.0", + "fileVersion": "0.0.0.0" + }, + "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "System.Security.Cryptography.ProtectedData/9.0.9": { + "runtime": { + "lib/net8.0/System.Security.Cryptography.ProtectedData.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "DigitalData.Modules.Encryption/1.0.0": { + "dependencies": { + "DigitalData.Modules.Logging": "1.0.0", + "NLog": "6.0.4" + }, + "runtime": { + "DigitalData.Modules.Encryption.dll": { + "fileVersion": "0.0.0.0" + } + } + }, + "DigitalData.Modules.Logging/1.0.0": { + "dependencies": { + "NLog": "6.0.4", + "System.Configuration.ConfigurationManager": "9.0.9" + }, + "runtime": { + "DigitalData.Modules.Logging.dll": { + "fileVersion": "0.0.0.0" + } + } + }, + "DigitalData.Modules.Encryption.Reference/2.5.0.0": { + "runtime": { + "DigitalData.Modules.Encryption.dll": { + "assemblyVersion": "2.5.0.0", + "fileVersion": "2.5.0.0" + } + } + }, + "DigitalData.Modules.Logging.Reference/2.0.0.0": { + "runtime": { + "DigitalData.Modules.Logging.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.0.0.0" + } + } + } + } + }, + "libraries": { + "DigitalData.Modules.Filesystem/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "NLog/6.0.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Xr+lIk1ZlTTFXEqnxQVLxrDqZlt2tm5X+/AhJbaY2emb/dVtGDiU5QuEtj3gHtwV/SWlP/rJ922I/BPuOJXlRw==", + "path": "nlog/6.0.4", + "hashPath": "nlog.6.0.4.nupkg.sha512" + }, + "protobuf-net/3.2.56": { + "type": "package", + "serviceable": true, + "sha512": "sha512-4IPJeTYAMNewlN8MDaFkcmR/9hLhJeo9eARnTh104zh7mf+vXT2gu5MUfUnkSQU+CH578Q6vcdU7LQDQPG6eaw==", + "path": "protobuf-net/3.2.56", + "hashPath": "protobuf-net.3.2.56.nupkg.sha512" + }, + "protobuf-net.Core/3.2.56": { + "type": "package", + "serviceable": true, + "sha512": "sha512-d6QOukTpDzs7zZv9tPnBZMtvHDNeHJQXUhMx54g4urUQsXK3oo9U70H9HvklYq7hlQ4A7AHJl7EVEqyCXXIl8Q==", + "path": "protobuf-net.core/3.2.56", + "hashPath": "protobuf-net.core.3.2.56.nupkg.sha512" + }, + "System.Configuration.ConfigurationManager/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Q1LknxnRmmsUXt/ElBp739Gexppy0HeDYxvExpJq09jAYhpTHRRRkZIwfNKfM4BGRlFzRDVdnerZawxoE8naMg==", + "path": "system.configuration.configurationmanager/9.0.9", + "hashPath": "system.configuration.configurationmanager.9.0.9.nupkg.sha512" + }, + "System.Diagnostics.EventLog/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wpsUfnyv8E5K4WQaok6weewvAbQhcLwXFcHBm5U0gdEaBs85N//ssuYvRPFWwz2rO/9/DFP3A1sGMzUFBj8y3w==", + "path": "system.diagnostics.eventlog/9.0.9", + "hashPath": "system.diagnostics.eventlog.9.0.9.nupkg.sha512" + }, + "System.Security.Cryptography.ProtectedData/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XN37933FTzEkqGJoOTunvnvzAv/4VO/9wQ0QwsGcrR5KyQpYT0z4Ssm+f+fpY9bea6srypFp3JjNPHHC26xzLw==", + "path": "system.security.cryptography.protecteddata/9.0.9", + "hashPath": "system.security.cryptography.protecteddata.9.0.9.nupkg.sha512" + }, + "DigitalData.Modules.Encryption/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "DigitalData.Modules.Logging/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "DigitalData.Modules.Encryption.Reference/2.5.0.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + }, + "DigitalData.Modules.Logging.Reference/2.0.0.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Filesystem/bin/Debug/net8.0-windows/DigitalData.Modules.Filesystem.dll b/Filesystem/bin/Debug/net8.0-windows/DigitalData.Modules.Filesystem.dll new file mode 100644 index 0000000000000000000000000000000000000000..62d62503dd3a67057a5c509373908257248697a5 GIT binary patch literal 26624 zcmeHvdw5&bmG3$a9UV!wY)Q705GRodNtM_ZcH)o(5{TnRVzBeFLrCM)kuBL)BI`Jk zoWu=IZBkm&5*mg{c@$b;pttk|Y3V?x!vLkz$58sX9a=gADSXfl%(Mf{w4Ks2;r`a% z=SZ>>puO{bckUk}`>eCq+H0@9_S$Q&{WwSJdhZF+h)Bov)>}jmxIE1gf(^b9An;n9pWl!=Xm2V&{8l?(SL!kMvjIGGN&Ztf0`Sn))(wA6cn zEqY5EQKzEO_;}M7oZ6nJ^TR%63(@;PF(tKs0{1YkNnAwbBCSfjnZWvs&trg~^GBmS z*D@>r7w$I7Bz(#scQYp@iLTBIVS@d+lc)sAHxCo_IJ7_J9?q*SxJ}?2i^@fFi9GiX!)9T*|hH3TN(hq|^O*+wB_(2NtVZZ=xTBMHkC3kpobC9z2KuRJ}K-0PquvGO# zO1VE9fOt=@BD2nIT8%*HS#sC8-FA9WWEp57-L_ajx8Mx5RN;*@fqoi(qeR$eX3^Yb zaww<}(R8UyvsZRpPGPu+!hQ;?@^A`JWCcoV)=VC0-oj#nQrSc+{3>|&1ck*C*Y~;w{8Cw)N8FnrsGBHRT>Q# z7F@oTaOZL<_^OWkAZd3mnx$Wl5T)F`XtwKm$U|a| zU%xwovF?b**wpA7uovcv02x_u8D7J$PryqM>>_i3qqdMM;HnE`Ugi2C5b4cg{`0;c zLm6?(%M3=q0K*bJ&v2z+(5ueqdiZ5H;2CufJ9C{cvkOew9U{A`M9W@z*wR30 zU5#Bwj79l)y7fv=t@25i$P(P%86c;?WyM*T?Jq>AC&Bgj1OEDto-PY|&s4!J=i1TD ztisqX3zXGW+V#8&3HEqGi=Bof4X1@@VlBCsN?$8eeCH|Kq_6#fu9;8}OQf%{D4dWG^UL z+4qLE4~S2XAohC~8`cPJC1yyk3b|?{0X^WlEoA73O8M&HA4b4kWu=*)0xm=i_+3E1 zA$dj*nE|u@?_46>wYfvys*tZX8t?{uw}nddK#66cj8HjLssiQi2$Z@amGBm5?1Ly@ zz!&feQEc&V5G`fj{}S2+!ml}pUJS+>F7;`TT*Fx9s3#3fpy`A#=Uhj0RwM@A*P z;AS@$6j3WO3O#IpKt+083C7ecIi_lrDt6quxpuK+F5Zl&a@lDa9F1r}~1dryJ%RTShZ zd5(V%6bu&n8jg$Z)*&i{uEiwbT~OY)pqyi?l+I<)SrpD>_scS_t-;X_xvxh+F)m420QB+r56D7DU<+!Yf!2@68^*_duei&_% zyOfJXEDSO%(ObIl%g7t)+#TL^$0l`4BM>q{%)YUBd%$VSYFTEVK z>AdhZ2o^#!^`)PkW&+tLv0j*9ttGBcV5tIQvMpg&0_NCKcqjWNOwE4Gbe0?W0Gq_X zisb8X1A9fI+Ih=a0Tkfz+lX>=xg4p;W-TKZAzR}Gyg{e!_{58DZlxh71LOUoJ~`GD znl+ndIdSMu(PKqk51o)M=wa)L&4UqH2_UTZ$LTV+x}eJv$iz_RKIXlPfeirnh})Wk zaj<&ft}?ADAf+CAn8U^@aXD<<*_OfEg2$tdVV~V&@c?BV+tr^f8u)SVeQ6XxR@7K@oI&?KuU=@*eU8o$@-t z!6+=s>*vj`${vFVuc1|GHzci(AWeq#QNBSRqt0#Ei!yYalvP5NHI6J7bwU>UmUWpk zYgU-&-|Y1$jXCf*ZnO6O!$Y%vd_0E2C2q4y5+AZ|K-OY=mc-_#ql2 zD%%|WLkJ|WxgAd;AA<~Ukj_+H2;tTVU=th+R5?0$+}lYWD2N@J=r@GJfO;6#)4dqe zTI5EQ%ONtUCF<2oHQl_`t@Rr27jvweVqafo66=d3Z@ z56P39#3(~t6a!O@V8vxbJ`S=gax>TDf%i|q=Qx1Eg)s0LMs7i#bt{0k)-tTykl^J` z8}69hYt_Rn-kseHVT*)WtSgYDMMplt<+?a+-Hs&mJYDZBf7HXQUw&D~Nak4ti5W|H z!@2_{c@SUgRwt(OwK1(Nc|<5=O3pJMWXM!%}fp zvKBmxgv|t-^(ka|YXd=w+=-OWJJzuS^pCD5AXtv0B8Te{U&`#p}Kkz z%7tu9*F3-RxMdY=+3(5A7PglwqjD_8MMZAwFGPL$8cRL(-#bT*PJQcJWPR+jXa}#m z0+hW+=$_q;7F+kSJa@LQkS@d)P3+gPtV5YkgKv@SXX}4)nMIoQ8F62**1C@qI2$`- zptFtaXMtLuV;Ym%^Q6x^qz!q}7aY@>Rd0EohKq=!ha$W(Y~ zROX4@j@)3fy?LBq4DuL*?pH##*U%?m0k|p)G!AoGNVQHuv~)+|g0|?T5M9JoBwszu zo{#2Dc zmzO!qX_Kw~mBMEEY@3s-vC4R6;e%jael10N!w?C|`8dtxB$F^W9TF#*1a2nXU5K+# z(97pSSd)mj!6!jTS4}YM(vQdrG@LtVhY?(z)04vpe7ZQu;B|>c4X`Cb3D&A&ajFX5 zs>nkSj(*gvhmlZ4p~zPSP45#9=`?`H6Yn*o3{`s5F76gSk94@$52y19+w?koUvy@V z>|ddhMVV`0KMUQA!6nYTWO@RF)>)gnojUDZ7q78q&`|k%Q31D8#g3HiF51c6APySf z8!S;S%dNi#Stxy4mLt_x=K3OKZYfINlTS||GKh7aMos6ghZ&0Maf<_n%mXap5!5Sf z%Kg!f@^!+u``I{#Hi3}~-(~?AX#*f;{{|%@`W5u=a!xh4Xh7cN08C=kn&$4L^E>t7wf1`U-~m1E;l zx{M{eCPDETlUP>$NS{|yMK`&+eCN^UOCK}OqZ`e~pu@MlUX=Z+fRC53gq!IV?|d4k zb)cVL%DHDs7@n`c;{6yMK^!vZ1I8U?=hKjTL&;+LS;>=tzw|wc8h->iOX&gkhs~vQ z7|@_Y>MPzT{Tt-Wr%wr)jY9L+1l$Kols;#`3%6zqze)?g6 zZTKd%@>7$->4(hERT$(cV`-ljGRuOmcrT^b)wQJt?G`$J1U50K4O(qbHkGmkI!c-H zRbjEORB~O{2rJzoC?^DeNLcR?m2>|!$Z$|+_=j?@;-@No7oe+Tm$II!%Gg%bCd;gZ z1={IF<%kv;kUe@iqcNR(=DU|n~eeW99C4@L>`Z%oxrXX zScAY8(^Yg0QeOn;PSpKg?3;)l0k)1J=oiNBu(3W-4r0N%1kXDIw8l5f2+$MyT);1= z3yd1Nt8^jY3G+RG8-mBN%h?aOb@Kbf@Ff9%L$$`%$qMB-TK*A@;ngC2of0(^YA9_4 z{GIP2z$5-k0KW{G3Vi}H6Vm3IN& z9^8SlU-TS@#fB>OAbkh;70L?uO(hOF6F!#tA41Np>JTWmswu#i%l895E+A93gkb;* znFFQckaLTTeNI0D?0y@2NIwefVSxo^f2`~!*ztP;GiD#dXi(`HfmN9$6~_#fUbD*` z4lric5I)SgS5xVb#K@)JU}*F^8~bO^4Tervoi8}4!FPk*KF)~<#&wv^cYVBC}(PMSD2c3=?mOXv!Lu}=(Wm(sO)>_3flbc@7jujX>M&^K(XUn_C9(X%$zi#XRt6&JEhgFaqX z4lHhCwm2-rl=OU&$07q~ak>}AYpm^*-NrY#afYZtk<(C~7R zM|WYn*i9d_u@jh2dgyr@TZLJqhqmwn4|+ZvT<-3n58BvEr7MBCSIE3M>KgZUT4!UY zlr`=h^sJ4oMBYv+zesZaL1}gGqMry%YQ39&CNcB+P?u{ry<%gxg*x54>ECRuA9?Si zH*IVbd3bb-)f2bx3FUgVkIE#5_8HVitMXX4yN`MWrkU$#r+W_7tRP{Ept;YT!v-|!URkeAboeGCI73{%KeDPG3uAAw&b zJOD@f0r22_1$2$RgS1YMic;r6f=X+3rr)HMm+SOlUwOHUYJ>!?OQo-1%`EFx>BEqw z*_1B``Ck*1XRv^U4&L%|mEN$^OnE|R%e5%96LM5~3w6o#xhOJMLM{tw70kappVsK4 z&|K#JV^J=ro!qMxE_)rIX4~zGyd_mSfk|FkRi-tp_oh?Ml^ewZU$v!4ehHrg9VbWu zhD%YS11}Le6!%xFs6|5VQ#><*#WebXu-IuomzA)$lyj$q&VNjLwcwPnQ+UpQ3V-;v z(D|rn?>(Zw4nPNua3TO7n2)W9LXERW%>hN|@deNgk4;?GxCp0|1=Ky-K zUOI-D+Xz@mt3|q5zzzYo3b<3in1D$E_X{{K;FN&J01dhk@I1Ozr0){&J^_CS7^W8h z%c)sm&JF>S0`3P?=vKhRbc!Ahte_t%_1YzX8!KDst0;9jy`l`OJLsoE+9?5Fr~671 z^oDX_a4)@%vKHW8-xw&nK~dDBo+(fstvrtReeP9H2zWEiQEyW2Ck6app(U!z^$0bp z$2?EaYIVT#BsHtAW6jo~wv_z<61vKMf^;KRNn6!N=rzD4f!_-LH)$vMy~^v#y=uAg zhVnD*LclwH48H(aL6fuw@bhTx>&hZ;yP~MIrR9)WTRKHCbwa%y^qgli_;>2tl{sp6 zs1H2GM6YB z(C4Tz^W%`YIdr}Hy7HOOcBMu+S^k)MpL)FVTcH12`S-y8+mfe|X8t#n|M2`1O1WJ3 z(;GC){0-8(UB3t1=qu4`)PF(0c$C?&#vIifsL@_mS@Z9xmhU>q&v{xjZuLfu`*FLr z6`BlaI|27Z0j<4Ai#Z_-xfx(bGqfIF2SC^7IDq-Z1NJz7jzSovkZV`X306z!n- zZS4(M zh2`UdXG&Qas>I0!=dRY+S38B|PQf`P+A^hl4*fNyT2I(9isLDV#)w`UI1i$j*3!8iFuBSQbz^PG5RuH;?5Dy& z18(y?At)~jxJUgOOIDd@Ql#%ve?&>oiXx>=;}bTiLm0M2l+6v^Clmtyde>#E zi2juRjQ(rA&b8Z>ba^m);Z<-%4;3j5e>(o$IAQbg+l)B1I_@TVQvWl+@`{@QKN4UV z4c!iSwQ?8WCqoRc5%80tdy&ow_$}pgZWHGZD$e6B1(Y@L-6iUBA%zn$KsV~*H)njH zM*#WBFJ61XGl4QdyxR$QIlN1O-{7q@jI2tey8u<%gtr9TN|SO@S)-=Z52)MpUHYhg zjee8j}>tmwI>Gi&e70=AF-Gat8Dtw;AN`%)Oh0jM_x1K}iuL)g@0vr9g>xfWy zdcDt`quyGqEobVoR>+%P?@L$@&E)&^Ioh^N)WN*$Vcq3?y6ob2sK}423|Bdx1_W>g zafJZ4(lHvM(-^zQkluy!nq$0bp_907#q~8BRBy!PQ@*GLa4k|U)rXWC*ND>W8d8pN zRedcfD?64+T+r9IyuP6rZCp76Uo`_?&3I>Qq(2@*=?02rhKdP|)X|n68%bnh{i(#B z0+zEfz&exJ9BxC2Twg~nF@o%LZuv55A4?DHSw=l$qbReCT9X60q?L|k#(_Az%cy%} z^Rg8e3BvZC_Eof|%ZiVs5|`4pwhe7p^|f@iHE-%`@91pX)ZEoJjku+`XCrkrUnO$; z80!Pq1`xZ)v(O{jv6;AFAD8TFZfR-j?(XYp>+XSm=|rYAmW$DrjI}p0kP~UUREw2L zfdo~v(G3YOCI_f1Igqik)?hArWimS!ORbM(L2XZ_5*=}&dW)6L#gbqK-f9iNROuX& zn@1DrZHZW%IxT?ac${MKcwftKEIpKn)5cgjo=UJ3hr(vr7|S|nPa>NWm1H}ufqf_e z!zMEL;t8i&(zZl8HZo0;LlO0460zL0+!mX{xvhy*VtTGa;ask^J9Yr2Gl>!FK%$7y zJ)RyI&RFT>`;ogTad5*}GEUp9v2>hz;5Ug}S0Xoz$M{=f+3Z0p6Q>KVTz>%?5KHwX zXj@`56&pxUJTVv>OXWJ!*<36Qoa;l+C#c058I5HUZHESgl^}9og4)vYj`RTwsr8AW zWZF&_T#`Ckli5)#%kD{RwJovSa7T7WCYckYZDZ+NawO3+KAMn5rwxf5W9=Dh#HMgR ztsl=NvP@%jh>Ir#smBro6cYDt`_A392^}C@U~?)i(y$0Ki8LqRD-vPu_OVn-qvSybwM}^!m9A{Aj z;~7LbHl$04mcw2d5gs5Z-kifD!TvE+!-JuKZA_#_uSksZC@2u~rCQ+c1#)XbYO~2o zZ_g$&=gMSXKD$6((?ZsaCKNKzm55-;X>yvg*~CbHYP=_zD;5u9q~oznT*l*qh>giO zk5t5HcFO|Y(Z4$fFG7468yYTT=IhAB;)#)1W?vyo#*B7+g)sp;6=igfjgDFwSa);x zmQ*Y^Xk|ubmO7j6RK)&lkB&kiC$l5X!h~DJQg6$Jm_C>s8p{a2f)Kb_tP2K9WC}El z*_<_#$b&Zt#o@f$5~lV}n>vSVPi=)R)R9?brejLA=F)Mr~?Y?PzPblw8i zGMpILmmM47`M{?3SWZFv-aXcz6>kI3Ca4NqU<`}!fLMTue3;sWqse4y41_MsOd{s- z6vYZ6#&MGcI?8SI_Y*R6;EUYmY*&J);G!(vfR!@ zdI(8Os@WY$Brwu5IhnNj_mYT^EwNOpKQ^#0A2;)aQQ7n!OV|fJ(>s^E!xqMr zl+N*Vo58SrqV3#`iNe>DLutC)N~VP++YaRtX`X?L z);Qd_0)4cQM6XRln2|#$_klH5l*bviC$o}_^4!jR4w;P%oki7s14T$tXycKIDN}@< zLVJp0nnT=x_fvQ*Pvf+MO4J$XGE*!-5w5t&&PYrQ+UsTXh_gPia_zhz#40W^Dwvxy zLt;_9c`Ubia2v0G&(14Q&gC?S6Pa--Y)34U7SX83!eAR6$4xBIxbbAK9YmTJUDyPWKa4Nyc z0g+3fPwf=P#UdFUo1+DdqdQ``0W7V=cyQ8kdE;OOW`|-g|Jx2={K<8#EH9SwXH&%( zoJO`gl~*6F)(G0cbC|6J&sAcRBUH*`VmC#7N#0b6$Og5rO(8jb*vRI=!Q_D0>(~U2 zysW>CatJFzxjR_~FAfp;lY`?nA+KL?kcslj6#5*%42DAMleq%o_%G8$abwFjXB{tT zO~!`O7KY_Op5zQPF|;gHkU0QLW#4u|EjuL7=8QtQ!^wBpS^2itX5S@jM!UwNj)%W1 zZ=Ml9halr8iil+_=3@^3S+XJaYi)~-ER~$?go69T}d?bs>NgOxigpXwHRR@>O zlH)2uxFj*muXqH#2x)H>=5=&*2bO55x(e5jUsaM_(xpKil{OTX-o6gidVWYndq6UJ-_2yH6!+hk~5E?W^8Hgl_3>*r(Bcc#Dfn}Y{WTCveD6^ ztu&@6^lj0~!{W7WCp)jG-!`g9Z^Tf=mY6!4dHZW4)3(Gmtu1{ZiL)I(zk=cIAS;_Q zmVuW-Z;Z9VbRx4b*XP*UJVEnkEJ|njq3rEhi@8?=Iu&}ILYIco7kLFA!Hty8lofsIy@^C!b!V2@x z=!_1J3x%9b7&WKIN$e7wC^l{%F|e%*G$=NmASdbqL*Y=WKx4-)U~MC#x$&alVaLaD zqOGlz#My8XzhDx>8_BJJoQmQZfQ4snW1!&}1$aAnWO^KU4%87)w~1T}d>K4vVon@N zU*_a4|L@B*iEVnON-7#h~rNQ>g|#|H2ncmh7Tl{9Oq8`FQ8@ zQaqjMg@j(@_d-H1%Jf15aF+I>#>4ovh&q%cEi5Sfe9NIkiPoO2O$@ql3o`Gn%gQan zBEx@b8)|mFo9-(LlK%vKw0cq|KYDhPk}yOVjlyab_Y@!-Hj4Dwyaz>BrtBthcZ{K= zEFGp%(Mbnjp0uD2iq6f^ux&6lTSjyxy9F)Z3{1KZcQ;EtyGGWIJ6U!yE#CxL2hYhl zUALk#t2=}~Tsyl|9Cfm*vOAr-zI<&9o%}FytFZ7xS+-A+^jhY5XZ`c?CU0~E7W`W_ zj7`a7AqDlq5N8PkvhUBVnj65KbGGpYp$Lz&g6!!g38MiC$mJ22Mk>zVT`ZOLAErhg z2Xl%s9t#sN{Bq7&UGOWh@`x|AG(m?@mZJko z3^`W10$eyk#T$W1I~t5Yd*+gHA&ibpBh4Ma9Xf=IM<&}X2RGr;oZoPwV@H;8ft^dZ_hqff zs7LCvgonrGv&$EkJ1FYmcJ-rtM%2#jlUh2Qj_VaiGl%w0 zJ{QmHZu`mj=5y#iirTnlZgUEM`^@sR=v+0Q#btF1 zE6Ta#T%O3ZxA!{k8yVBzZWI>0fd@bL&P-n~*p;op8pcp3+oa&#>=|LaW3dmVNAV|T zG4#&lhu=xy+nbABk1Jy5ljiP03I|H4hP#JdG>oCZZe57mJcyWI4jnluv$9ZR;+^!E zKI9LgZaMw;Lv}(m?Y~(2yzS6T8l_l&=|VIw2FH<$1+1@8BWoVTbqE)A6avjVb#)zD zU9g(0i@UUV8PPJ$sxlOCXqMrnh_kC*Xe(#0g1rkI@8s$QE$l&7!|l8nE+hYVDbs~N zzQ^&0FuZ&^N4?0e7rA}t>0zoz-;V$e+J6(I%#zltN3i1{FBdtW&nei;3F7P(u;fZ^ z758Ytr3c_kY5WyWOdNt_D75vj+=W+(iv4jnB#@wT_~dm3b2`**zzU&4P-}OIg`qQr zNnWXc7_F+ul8$xab|`oqDJMLgd{IcX(5r_K)T3fxu}^UN5ZaODw1)4>edzWVAM5?b zM>}tR{$F3({os@DBR#ArCKi8+3yDC0Q9lFK6;>6$Ur-YU=S_ac?bd?3)!=TtBBNGU z5o$UKe3&C~F;5x;+)Uw7l? zZctEeKH>XUe$~J?)iggo9(+v+pTLx-)a~*ICxVkx^IXBnYw?OsaKg`31*ZZgUPcK{ zRl36p@}>ehDgJ7M6lis=(V!^!2ARvt2;LM?pt^saYo1FKSpqfYx%_AqlQg$dt#Xb6 z4zwEe&USO{e!u3g3{Dk3tIUXCkY#l#83ti-n*?OjP}q zZo@8t+i}GYVGw18)p>p`Fts93t|%g7K2-*%)?{lRiYwR!BDiJ#u^ zLratsW(h$X*tHslRA9aiwy`RVS`FKPbzb!ncX_aZRk%@96P!GWpY{k$-l|pxChvf~ zPKy6)K@{z%hRKi%V*!@>!q63!fyeJbDh8{Z6uweDd(K(f35NOjF%#~GlcrOjCrqNQ z5SdP$u%I88>Vm&ao%E=qK0ccv77(r_pmDox6hv4(T zcSN_TZ~?!^t*gS7u4Vsr!Jsg)+oiI1UCW*8Cmqfem`VnwMgmj&U2Y9FfaJi`m>&pt zsat^<2o+Kd*ctUen%{J@!&X;U!{6uORae*^CUdL7>R`3O-a0NuQgEEdLl|OI_Ka%L z+H1XTo&AvikPL=75e$3Wnn+BZ^1!a_@AL7a6(|jlo99AqFpR&+Q!XA-E>rjlj{;OM zQ5x2{_w9zb!y0p#CQA%X!1KedqHG@hUhtUA1C0WckBBaR1pL7!{==(p!Kq{NA5N*w zr}FvuB@?Mnli%$^$Nmr<#zs`Rm;V-qu5-HkaWs{kPpd}I;IVUD39iE%e$r|EaCUZH z_6e2}65bDKx&ae%<3i+jYqp;}9-Mp}HAqK&yv(gTNv5k_bciiq_RZrWa82FCx8T&h z@^+sIBd=1`U=#2V#6wZ`<8^8XhAtXkF%_=MCSM0N)DVp13a$y(aY;{us&UksujpP3 zDm2bS^AQN4GhP}ragz?fjtB=){ccp+34ekCP?=vfAGoaV1A(W#7n|Qb9D3`i`scQq ziwHJzhhrey6pA!Q0*;j0y1qpJoJiuGuWscy1O0AdVE z^auvJ7QqiMM%b^AQccBvM|3`aWw%GI+JU1nyqJ=ILdP$79Ly@US~gbS$kkr6hDK|q+;UrCzDHr!BK_pjo2rDVVuFm!W%~V zH{xsl3c2Ltc#&L&@AX5qL-&bh&h?gJv!6(kwbK_w=eF(R< zhQYzFcHsaHUn}wMNT%a3;!4&_XOmS3WBc_@ICVGq;F1%wiikcww6BJb`!%5YJw~Y1Ul{37w)q~d!(`)-zu8gf1SaDI~>g7#|hE=N< zo?V%I(&5wzJ*C~HWw$i9@;~d$pRG6bzeq~g7G}8x*Osesy^nL`hug%j7{3SC%gB4V zD33YtBJs4(w(i#MuYPd;*6+RiQ0u*OJARTqawCQ!QQO76-FQhek;H3CUA^+9)v)Z3 z-VGf+z03MqJ3HAQ_a^q`61}ah_6s+?h4b=WybIDRMo=%_+rvPsKPVlx_nikrbTr=Y zywz)~_UlEqYH0pI`^`Hl%Kq>#wcmTKzHB8nTFz%Hr^605{qFp1x}^3YP_(8}T^I=@ zx;BxB@_QuW^VT8=nQ5l!(*D1}6rt#BoJmYqNseKJg|q0)hu}t6Atx+HGn0^R0=yFE z9esdp*xGgD*A6!0`vHBpZ^FsfX2JJ}{^}X|PP*fy>@7r>3CQ2+oB8HGev=+F1ycD0 z%Gs`VV2jD;H2k?hlyN<=HlRemu-6fMk3z|7&*yzvaWuha zL&dsofqs0Vmc%w!o|_IL%^P$+Vo#%t!_5Z~d?drCPHYK2(`vts(p-9=6#pIf8U<>;nxb48P+dY?Y~wJ)WolTTzHoJnLR1n&h4*7pDxGWGW6#~ z@a2`bR>3P)AhisCaqz@ptJSap+j0f$k$|^0g0BgwK~Vc~4Is4=60i`#NA^WCEY1f= n?A`J#c%~i&f0BJ63jYuI@3+9H{GF-z+W&r4{zrrV_ZIj+In1GE literal 0 HcmV?d00001 diff --git a/Filesystem/bin/Debug/net8.0-windows/DigitalData.Modules.Logging.dll b/Filesystem/bin/Debug/net8.0-windows/DigitalData.Modules.Logging.dll new file mode 100644 index 0000000000000000000000000000000000000000..e7446bb6210f2538b332ba2543a839813fb442b4 GIT binary patch literal 27136 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 Mz51_SoTCT+55=?J!vFvP literal 0 HcmV?d00001 diff --git a/Interfaces/Interfaces.vbproj b/Interfaces/Interfaces.vbproj index 0a34af63..f5df8480 100644 --- a/Interfaces/Interfaces.vbproj +++ b/Interfaces/Interfaces.vbproj @@ -1,312 +1,37 @@ - - - + + - Debug - AnyCPU - {AB6F09BF-E794-4F6A-94BB-C97C0BA84D64} - Library DigitalData.Modules.Interfaces + net8.0-windows + true DigitalData.Modules.Interfaces - 512 - Windows - v4.6.2 - - - - - - true - full - true - true - bin\Debug\ - DigitalData.Modules.Interfaces.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - pdbonly - false - true - true - bin\Release\ - DigitalData.Modules.Interfaces.xml - 42016,41999,42017,42018,42019,42032,42036,42020,42021,42022 - - - On - - - Binary - - - Off - - - On - - - - ..\packages\BouncyCastle.Cryptography.2.5.0\lib\net461\BouncyCastle.Cryptography.dll - - - ..\packages\DocumentFormat.OpenXml.3.2.0\lib\net46\DocumentFormat.OpenXml.dll - - - ..\packages\DocumentFormat.OpenXml.Framework.3.2.0\lib\net46\DocumentFormat.OpenXml.Framework.dll - - - ..\packages\GdPicture.14.3.14\lib\net462\GdPicture.NET.14.dll - - - ..\packages\GdPicture.14.3.14\lib\net462\GdPicture.NET.14.barcode.1d.writer.dll - - - ..\packages\GdPicture.14.3.14\lib\net462\GdPicture.NET.14.barcode.2d.writer.dll - - - ..\packages\GdPicture.14.3.14\lib\net462\GdPicture.NET.14.CAD.dll - - - ..\packages\GdPicture.14.3.14\lib\net462\GdPicture.NET.14.CAD.DWG.dll - - - ..\packages\GdPicture.14.3.14\lib\net462\GdPicture.NET.14.Common.dll - - - ..\packages\GdPicture.14.3.14\lib\net462\GdPicture.NET.14.Document.dll - - - ..\packages\GdPicture.14.3.14\lib\net462\GdPicture.NET.14.Email.dll - - - ..\packages\GdPicture.14.3.14\lib\net462\GdPicture.NET.14.HTML.dll - - - ..\packages\GdPicture.14.3.14\lib\net462\GdPicture.NET.14.Imaging.dll - - - ..\packages\GdPicture.14.3.14\lib\net462\GdPicture.NET.14.Imaging.Formats.dll - - - ..\packages\GdPicture.14.3.14\lib\net462\GdPicture.NET.14.Imaging.Formats.Conversion.dll - - - ..\packages\GdPicture.14.3.14\lib\net462\GdPicture.NET.14.Imaging.Rendering.dll - - - ..\packages\GdPicture.14.3.14\lib\net462\GdPicture.NET.14.MSOfficeBinary.dll - - - ..\packages\GdPicture.14.3.14\lib\net462\GdPicture.NET.14.OpenDocument.dll - - - ..\packages\GdPicture.14.3.14\lib\net462\GdPicture.NET.14.OpenXML.dll - - - ..\packages\GdPicture.14.3.14\lib\net462\GdPicture.NET.14.OpenXML.Templating.dll - - - ..\packages\GdPicture.14.3.14\lib\net462\GdPicture.NET.14.PDF.dll - - - ..\packages\GdPicture.14.3.14\lib\net462\GdPicture.NET.14.RTF.dll - - - ..\packages\GdPicture.14.3.14\lib\net462\GdPicture.NET.14.SVG.dll - - - ..\packages\GdPicture.14.3.14\lib\net462\GdPicture.NET.14.wia.gateway.dll - True - - - ..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll - - - - ..\packages\Newtonsoft.Json.13.0.3\lib\net45\Newtonsoft.Json.dll - - - ..\packages\Newtonsoft.Json.Bson.1.0.2\lib\net45\Newtonsoft.Json.Bson.dll - - - ..\packages\NLog.5.0.5\lib\net46\NLog.dll - - - ..\packages\OpenMcdf.2.4.1\lib\net40\OpenMcdf.dll - - - ..\packages\protobuf-net.3.2.46\lib\net462\protobuf-net.dll - - - ..\packages\protobuf-net.Core.3.2.46\lib\net462\protobuf-net.Core.dll - - - ..\packages\RtfPipe.2.0.7677.4303\lib\net45\RtfPipe.dll - - - - ..\packages\System.Buffers.4.6.0\lib\net462\System.Buffers.dll - - - ..\packages\System.CodeDom.8.0.0\lib\net462\System.CodeDom.dll - - - ..\packages\System.Collections.Immutable.8.0.0\lib\net462\System.Collections.Immutable.dll - - - - - - - - ..\packages\System.IO.Packaging.8.0.1\lib\net462\System.IO.Packaging.dll - - - - ..\packages\System.Memory.4.6.0\lib\net462\System.Memory.dll - - - ..\packages\Microsoft.AspNet.WebApi.Client.6.0.0\lib\net45\System.Net.Http.Formatting.dll - - - - ..\packages\System.Numerics.Vectors.4.6.0\lib\net462\System.Numerics.Vectors.dll - - - ..\packages\System.Runtime.CompilerServices.Unsafe.6.1.0\lib\net462\System.Runtime.CompilerServices.Unsafe.dll - - - - - ..\packages\System.Security.Cryptography.Pkcs.8.0.1\lib\net462\System.Security.Cryptography.Pkcs.dll - - - - ..\packages\System.Text.Encodings.Web.8.0.0\lib\net462\System.Text.Encodings.Web.dll - - - ..\packages\System.Text.Json.8.0.5\lib\net462\System.Text.Json.dll - - - ..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll - - - - ..\packages\System.ValueTuple.4.5.0\lib\net461\System.ValueTuple.dll - - - - - - - - - - - - - - - - - - - + Digital Data GmbH + Provides interfaces for AD, Zugferd, GraphQL + 2.4.0 + 2.4.0 + $(AssemblyName) + $(AssemblyName) + + - - - - - - - - - - - - - - - - - - True - Application.myapp - True - - - True - True - Resources.resx - - - True - Settings.settings - True - - - - - - - - - - - - - - - - - + + + + + + - - VbMyResourcesResXFileCodeGenerator - Resources.Designer.vb - My.Resources - Designer - + + + + + - - - MyApplicationCodeGenerator - Application.Designer.vb - - + SettingsSingleFileGenerator - My - Settings.Designer.vb - - - - - {6ea0c51f-c2b1-4462-8198-3de0b32b74f8} - Base - - - {eaf0ea75-5fa7-485d-89c7-b2d843b03a96} - Database - - - {903b2d7d-3b80-4be9-8713-7447b704e1b0} - Logging - - - - - powershell.exe -command "& { &'$(SolutionDir)copy-binary.ps1' '$(TargetPath)' '$(TargetFileName)' '$(ConfigurationName)' '$(ProjectName)' }" - - - - - Dieses Projekt verweist auf mindestens ein NuGet-Paket, das auf diesem Computer fehlt. Verwenden Sie die Wiederherstellung von NuGet-Paketen, um die fehlenden Dateien herunterzuladen. Weitere Informationen finden Sie unter "http://go.microsoft.com/fwlink/?LinkID=322105". Die fehlende Datei ist "{0}". - - - - \ No newline at end of file + + diff --git a/Interfaces/My Project/AssemblyInfo.vb b/Interfaces/My Project/AssemblyInfo.vb index 6f812d00..c5ba46b4 100644 --- a/Interfaces/My Project/AssemblyInfo.vb +++ b/Interfaces/My Project/AssemblyInfo.vb @@ -1,35 +1,9 @@ Imports System Imports System.Reflection Imports System.Runtime.InteropServices - -' Allgemeine Informationen über eine Assembly werden über die folgenden -' Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, -' die einer Assembly zugeordnet sind. - -' Werte der Assemblyattribute überprüfen - - - - - - 'Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird. - -' Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten: -' -' Hauptversion -' Nebenversion -' Buildnummer -' Revision -' -' Sie können alle Werte angeben oder Standardwerte für die Build- und Revisionsnummern verwenden, -' übernehmen, indem Sie "*" eingeben: -' - - - diff --git a/Interfaces/bin/Debug/net8.0-windows/DigitalData.Modules.Base.dll b/Interfaces/bin/Debug/net8.0-windows/DigitalData.Modules.Base.dll new file mode 100644 index 0000000000000000000000000000000000000000..cbef47e6f8e4e56536af33850c8cc7cca3c3bd2e GIT binary patch literal 100864 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 + + + +

    + + + + + + + + + + + + + + + + + + diff --git a/Interfaces/bin/Debug/net8.0-windows/DigitalData.Modules.Encryption.dll b/Interfaces/bin/Debug/net8.0-windows/DigitalData.Modules.Encryption.dll new file mode 100644 index 0000000000000000000000000000000000000000..3a29e100a698e44eade5a1fb2c9c9ae890baa4bb GIT binary patch literal 16384 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 literal 0 HcmV?d00001 diff --git a/Interfaces/bin/Debug/net8.0-windows/DigitalData.Modules.Interfaces.deps.json b/Interfaces/bin/Debug/net8.0-windows/DigitalData.Modules.Interfaces.deps.json new file mode 100644 index 00000000..ed8d795e --- /dev/null +++ b/Interfaces/bin/Debug/net8.0-windows/DigitalData.Modules.Interfaces.deps.json @@ -0,0 +1,1381 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v8.0", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v8.0": { + "DigitalData.Modules.Interfaces/1.0.0": { + "dependencies": { + "DigitalData.Modules.Base": "1.0.0", + "DigitalData.Modules.Database": "1.0.0", + "DigitalData.Modules.Logging": "1.0.0", + "GdPicture": "14.3.16", + "NLog": "6.0.4", + "Newtonsoft.Json": "13.0.4", + "System.DirectoryServices": "9.0.9", + "System.DirectoryServices.AccountManagement": "9.0.9", + "DigitalData.Modules.Base.Reference": "1.3.9.0", + "DigitalData.Modules.Database.Reference": "2.4.0.0", + "DigitalData.Modules.Encryption.Reference": "2.5.0.0", + "DigitalData.Modules.Logging.Reference": "2.0.0.0" + }, + "runtime": { + "DigitalData.Modules.Interfaces.dll": {} + } + }, + "Azure.Core/1.47.1": { + "dependencies": { + "Microsoft.Bcl.AsyncInterfaces": "8.0.0", + "System.ClientModel": "1.5.1", + "System.Memory.Data": "8.0.1" + }, + "runtime": { + "lib/net8.0/Azure.Core.dll": { + "assemblyVersion": "1.47.1.0", + "fileVersion": "1.4700.125.36505" + } + } + }, + "Azure.Identity/1.14.2": { + "dependencies": { + "Azure.Core": "1.47.1", + "Microsoft.Identity.Client": "4.73.1", + "Microsoft.Identity.Client.Extensions.Msal": "4.73.1", + "System.Memory": "4.6.0" + }, + "runtime": { + "lib/net8.0/Azure.Identity.dll": { + "assemblyVersion": "1.14.2.0", + "fileVersion": "1.1400.225.36004" + } + } + }, + "BouncyCastle.Cryptography/2.5.0": { + "runtime": { + "lib/net6.0/BouncyCastle.Cryptography.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.5.0.6119" + } + } + }, + "DocumentFormat.OpenXml/3.2.0": { + "dependencies": { + "DocumentFormat.OpenXml.Framework": "3.2.0" + }, + "runtime": { + "lib/net8.0/DocumentFormat.OpenXml.dll": { + "assemblyVersion": "3.2.0.0", + "fileVersion": "3.2.0.0" + } + } + }, + "DocumentFormat.OpenXml.Framework/3.2.0": { + "dependencies": { + "System.IO.Packaging": "8.0.1" + }, + "runtime": { + "lib/net8.0/DocumentFormat.OpenXml.Framework.dll": { + "assemblyVersion": "3.2.0.0", + "fileVersion": "3.2.0.0" + } + } + }, + "FirebirdSql.Data.FirebirdClient/10.3.3": { + "runtime": { + "lib/net8.0/FirebirdSql.Data.FirebirdClient.dll": { + "assemblyVersion": "10.3.3.0", + "fileVersion": "10.3.3.0" + } + } + }, + "GdPicture/14.3.16": { + "dependencies": { + "BouncyCastle.Cryptography": "2.5.0", + "DocumentFormat.OpenXml": "3.2.0", + "GdPicture.runtimes.windows": "14.3.16", + "Microsoft.AspNet.WebApi.Client": "6.0.0", + "Microsoft.CSharp": "4.7.0", + "Microsoft.VisualBasic": "10.3.0", + "Newtonsoft.Json": "13.0.4", + "OpenMcdf": "2.4.1", + "RtfPipe": "2.0.7677.4303", + "System.IO.Packaging": "8.0.1", + "System.Security.Cryptography.Pkcs": "8.0.1", + "System.Windows.Extensions": "8.0.0", + "protobuf-net": "3.2.46" + }, + "runtime": { + "lib/net8.0-windows7.0/GdPicture.NET.14.CAD.DWG.dll": { + "assemblyVersion": "14.3.16.0", + "fileVersion": "14.3.16.0" + }, + "lib/net8.0-windows7.0/GdPicture.NET.14.CAD.dll": { + "assemblyVersion": "14.3.16.0", + "fileVersion": "14.3.16.0" + }, + "lib/net8.0-windows7.0/GdPicture.NET.14.Common.dll": { + "assemblyVersion": "14.3.16.0", + "fileVersion": "14.3.16.0" + }, + "lib/net8.0-windows7.0/GdPicture.NET.14.Document.dll": { + "assemblyVersion": "14.3.16.0", + "fileVersion": "14.3.16.0" + }, + "lib/net8.0-windows7.0/GdPicture.NET.14.Email.dll": { + "assemblyVersion": "14.3.16.0", + "fileVersion": "14.3.16.0" + }, + "lib/net8.0-windows7.0/GdPicture.NET.14.HTML.dll": { + "assemblyVersion": "14.3.16.0", + "fileVersion": "14.3.16.0" + }, + "lib/net8.0-windows7.0/GdPicture.NET.14.Imaging.Formats.Conversion.dll": { + "assemblyVersion": "14.3.16.0", + "fileVersion": "14.3.16.0" + }, + "lib/net8.0-windows7.0/GdPicture.NET.14.Imaging.Formats.dll": { + "assemblyVersion": "14.3.16.0", + "fileVersion": "14.3.16.0" + }, + "lib/net8.0-windows7.0/GdPicture.NET.14.Imaging.Rendering.dll": { + "assemblyVersion": "14.3.16.0", + "fileVersion": "14.3.16.0" + }, + "lib/net8.0-windows7.0/GdPicture.NET.14.Imaging.dll": { + "assemblyVersion": "14.3.16.0", + "fileVersion": "14.3.16.0" + }, + "lib/net8.0-windows7.0/GdPicture.NET.14.MSOfficeBinary.dll": { + "assemblyVersion": "14.3.16.0", + "fileVersion": "14.3.16.0" + }, + "lib/net8.0-windows7.0/GdPicture.NET.14.OpenDocument.dll": { + "assemblyVersion": "14.3.16.0", + "fileVersion": "14.3.16.0" + }, + "lib/net8.0-windows7.0/GdPicture.NET.14.OpenXML.Templating.dll": { + "assemblyVersion": "14.3.16.0", + "fileVersion": "14.3.16.0" + }, + "lib/net8.0-windows7.0/GdPicture.NET.14.OpenXML.dll": { + "assemblyVersion": "14.3.16.0", + "fileVersion": "14.3.16.0" + }, + "lib/net8.0-windows7.0/GdPicture.NET.14.PDF.dll": { + "assemblyVersion": "14.3.16.0", + "fileVersion": "14.3.16.0" + }, + "lib/net8.0-windows7.0/GdPicture.NET.14.RTF.dll": { + "assemblyVersion": "14.3.16.0", + "fileVersion": "14.3.16.0" + }, + "lib/net8.0-windows7.0/GdPicture.NET.14.SVG.dll": { + "assemblyVersion": "14.3.16.0", + "fileVersion": "14.3.16.0" + }, + "lib/net8.0-windows7.0/GdPicture.NET.14.barcode.1d.writer.dll": { + "assemblyVersion": "14.3.16.0", + "fileVersion": "14.3.16.0" + }, + "lib/net8.0-windows7.0/GdPicture.NET.14.barcode.2d.writer.dll": { + "assemblyVersion": "14.3.16.0", + "fileVersion": "14.3.16.0" + }, + "lib/net8.0-windows7.0/GdPicture.NET.14.dll": { + "assemblyVersion": "14.3.16.0", + "fileVersion": "14.3.16.0" + }, + "lib/net8.0-windows7.0/GdPicture.NET.14.wia.gateway.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "GdPicture.runtimes.windows/14.3.16": { + "runtimeTargets": { + "runtimes/win-x64/native/GdPicture.NET.14.Imaging.ML.64.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "4.0.0.7" + }, + "runtimes/win-x64/native/GdPicture.NET.14.Imaging.Rendering.Skia.64.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "1.0.0.49" + }, + "runtimes/win-x64/native/GdPicture.NET.14.barcode.1d.reader.64.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "5.0.9.73" + }, + "runtimes/win-x64/native/GdPicture.NET.14.barcode.2d.reader.64.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "14.0.0.59" + }, + "runtimes/win-x64/native/GdPicture.NET.14.filters.64.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "5.0.0.92" + }, + "runtimes/win-x64/native/GdPicture.NET.14.image.gdimgplug.64.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "14.0.0.118" + }, + "runtimes/win-x64/native/GdPicture.NET.14.machine.vision.64.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "2.0.0.100" + }, + "runtimes/win-x64/native/GdPicture.NET.14.twain.client.64.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "8.0.0.29" + }, + "runtimes/win-x86/native/GdPicture.NET.14.Imaging.ML.dll": { + "rid": "win-x86", + "assetType": "native", + "fileVersion": "4.0.0.7" + }, + "runtimes/win-x86/native/GdPicture.NET.14.Imaging.Rendering.Skia.dll": { + "rid": "win-x86", + "assetType": "native", + "fileVersion": "1.0.0.49" + }, + "runtimes/win-x86/native/GdPicture.NET.14.barcode.1d.reader.dll": { + "rid": "win-x86", + "assetType": "native", + "fileVersion": "5.0.9.73" + }, + "runtimes/win-x86/native/GdPicture.NET.14.barcode.2d.reader.dll": { + "rid": "win-x86", + "assetType": "native", + "fileVersion": "14.0.0.59" + }, + "runtimes/win-x86/native/GdPicture.NET.14.filters.dll": { + "rid": "win-x86", + "assetType": "native", + "fileVersion": "5.0.0.92" + }, + "runtimes/win-x86/native/GdPicture.NET.14.image.gdimgplug.dll": { + "rid": "win-x86", + "assetType": "native", + "fileVersion": "14.0.0.118" + }, + "runtimes/win-x86/native/GdPicture.NET.14.machine.vision.dll": { + "rid": "win-x86", + "assetType": "native", + "fileVersion": "2.0.0.100" + }, + "runtimes/win-x86/native/GdPicture.NET.14.twain.client.dll": { + "rid": "win-x86", + "assetType": "native", + "fileVersion": "8.0.0.29" + } + } + }, + "Microsoft.AspNet.WebApi.Client/6.0.0": { + "dependencies": { + "Newtonsoft.Json": "13.0.4", + "Newtonsoft.Json.Bson": "1.0.2", + "System.Memory": "4.6.0", + "System.Threading.Tasks.Extensions": "4.6.0" + }, + "runtime": { + "lib/netstandard2.0/System.Net.Http.Formatting.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.61130.707" + } + } + }, + "Microsoft.Bcl.AsyncInterfaces/8.0.0": { + "runtime": { + "lib/netstandard2.1/Microsoft.Bcl.AsyncInterfaces.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Bcl.Cryptography/9.0.9": { + "dependencies": { + "System.Formats.Asn1": "9.0.9" + }, + "runtime": { + "lib/net8.0/Microsoft.Bcl.Cryptography.dll": { + "assemblyVersion": "9.0.0.9", + "fileVersion": "9.0.925.41916" + } + } + }, + "Microsoft.CSharp/4.7.0": {}, + "Microsoft.Data.SqlClient/6.1.1": { + "dependencies": { + "Azure.Core": "1.47.1", + "Azure.Identity": "1.14.2", + "Microsoft.Bcl.Cryptography": "9.0.9", + "Microsoft.Data.SqlClient.SNI.runtime": "6.0.2", + "Microsoft.Extensions.Caching.Memory": "8.0.1", + "Microsoft.IdentityModel.JsonWebTokens": "7.7.1", + "Microsoft.IdentityModel.Protocols.OpenIdConnect": "7.7.1", + "Microsoft.SqlServer.Server": "1.0.0", + "System.Configuration.ConfigurationManager": "9.0.9", + "System.Security.Cryptography.Pkcs": "8.0.1", + "System.Text.Json": "8.0.5" + }, + "runtime": { + "lib/net8.0/Microsoft.Data.SqlClient.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.11.25226.3" + } + }, + "resources": { + "lib/net8.0/cs/Microsoft.Data.SqlClient.resources.dll": { + "locale": "cs" + }, + "lib/net8.0/de/Microsoft.Data.SqlClient.resources.dll": { + "locale": "de" + }, + "lib/net8.0/es/Microsoft.Data.SqlClient.resources.dll": { + "locale": "es" + }, + "lib/net8.0/fr/Microsoft.Data.SqlClient.resources.dll": { + "locale": "fr" + }, + "lib/net8.0/it/Microsoft.Data.SqlClient.resources.dll": { + "locale": "it" + }, + "lib/net8.0/ja/Microsoft.Data.SqlClient.resources.dll": { + "locale": "ja" + }, + "lib/net8.0/ko/Microsoft.Data.SqlClient.resources.dll": { + "locale": "ko" + }, + "lib/net8.0/pl/Microsoft.Data.SqlClient.resources.dll": { + "locale": "pl" + }, + "lib/net8.0/pt-BR/Microsoft.Data.SqlClient.resources.dll": { + "locale": "pt-BR" + }, + "lib/net8.0/ru/Microsoft.Data.SqlClient.resources.dll": { + "locale": "ru" + }, + "lib/net8.0/tr/Microsoft.Data.SqlClient.resources.dll": { + "locale": "tr" + }, + "lib/net8.0/zh-Hans/Microsoft.Data.SqlClient.resources.dll": { + "locale": "zh-Hans" + }, + "lib/net8.0/zh-Hant/Microsoft.Data.SqlClient.resources.dll": { + "locale": "zh-Hant" + } + }, + "runtimeTargets": { + "runtimes/unix/lib/net8.0/Microsoft.Data.SqlClient.dll": { + "rid": "unix", + "assetType": "runtime", + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.11.25226.3" + }, + "runtimes/win/lib/net8.0/Microsoft.Data.SqlClient.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.11.25226.3" + } + } + }, + "Microsoft.Data.SqlClient.SNI.runtime/6.0.2": { + "runtimeTargets": { + "runtimes/win-arm64/native/Microsoft.Data.SqlClient.SNI.dll": { + "rid": "win-arm64", + "assetType": "native", + "fileVersion": "6.2.0.0" + }, + "runtimes/win-x64/native/Microsoft.Data.SqlClient.SNI.dll": { + "rid": "win-x64", + "assetType": "native", + "fileVersion": "6.2.0.0" + }, + "runtimes/win-x86/native/Microsoft.Data.SqlClient.SNI.dll": { + "rid": "win-x86", + "assetType": "native", + "fileVersion": "6.2.0.0" + } + } + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "dependencies": { + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "dependencies": { + "Microsoft.Extensions.Caching.Abstractions": "8.0.0", + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Logging.Abstractions": "8.0.3", + "Microsoft.Extensions.Options": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Caching.Memory.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.3": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Logging.Abstractions.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1325.6609" + } + } + }, + "Microsoft.Extensions.Options/8.0.2": { + "dependencies": { + "Microsoft.Extensions.DependencyInjection.Abstractions": "8.0.2", + "Microsoft.Extensions.Primitives": "8.0.0" + }, + "runtime": { + "lib/net8.0/Microsoft.Extensions.Options.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.224.6711" + } + } + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "runtime": { + "lib/net8.0/Microsoft.Extensions.Primitives.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.23.53103" + } + } + }, + "Microsoft.Identity.Client/4.73.1": { + "dependencies": { + "Microsoft.IdentityModel.Abstractions": "7.7.1", + "System.Diagnostics.DiagnosticSource": "6.0.2" + }, + "runtime": { + "lib/net8.0/Microsoft.Identity.Client.dll": { + "assemblyVersion": "4.73.1.0", + "fileVersion": "4.73.1.0" + } + } + }, + "Microsoft.Identity.Client.Extensions.Msal/4.73.1": { + "dependencies": { + "Microsoft.Identity.Client": "4.73.1", + "System.Security.Cryptography.ProtectedData": "9.0.9" + }, + "runtime": { + "lib/net8.0/Microsoft.Identity.Client.Extensions.Msal.dll": { + "assemblyVersion": "4.73.1.0", + "fileVersion": "4.73.1.0" + } + } + }, + "Microsoft.IdentityModel.Abstractions/7.7.1": { + "runtime": { + "lib/net8.0/Microsoft.IdentityModel.Abstractions.dll": { + "assemblyVersion": "7.7.1.0", + "fileVersion": "7.7.1.50719" + } + } + }, + "Microsoft.IdentityModel.JsonWebTokens/7.7.1": { + "dependencies": { + "Microsoft.IdentityModel.Tokens": "7.7.1" + }, + "runtime": { + "lib/net8.0/Microsoft.IdentityModel.JsonWebTokens.dll": { + "assemblyVersion": "7.7.1.0", + "fileVersion": "7.7.1.50719" + } + } + }, + "Microsoft.IdentityModel.Logging/7.7.1": { + "dependencies": { + "Microsoft.IdentityModel.Abstractions": "7.7.1" + }, + "runtime": { + "lib/net8.0/Microsoft.IdentityModel.Logging.dll": { + "assemblyVersion": "7.7.1.0", + "fileVersion": "7.7.1.50719" + } + } + }, + "Microsoft.IdentityModel.Protocols/7.7.1": { + "dependencies": { + "Microsoft.IdentityModel.Tokens": "7.7.1" + }, + "runtime": { + "lib/net8.0/Microsoft.IdentityModel.Protocols.dll": { + "assemblyVersion": "7.7.1.0", + "fileVersion": "7.7.1.50719" + } + } + }, + "Microsoft.IdentityModel.Protocols.OpenIdConnect/7.7.1": { + "dependencies": { + "Microsoft.IdentityModel.Protocols": "7.7.1", + "System.IdentityModel.Tokens.Jwt": "7.7.1" + }, + "runtime": { + "lib/net8.0/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": { + "assemblyVersion": "7.7.1.0", + "fileVersion": "7.7.1.50719" + } + } + }, + "Microsoft.IdentityModel.Tokens/7.7.1": { + "dependencies": { + "Microsoft.IdentityModel.Logging": "7.7.1" + }, + "runtime": { + "lib/net8.0/Microsoft.IdentityModel.Tokens.dll": { + "assemblyVersion": "7.7.1.0", + "fileVersion": "7.7.1.50719" + } + } + }, + "Microsoft.SqlServer.Server/1.0.0": { + "runtime": { + "lib/netstandard2.0/Microsoft.SqlServer.Server.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.0.0" + } + } + }, + "Microsoft.VisualBasic/10.3.0": {}, + "Newtonsoft.Json/13.0.4": { + "runtime": { + "lib/net6.0/Newtonsoft.Json.dll": { + "assemblyVersion": "13.0.0.0", + "fileVersion": "13.0.4.30916" + } + } + }, + "Newtonsoft.Json.Bson/1.0.2": { + "dependencies": { + "Newtonsoft.Json": "13.0.4" + }, + "runtime": { + "lib/netstandard2.0/Newtonsoft.Json.Bson.dll": { + "assemblyVersion": "1.0.0.0", + "fileVersion": "1.0.2.22727" + } + } + }, + "NLog/6.0.4": { + "runtime": { + "lib/netstandard2.1/NLog.dll": { + "assemblyVersion": "6.0.0.0", + "fileVersion": "6.0.4.4534" + } + } + }, + "OpenMcdf/2.4.1": { + "runtime": { + "lib/netstandard2.0/OpenMcdf.dll": { + "assemblyVersion": "2.4.1.0", + "fileVersion": "2.4.1.0" + } + } + }, + "Oracle.ManagedDataAccess/23.9.1": { + "dependencies": { + "System.Diagnostics.DiagnosticSource": "6.0.2", + "System.Formats.Asn1": "9.0.9", + "System.Memory": "4.6.0", + "System.Text.Json": "8.0.5", + "System.Threading.Tasks.Extensions": "4.6.0" + }, + "runtime": { + "lib/net472/Oracle.ManagedDataAccess.dll": { + "assemblyVersion": "4.122.23.1", + "fileVersion": "4.122.23.1" + } + } + }, + "protobuf-net/3.2.46": { + "dependencies": { + "protobuf-net.Core": "3.2.46" + }, + "runtime": { + "lib/net8.0/protobuf-net.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.2.46.62819" + } + } + }, + "protobuf-net.Core/3.2.46": { + "dependencies": { + "System.Collections.Immutable": "7.0.0" + }, + "runtime": { + "lib/net8.0/protobuf-net.Core.dll": { + "assemblyVersion": "3.0.0.0", + "fileVersion": "3.2.46.62819" + } + } + }, + "RtfPipe/2.0.7677.4303": { + "runtime": { + "lib/netstandard2.0/RtfPipe.dll": { + "assemblyVersion": "2.0.7677.4303", + "fileVersion": "2.0.7677.4303" + } + } + }, + "System.ClientModel/1.5.1": { + "dependencies": { + "Microsoft.Extensions.Logging.Abstractions": "8.0.3", + "System.Memory.Data": "8.0.1" + }, + "runtime": { + "lib/net8.0/System.ClientModel.dll": { + "assemblyVersion": "1.5.1.0", + "fileVersion": "1.500.125.36405" + } + } + }, + "System.Collections.Immutable/7.0.0": {}, + "System.Configuration.ConfigurationManager/9.0.9": { + "dependencies": { + "System.Diagnostics.EventLog": "9.0.9", + "System.Security.Cryptography.ProtectedData": "9.0.9" + }, + "runtime": { + "lib/net8.0/System.Configuration.ConfigurationManager.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "System.Data.Odbc/9.0.9": { + "runtime": { + "lib/net8.0/System.Data.Odbc.dll": { + "assemblyVersion": "9.0.0.9", + "fileVersion": "9.0.925.41916" + } + }, + "runtimeTargets": { + "runtimes/unix/lib/net8.0/System.Data.Odbc.dll": { + "rid": "unix", + "assetType": "runtime", + "assemblyVersion": "9.0.0.9", + "fileVersion": "9.0.925.41916" + }, + "runtimes/win/lib/net8.0/System.Data.Odbc.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "9.0.0.9", + "fileVersion": "9.0.925.41916" + } + } + }, + "System.Diagnostics.DiagnosticSource/6.0.2": {}, + "System.Diagnostics.EventLog/9.0.9": { + "runtime": { + "lib/net8.0/System.Diagnostics.EventLog.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + }, + "runtimeTargets": { + "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.Messages.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "9.0.0.0", + "fileVersion": "0.0.0.0" + }, + "runtimes/win/lib/net8.0/System.Diagnostics.EventLog.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "System.DirectoryServices/9.0.9": { + "runtime": { + "lib/net8.0/System.DirectoryServices.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + }, + "runtimeTargets": { + "runtimes/win/lib/net8.0/System.DirectoryServices.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "System.DirectoryServices.AccountManagement/9.0.9": { + "dependencies": { + "Microsoft.Bcl.Cryptography": "9.0.9", + "System.Configuration.ConfigurationManager": "9.0.9", + "System.DirectoryServices": "9.0.9", + "System.DirectoryServices.Protocols": "9.0.9" + }, + "runtime": { + "lib/net8.0/System.DirectoryServices.AccountManagement.dll": { + "assemblyVersion": "9.0.0.9", + "fileVersion": "9.0.925.41916" + } + }, + "runtimeTargets": { + "runtimes/win/lib/net8.0/System.DirectoryServices.AccountManagement.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "9.0.0.9", + "fileVersion": "9.0.925.41916" + } + } + }, + "System.DirectoryServices.Protocols/9.0.9": { + "runtime": { + "lib/net8.0/System.DirectoryServices.Protocols.dll": { + "assemblyVersion": "9.0.0.9", + "fileVersion": "9.0.925.41916" + } + }, + "runtimeTargets": { + "runtimes/linux/lib/net8.0/System.DirectoryServices.Protocols.dll": { + "rid": "linux", + "assetType": "runtime", + "assemblyVersion": "9.0.0.9", + "fileVersion": "9.0.925.41916" + }, + "runtimes/osx/lib/net8.0/System.DirectoryServices.Protocols.dll": { + "rid": "osx", + "assetType": "runtime", + "assemblyVersion": "9.0.0.9", + "fileVersion": "9.0.925.41916" + }, + "runtimes/win/lib/net8.0/System.DirectoryServices.Protocols.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "9.0.0.9", + "fileVersion": "9.0.925.41916" + } + } + }, + "System.Formats.Asn1/9.0.9": { + "runtime": { + "lib/net8.0/System.Formats.Asn1.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "System.IdentityModel.Tokens.Jwt/7.7.1": { + "dependencies": { + "Microsoft.IdentityModel.JsonWebTokens": "7.7.1", + "Microsoft.IdentityModel.Tokens": "7.7.1" + }, + "runtime": { + "lib/net8.0/System.IdentityModel.Tokens.Jwt.dll": { + "assemblyVersion": "7.7.1.0", + "fileVersion": "7.7.1.50719" + } + } + }, + "System.IO.Packaging/8.0.1": { + "runtime": { + "lib/net8.0/System.IO.Packaging.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "System.Memory/4.6.0": {}, + "System.Memory.Data/8.0.1": { + "runtime": { + "lib/net8.0/System.Memory.Data.dll": { + "assemblyVersion": "8.0.0.1", + "fileVersion": "8.0.1024.46610" + } + } + }, + "System.Security.Cryptography.Pkcs/8.0.1": { + "runtime": { + "lib/net8.0/System.Security.Cryptography.Pkcs.dll": { + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + }, + "runtimeTargets": { + "runtimes/win/lib/net8.0/System.Security.Cryptography.Pkcs.dll": { + "rid": "win", + "assetType": "runtime", + "assemblyVersion": "8.0.0.0", + "fileVersion": "8.0.1024.46610" + } + } + }, + "System.Security.Cryptography.ProtectedData/9.0.9": { + "runtime": { + "lib/net8.0/System.Security.Cryptography.ProtectedData.dll": { + "assemblyVersion": "9.0.0.0", + "fileVersion": "9.0.925.41916" + } + } + }, + "System.Text.Json/8.0.5": {}, + "System.Threading.Tasks.Extensions/4.6.0": {}, + "System.Windows.Extensions/8.0.0": {}, + "DigitalData.Modules.Base/1.0.0": { + "dependencies": { + "DigitalData.Modules.Logging": "1.0.0", + "NLog": "6.0.4", + "System.Configuration.ConfigurationManager": "9.0.9" + }, + "runtime": { + "DigitalData.Modules.Base.dll": { + "fileVersion": "0.0.0.0" + } + } + }, + "DigitalData.Modules.Database/1.0.0": { + "dependencies": { + "DigitalData.Modules.Encryption": "1.0.0", + "DigitalData.Modules.Logging": "1.0.0", + "FirebirdSql.Data.FirebirdClient": "10.3.3", + "Microsoft.Data.SqlClient": "6.1.1", + "NLog": "6.0.4", + "Oracle.ManagedDataAccess": "23.9.1", + "System.Data.Odbc": "9.0.9" + }, + "runtime": { + "DigitalData.Modules.Database.dll": { + "fileVersion": "0.0.0.0" + } + } + }, + "DigitalData.Modules.Encryption/1.0.0": { + "dependencies": { + "DigitalData.Modules.Logging": "1.0.0", + "NLog": "6.0.4" + }, + "runtime": { + "DigitalData.Modules.Encryption.dll": { + "fileVersion": "0.0.0.0" + } + } + }, + "DigitalData.Modules.Logging/1.0.0": { + "dependencies": { + "NLog": "6.0.4", + "System.Configuration.ConfigurationManager": "9.0.9" + }, + "runtime": { + "DigitalData.Modules.Logging.dll": { + "fileVersion": "0.0.0.0" + } + } + }, + "DigitalData.Modules.Base.Reference/1.3.9.0": { + "runtime": { + "DigitalData.Modules.Base.dll": { + "assemblyVersion": "1.3.9.0", + "fileVersion": "1.3.9.0" + } + } + }, + "DigitalData.Modules.Database.Reference/2.4.0.0": { + "runtime": { + "DigitalData.Modules.Database.dll": { + "assemblyVersion": "2.4.0.0", + "fileVersion": "2.4.0.0" + } + } + }, + "DigitalData.Modules.Encryption.Reference/2.5.0.0": { + "runtime": { + "DigitalData.Modules.Encryption.dll": { + "assemblyVersion": "2.5.0.0", + "fileVersion": "2.5.0.0" + } + } + }, + "DigitalData.Modules.Logging.Reference/2.0.0.0": { + "runtime": { + "DigitalData.Modules.Logging.dll": { + "assemblyVersion": "2.0.0.0", + "fileVersion": "2.0.0.0" + } + } + } + } + }, + "libraries": { + "DigitalData.Modules.Interfaces/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "Azure.Core/1.47.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-oPcncSsDHuxB8SC522z47xbp2+ttkcKv2YZ90KXhRKN0YQd2+7l1UURT9EBzUNEXtkLZUOAB5xbByMTrYRh3yA==", + "path": "azure.core/1.47.1", + "hashPath": "azure.core.1.47.1.nupkg.sha512" + }, + "Azure.Identity/1.14.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-YhNMwOTwT+I2wIcJKSdP0ADyB2aK+JaYWZxO8LSRDm5w77LFr0ykR9xmt2ZV5T1gaI7xU6iNFIh/yW1dAlpddQ==", + "path": "azure.identity/1.14.2", + "hashPath": "azure.identity.1.14.2.nupkg.sha512" + }, + "BouncyCastle.Cryptography/2.5.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rc7vRCq/KD3GtIwSgRtjanGaBwTb9nLenFDZnEcauWlssuuEoxcbMfWA3QWWho6QDMSOSkWjs657McdHzEtEcw==", + "path": "bouncycastle.cryptography/2.5.0", + "hashPath": "bouncycastle.cryptography.2.5.0.nupkg.sha512" + }, + "DocumentFormat.OpenXml/3.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-eDBT9G0sAWUvjgE8l8E5bGCFXgxCZXIecQ8dqUnj2PyxyMR5eBmLahqRRw3Q7uSKM3cKbysaL2mEY0JJbEEOEA==", + "path": "documentformat.openxml/3.2.0", + "hashPath": "documentformat.openxml.3.2.0.nupkg.sha512" + }, + "DocumentFormat.OpenXml.Framework/3.2.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-e1neOKqRnSHUom4JQEorAoZ67aiJOp6+Xzsu0fc6IYfFcgQn6roo+w6i2w//N2u/5ilEfvLr35bNO9zaIN7r7g==", + "path": "documentformat.openxml.framework/3.2.0", + "hashPath": "documentformat.openxml.framework.3.2.0.nupkg.sha512" + }, + "FirebirdSql.Data.FirebirdClient/10.3.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-iAj21eY5u7obZumA3NAVZf8ynu7Z6lslkU3V4W8Mm9Mowa4gcadT2a+LIMwAovDIg8iS8RpCSzIzFdKFCdakTg==", + "path": "firebirdsql.data.firebirdclient/10.3.3", + "hashPath": "firebirdsql.data.firebirdclient.10.3.3.nupkg.sha512" + }, + "GdPicture/14.3.16": { + "type": "package", + "serviceable": true, + "sha512": "sha512-os+3hlGbOlkMQsK0nTFs2Nuqe4cuNzMm+ZEQjNqsA4FdqvTcLXAxt70A+CB5w2yyW9WLrBsxFFubTSgzIvDoTQ==", + "path": "gdpicture/14.3.16", + "hashPath": "gdpicture.14.3.16.nupkg.sha512" + }, + "GdPicture.runtimes.windows/14.3.16": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QaAkN9bryK8gI9gfA56iaFnJexrrP/yyJHoxxU3M7L1GS5Xqx8LpKTAHarYZuUfSrz1+lgJxT6ujFl6eLtttbw==", + "path": "gdpicture.runtimes.windows/14.3.16", + "hashPath": "gdpicture.runtimes.windows.14.3.16.nupkg.sha512" + }, + "Microsoft.AspNet.WebApi.Client/6.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zXeWP03dTo67AoDHUzR+/urck0KFssdCKOC+dq7Nv1V2YbFh/nIg09L0/3wSvyRONEdwxGB/ssEGmPNIIhAcAw==", + "path": "microsoft.aspnet.webapi.client/6.0.0", + "hashPath": "microsoft.aspnet.webapi.client.6.0.0.nupkg.sha512" + }, + "Microsoft.Bcl.AsyncInterfaces/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3WA9q9yVqJp222P3x1wYIGDAkpjAku0TMUaaQV22g6L67AI0LdOIrVS7Ht2vJfLHGSPVuqN94vIr15qn+HEkHw==", + "path": "microsoft.bcl.asyncinterfaces/8.0.0", + "hashPath": "microsoft.bcl.asyncinterfaces.8.0.0.nupkg.sha512" + }, + "Microsoft.Bcl.Cryptography/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zrNEcA9kZ+Oqe+ZALnnpS8NuUQDHMlsg8ni5C9Do36g+bgHWzvHqlJ5SOai7bySdiGjOOg3xtfWJO9NJBgAhsg==", + "path": "microsoft.bcl.cryptography/9.0.9", + "hashPath": "microsoft.bcl.cryptography.9.0.9.nupkg.sha512" + }, + "Microsoft.CSharp/4.7.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pTj+D3uJWyN3My70i2Hqo+OXixq3Os2D1nJ2x92FFo6sk8fYS1m1WLNTs0Dc1uPaViH0YvEEwvzddQ7y4rhXmA==", + "path": "microsoft.csharp/4.7.0", + "hashPath": "microsoft.csharp.4.7.0.nupkg.sha512" + }, + "Microsoft.Data.SqlClient/6.1.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-syGQmIUPAYYHAHyTD8FCkTNThpQWvoA7crnIQRMfp8dyB5A2cWU3fQexlRTFkVmV7S0TjVmthi0LJEFVjHo8AQ==", + "path": "microsoft.data.sqlclient/6.1.1", + "hashPath": "microsoft.data.sqlclient.6.1.1.nupkg.sha512" + }, + "Microsoft.Data.SqlClient.SNI.runtime/6.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-f+pRODTWX7Y67jXO3T5S2dIPZ9qMJNySjlZT/TKmWVNWe19N8jcWmHaqHnnchaq3gxEKv1SWVY5EFzOD06l41w==", + "path": "microsoft.data.sqlclient.sni.runtime/6.0.2", + "hashPath": "microsoft.data.sqlclient.sni.runtime.6.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Abstractions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3KuSxeHoNYdxVYfg2IRZCThcrlJ1XJqIXkAWikCsbm5C/bCjv7G0WoKDyuR98Q+T607QT2Zl5GsbGRkENcV2yQ==", + "path": "microsoft.extensions.caching.abstractions/8.0.0", + "hashPath": "microsoft.extensions.caching.abstractions.8.0.0.nupkg.sha512" + }, + "Microsoft.Extensions.Caching.Memory/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HFDnhYLccngrzyGgHkjEDU5FMLn4MpOsr5ElgsBMC4yx6lJh4jeWO7fHS8+TXPq+dgxCmUa/Trl8svObmwW4QA==", + "path": "microsoft.extensions.caching.memory/8.0.1", + "hashPath": "microsoft.extensions.caching.memory.8.0.1.nupkg.sha512" + }, + "Microsoft.Extensions.DependencyInjection.Abstractions/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3iE7UF7MQkCv1cxzCahz+Y/guQbTqieyxyaWKhrRO91itI9cOKO76OHeQDahqG4MmW5umr3CcCvGmK92lWNlbg==", + "path": "microsoft.extensions.dependencyinjection.abstractions/8.0.2", + "hashPath": "microsoft.extensions.dependencyinjection.abstractions.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Logging.Abstractions/8.0.3": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dL0QGToTxggRLMYY4ZYX5AMwBb+byQBd/5dMiZE07Nv73o6I5Are3C7eQTh7K2+A4ct0PVISSr7TZANbiNb2yQ==", + "path": "microsoft.extensions.logging.abstractions/8.0.3", + "hashPath": "microsoft.extensions.logging.abstractions.8.0.3.nupkg.sha512" + }, + "Microsoft.Extensions.Options/8.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dWGKvhFybsaZpGmzkGCbNNwBD1rVlWzrZKANLW/CcbFJpCEceMCGzT7zZwHOGBCbwM0SzBuceMj5HN1LKV1QqA==", + "path": "microsoft.extensions.options/8.0.2", + "hashPath": "microsoft.extensions.options.8.0.2.nupkg.sha512" + }, + "Microsoft.Extensions.Primitives/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-bXJEZrW9ny8vjMF1JV253WeLhpEVzFo1lyaZu1vQ4ZxWUlVvknZ/+ftFgVheLubb4eZPSwwxBeqS1JkCOjxd8g==", + "path": "microsoft.extensions.primitives/8.0.0", + "hashPath": "microsoft.extensions.primitives.8.0.0.nupkg.sha512" + }, + "Microsoft.Identity.Client/4.73.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-NnDLS8QwYqO5ZZecL2oioi1LUqjh5Ewk4bMLzbgiXJbQmZhDLtKwLxL3DpGMlQAJ2G4KgEnvGPKa+OOgffeJbw==", + "path": "microsoft.identity.client/4.73.1", + "hashPath": "microsoft.identity.client.4.73.1.nupkg.sha512" + }, + "Microsoft.Identity.Client.Extensions.Msal/4.73.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xDztAiV2F0wI0W8FLKv5cbaBefyLD6JVaAsvgSN7bjWNCzGYzHbcOEIP5s4TJXUpQzMfUyBsFl1mC6Zmgpz0PQ==", + "path": "microsoft.identity.client.extensions.msal/4.73.1", + "hashPath": "microsoft.identity.client.extensions.msal.4.73.1.nupkg.sha512" + }, + "Microsoft.IdentityModel.Abstractions/7.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-S7sHg6gLg7oFqNGLwN1qSbJDI+QcRRj8SuJ1jHyCmKSipnF6ZQL+tFV2NzVfGj/xmGT9TykQdQiBN+p5Idl4TA==", + "path": "microsoft.identitymodel.abstractions/7.7.1", + "hashPath": "microsoft.identitymodel.abstractions.7.7.1.nupkg.sha512" + }, + "Microsoft.IdentityModel.JsonWebTokens/7.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-3Izi75UCUssvo8LPx3OVnEeZay58qaFicrtSnbtUt7q8qQi0gy46gh4V8VUTkMVMKXV6VMyjBVmeNNgeCUJuIw==", + "path": "microsoft.identitymodel.jsonwebtokens/7.7.1", + "hashPath": "microsoft.identitymodel.jsonwebtokens.7.7.1.nupkg.sha512" + }, + "Microsoft.IdentityModel.Logging/7.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BZNgSq/o8gsKExdYoBKPR65fdsxW0cTF8PsdqB8y011AGUJJW300S/ZIsEUD0+sOmGc003Gwv3FYbjrVjvsLNQ==", + "path": "microsoft.identitymodel.logging/7.7.1", + "hashPath": "microsoft.identitymodel.logging.7.7.1.nupkg.sha512" + }, + "Microsoft.IdentityModel.Protocols/7.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-h+fHHBGokepmCX+QZXJk4Ij8OApCb2n2ktoDkNX5CXteXsOxTHMNgjPGpAwdJMFvAL7TtGarUnk3o97NmBq2QQ==", + "path": "microsoft.identitymodel.protocols/7.7.1", + "hashPath": "microsoft.identitymodel.protocols.7.7.1.nupkg.sha512" + }, + "Microsoft.IdentityModel.Protocols.OpenIdConnect/7.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-yT2Hdj8LpPbcT9C9KlLVxXl09C8zjFaVSaApdOwuecMuoV4s6Sof/mnTDz/+F/lILPIBvrWugR9CC7iRVZgbfQ==", + "path": "microsoft.identitymodel.protocols.openidconnect/7.7.1", + "hashPath": "microsoft.identitymodel.protocols.openidconnect.7.7.1.nupkg.sha512" + }, + "Microsoft.IdentityModel.Tokens/7.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-fQ0VVCba75lknUHGldi3iTKAYUQqbzp1Un8+d9cm9nON0Gs8NAkXddNg8iaUB0qi/ybtAmNWizTR4avdkCJ9pQ==", + "path": "microsoft.identitymodel.tokens/7.7.1", + "hashPath": "microsoft.identitymodel.tokens.7.7.1.nupkg.sha512" + }, + "Microsoft.SqlServer.Server/1.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-N4KeF3cpcm1PUHym1RmakkzfkEv3GRMyofVv40uXsQhCQeglr2OHNcUk2WOG51AKpGO8ynGpo9M/kFXSzghwug==", + "path": "microsoft.sqlserver.server/1.0.0", + "hashPath": "microsoft.sqlserver.server.1.0.0.nupkg.sha512" + }, + "Microsoft.VisualBasic/10.3.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-AvMDjmJHjz9bdlvxiSdEHHcWP+sZtp7zwule5ab6DaUbgoBnwCsd7nymj69vSz18ypXuEv3SI7ZUNwbIKrvtMA==", + "path": "microsoft.visualbasic/10.3.0", + "hashPath": "microsoft.visualbasic.10.3.0.nupkg.sha512" + }, + "Newtonsoft.Json/13.0.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-pdgNNMai3zv51W5aq268sujXUyx7SNdE2bj1wZcWjAQrKMFZV260lbqYop1d2GM67JI1huLRwxo9ZqnfF/lC6A==", + "path": "newtonsoft.json/13.0.4", + "hashPath": "newtonsoft.json.13.0.4.nupkg.sha512" + }, + "Newtonsoft.Json.Bson/1.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-QYFyxhaABwmq3p/21VrZNYvCg3DaEoN/wUuw5nmfAf0X3HLjgupwhkEWdgfb9nvGAUIv3osmZoD3kKl4jxEmYQ==", + "path": "newtonsoft.json.bson/1.0.2", + "hashPath": "newtonsoft.json.bson.1.0.2.nupkg.sha512" + }, + "NLog/6.0.4": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Xr+lIk1ZlTTFXEqnxQVLxrDqZlt2tm5X+/AhJbaY2emb/dVtGDiU5QuEtj3gHtwV/SWlP/rJ922I/BPuOJXlRw==", + "path": "nlog/6.0.4", + "hashPath": "nlog.6.0.4.nupkg.sha512" + }, + "OpenMcdf/2.4.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0XVhI+P6pe80xYntIeF6H4F7AIL4ZolMTI5vkm3QUt9XTnRJht6CNYk1eSfI8YInRble6cw91ypF5llPXzKD/A==", + "path": "openmcdf/2.4.1", + "hashPath": "openmcdf.2.4.1.nupkg.sha512" + }, + "Oracle.ManagedDataAccess/23.9.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-/4v/a6P6u+VLixps0TGH8js/1ZYS7vVll+j0J9RsUQLRPYgzXs1Mt+xi1XqFZP5PzMA5H0kgW/3EMosj+fYReA==", + "path": "oracle.manageddataaccess/23.9.1", + "hashPath": "oracle.manageddataaccess.23.9.1.nupkg.sha512" + }, + "protobuf-net/3.2.46": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kNr1fnLWTVNvK93SC1CFrV3TyNDrtrqtoAv7+V4WX3c/tckzmIISW0Hl5TV5GgIYL5rrFeUEYWNHQZDCHpSMzQ==", + "path": "protobuf-net/3.2.46", + "hashPath": "protobuf-net.3.2.46.nupkg.sha512" + }, + "protobuf-net.Core/3.2.46": { + "type": "package", + "serviceable": true, + "sha512": "sha512-kRPJ71Bpj0nK2iRSnH6XTPCA0+Nal5xoVBKwFqgd5n/yVA7Iie/3KwvcmC+aFjTymh+Kibn4q4fnceIOJrKRlA==", + "path": "protobuf-net.core/3.2.46", + "hashPath": "protobuf-net.core.3.2.46.nupkg.sha512" + }, + "RtfPipe/2.0.7677.4303": { + "type": "package", + "serviceable": true, + "sha512": "sha512-ek6wuC69GYVJr0b/C5mcgbFUHPLL11iAbUFqQphdBaqSoEjOdSB/HWCID5nneA5exM88UZzOTCJCMpftDYnCZA==", + "path": "rtfpipe/2.0.7677.4303", + "hashPath": "rtfpipe.2.0.7677.4303.nupkg.sha512" + }, + "System.ClientModel/1.5.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-k2jKSO0X45IqhVOT9iQB4xralNN9foRQsRvXBTyRpAVxyzCJlG895T9qYrQWbcJ6OQXxOouJQ37x5nZH5XKK+A==", + "path": "system.clientmodel/1.5.1", + "hashPath": "system.clientmodel.1.5.1.nupkg.sha512" + }, + "System.Collections.Immutable/7.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-dQPcs0U1IKnBdRDBkrCTi1FoajSTBzLcVTpjO4MBCMC7f4pDOIPzgBoX8JjG7X6uZRJ8EBxsi8+DR1JuwjnzOQ==", + "path": "system.collections.immutable/7.0.0", + "hashPath": "system.collections.immutable.7.0.0.nupkg.sha512" + }, + "System.Configuration.ConfigurationManager/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Q1LknxnRmmsUXt/ElBp739Gexppy0HeDYxvExpJq09jAYhpTHRRRkZIwfNKfM4BGRlFzRDVdnerZawxoE8naMg==", + "path": "system.configuration.configurationmanager/9.0.9", + "hashPath": "system.configuration.configurationmanager.9.0.9.nupkg.sha512" + }, + "System.Data.Odbc/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xSAfSD/j3ACV8YiXOIBYUbzqTjiEMGtFq2gSnwWxBRQdUt4YRj9rVjkawuu4tEb5aiIm27HN4d/X8skaVC654A==", + "path": "system.data.odbc/9.0.9", + "hashPath": "system.data.odbc.9.0.9.nupkg.sha512" + }, + "System.Diagnostics.DiagnosticSource/6.0.2": { + "type": "package", + "serviceable": true, + "sha512": "sha512-6tQaIexFycaotdGn23lf3XJ/eI1GOjQKIvQDRFN9N4pwoNsKnHuXccQ3lnQO6GX8KAb1ic+6ZofJmPdbUVwZag==", + "path": "system.diagnostics.diagnosticsource/6.0.2", + "hashPath": "system.diagnostics.diagnosticsource.6.0.2.nupkg.sha512" + }, + "System.Diagnostics.EventLog/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-wpsUfnyv8E5K4WQaok6weewvAbQhcLwXFcHBm5U0gdEaBs85N//ssuYvRPFWwz2rO/9/DFP3A1sGMzUFBj8y3w==", + "path": "system.diagnostics.eventlog/9.0.9", + "hashPath": "system.diagnostics.eventlog.9.0.9.nupkg.sha512" + }, + "System.DirectoryServices/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-HlgX7g++mz/AoXjNkXZI7ZNB9LnqgFVwT3nS25ZUQNVIeaiQeVc053DQ/UkzjmbeHfbm0n9acKLkGQxgqp1nbA==", + "path": "system.directoryservices/9.0.9", + "hashPath": "system.directoryservices.9.0.9.nupkg.sha512" + }, + "System.DirectoryServices.AccountManagement/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-zwtW6GvCGAw0A0Gx9kJYmDK3Vyh1rP8+yu6dI6Ws/CI4gfKvJ+PxalAZ5YqcuNZjfYAd/C3iIyTI0Uk9kqNDaA==", + "path": "system.directoryservices.accountmanagement/9.0.9", + "hashPath": "system.directoryservices.accountmanagement.9.0.9.nupkg.sha512" + }, + "System.DirectoryServices.Protocols/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-xG1e/TWZXceqQHRTHknjMQzMjchAbxLWsoKaEWKb/De1KXheJPLbH3Gr0cfbE8X19HG2mIoNTuxCQgUNxuJ3oA==", + "path": "system.directoryservices.protocols/9.0.9", + "hashPath": "system.directoryservices.protocols.9.0.9.nupkg.sha512" + }, + "System.Formats.Asn1/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-hnQCFWPAvZM45fFEExgbHTgq6GyfyQdHxyI+PvuzqI1G7KvBYcnNEPHbLJ+1jP+Ip69yBvvUOxaibmDInmOw2Q==", + "path": "system.formats.asn1/9.0.9", + "hashPath": "system.formats.asn1.9.0.9.nupkg.sha512" + }, + "System.IdentityModel.Tokens.Jwt/7.7.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-rQkO1YbAjLwnDJSMpRhRtrc6XwIcEOcUvoEcge+evurpzSZM3UNK+MZfD3sKyTlYsvknZ6eJjSBfnmXqwOsT9Q==", + "path": "system.identitymodel.tokens.jwt/7.7.1", + "hashPath": "system.identitymodel.tokens.jwt.7.7.1.nupkg.sha512" + }, + "System.IO.Packaging/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-KYkIOAvPexQOLDxPO2g0BVoWInnQhPpkFzRqvNrNrMhVT6kqhVr0zEb6KCHlptLFukxnZrjuMVAnxK7pOGUYrw==", + "path": "system.io.packaging/8.0.1", + "hashPath": "system.io.packaging.8.0.1.nupkg.sha512" + }, + "System.Memory/4.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-OEkbBQoklHngJ8UD8ez2AERSk2g+/qpAaSWWCBFbpH727HxDq5ydVkuncBaKcKfwRqXGWx64dS6G1SUScMsitg==", + "path": "system.memory/4.6.0", + "hashPath": "system.memory.4.6.0.nupkg.sha512" + }, + "System.Memory.Data/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-BVYuec3jV23EMRDeR7Dr1/qhx7369dZzJ9IWy2xylvb4YfXsrUxspWc4UWYid/tj4zZK58uGZqn2WQiaDMhmAg==", + "path": "system.memory.data/8.0.1", + "hashPath": "system.memory.data.8.0.1.nupkg.sha512" + }, + "System.Security.Cryptography.Pkcs/8.0.1": { + "type": "package", + "serviceable": true, + "sha512": "sha512-CoCRHFym33aUSf/NtWSVSZa99dkd0Hm7OCZUxORBjRB16LNhIEOf8THPqzIYlvKM0nNDAPTRBa1FxEECrgaxxA==", + "path": "system.security.cryptography.pkcs/8.0.1", + "hashPath": "system.security.cryptography.pkcs.8.0.1.nupkg.sha512" + }, + "System.Security.Cryptography.ProtectedData/9.0.9": { + "type": "package", + "serviceable": true, + "sha512": "sha512-XN37933FTzEkqGJoOTunvnvzAv/4VO/9wQ0QwsGcrR5KyQpYT0z4Ssm+f+fpY9bea6srypFp3JjNPHHC26xzLw==", + "path": "system.security.cryptography.protecteddata/9.0.9", + "hashPath": "system.security.cryptography.protecteddata.9.0.9.nupkg.sha512" + }, + "System.Text.Json/8.0.5": { + "type": "package", + "serviceable": true, + "sha512": "sha512-0f1B50Ss7rqxXiaBJyzUu9bWFOO2/zSlifZ/UNMdiIpDYe4cY4LQQicP4nirK1OS31I43rn062UIJ1Q9bpmHpg==", + "path": "system.text.json/8.0.5", + "hashPath": "system.text.json.8.0.5.nupkg.sha512" + }, + "System.Threading.Tasks.Extensions/4.6.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-I5G6Y8jb0xRtGUC9Lahy7FUvlYlnGMMkbuKAQBy8Jb7Y6Yn8OlBEiUOY0PqZ0hy6Ua8poVA1ui1tAIiXNxGdsg==", + "path": "system.threading.tasks.extensions/4.6.0", + "hashPath": "system.threading.tasks.extensions.4.6.0.nupkg.sha512" + }, + "System.Windows.Extensions/8.0.0": { + "type": "package", + "serviceable": true, + "sha512": "sha512-Obg3a90MkOw9mYKxrardLpY2u0axDMrSmy4JCdq2cYbelM2cUwmUir5Bomvd1yxmPL9h5LVHU1tuKBZpUjfASg==", + "path": "system.windows.extensions/8.0.0", + "hashPath": "system.windows.extensions.8.0.0.nupkg.sha512" + }, + "DigitalData.Modules.Base/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "DigitalData.Modules.Database/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "DigitalData.Modules.Encryption/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "DigitalData.Modules.Logging/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + }, + "DigitalData.Modules.Base.Reference/1.3.9.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + }, + "DigitalData.Modules.Database.Reference/2.4.0.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + }, + "DigitalData.Modules.Encryption.Reference/2.5.0.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + }, + "DigitalData.Modules.Logging.Reference/2.0.0.0": { + "type": "reference", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/Interfaces/bin/Debug/net8.0-windows/DigitalData.Modules.Interfaces.dll b/Interfaces/bin/Debug/net8.0-windows/DigitalData.Modules.Interfaces.dll new file mode 100644 index 0000000000000000000000000000000000000000..aed17f2de03ae8c22b68a3622eda7ecba5bc66d8 GIT binary patch literal 2653696 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≧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 Oy_97MBhnkTHcJ?h-mncxq&$hX8K>Fs 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�PLe3wmg7l+RH$^yUyu?fS(NqfpvN9EU*%KUAak4)QDmHPfhwoS zIO76UMUi^KeX5=!^@RJ>8p_@OL(f0XT&Y?q)sTmsbWo1hgOro; zZRtwL11j$OAT`c`Jntltaw6*U>md)SG|JhKCMTJceXzP<3#3ZrQBHt-=%kRc@X;X5 zL#m9@2=T)_q$(*NLOz2mRCSackWMF!lus51=XqGQP=15>=XqGQQ(}3oMXHyQ!fP#3 z1C(rD>k$>ZJ&5})yw)Qsfl_o|kn0w!RLXr2Ki4f*8I?N5s;spv{BBxAFEG8 zmZ%=ec*x&Q`YGRy4rbWasFnPODj3aKrlNlc;(k5EAI({&h6NHSN$OMr z!$|pDr&1|WKG&%X%84`3`+{rzPvufFAtyR1psYY&Q#xe1Dy1|*&T>*gxqK#8hl4z$ zYAHpKY$pvAsh!rVW{T8K>s1>?)(}{sdMHtxp|nEn2qY5Im1>Y-q_1+Niu*B0AL*-H zsS+u3F)o~o`*~KSQ67a%a*|2$SE8E&X;66-eC{jMJQVRl!+~IR- z5yO-|6BW7@=Xp*wQ0{}2I9W%TfpPO$kkzV?@T>c>&_j zI{Qi`Q}%iV^;I0zsWK@?Kt6MlO}QO)5`V_s*Q$`R0OI%de65Npe`9>-YaI2Bs-(oe zgPCAX76%gfmA9x`hLK-+i&{sKUwMmarpT|{r8+6{D|e|Lilo?971|NRT~chT+C7lS z)xTA74D;eF)a!7E->PIvGsN%7{8pt=K7;%T`A%h1zK85`G9i%2nY&d1!@PC zTa{8igzWC5f)bvFK77bFRZH0ivagc{%K9&`3Kryh)lB&SlH{a~(uuV`j)rVkJ(OP| z$2sYzoG}l(yFhwW%Vl~2h= zYwHpm^^+>0Tnou{GCPn+iuI~WhIws1zA!?VUR6i=05Zi%BSpS$_*u13MfMilp{giSTmD_uQ>3>1yIMn$x>mnxrAS??Uv*G!$NOR~ zuKtJWqs)Qa@8s`5BB`-c=|BE&YV1@A6iJPpY9vMaD*sd&6zQw{Q;ns_>P!QwfFi3i z4X9}pS)J)GRY8%}nf_9XD6(4A->QKkt3~~-)=|2Pqe71$UjL{z%72h0PC6+ax1rAg zGN}3~y^wk*p`Ah8H(nFe6LzV1imcAGOC?c~{|eSs`&Xq?#z6da)&5mkl*7>y_xp(c zQ~8ukh~HZOPu&nmB;`Z8m|-LzhIA!GQa+@sDYCXkly0O*Z6``^puF9JzDmR^tlKHu zATK%TqHJ1$ujV024^X~>yyZmy8KlPXOED`LqICi#3-XbZk(81-7#oEcok6LDeC=c` zMaFKdE}+QRjn&gAu^gB2bOq%wj>~v@5hZ3Y9NLC6N9zX4F_52}tfR>I#csNdBI6gk z=}rm5S(Ll$eu}hMch}e$6#r~==g(+~Lc*@U^znmmdWR_QqPN&E$uNa+0ky&0t zbUsC9c@5D;6q)6PCv>mZ5qBMWGap+7b%I>UN61 zv!&;xiy|$%z4QP@T6TMB{a270(i1pLCs3p(aF`xRksWOJ))^Gp!FF#wmLfYy#_0lz z>>wGZr%_}F$>F+!B0ES9*NZ5!gXBKCfg(Fd?xWXHWJk+=bsI%?wA@#BQuZIALVF@L z;&ngeC`gf+XoW$|lHVP8um^p&p(GIZU@u#zQ7MX{StsTn{;1_fqCT zraBp*NU3#%jvWl*E~VBHI)UPkCC$K5BXugpA4{6)B!e<}1Nz<}N9tV49gs>V1r(Wg zdXz4u$h^~|bOmMYci0aIM;)zeDVrcmoHS4#W}7itH&d3e&6up)D7z|yz0{AA^gC9kP^9!bR;N>>^h?n>6e;~ubUsB&zvFZX zMM}TpbU8)(7?0OA6e+Qf*Y%Xqe1n{zn<&|QgPfpSDgKDF|6Wej-4uVs*?%vm>OP8$ zq@Spx{|(|UBk3pVIEsvGT}Pu95`L6Nx!r|4RW%sn_ouM8w|_0f6_!^qV~>sE?feYEbN$avhTx{o3wkEiNEiq!qm zb=-eJ`bga`T_;j1&?mDDIrB7~MtK6V!bv7&+z~3&2svHnQLcroby7&F!8gvYLC(-+ zlvR+8PAVy~9!Q3+qsV$78M=`o>w%o9TPU&~$eFsGl2ebbHnyPOO7~K3g!pqF&e8*v z%QoSw4anI#HiUeGdcsu5*G>{BJ7xsC$z-WTNNeJJ-9wSq z#QD0PQjep;U6_ldW1@n%zXpkR5>Hu=UVVR8h%q{a@&Ux}XB(r_DSo*z6i1EKITXL# z*vCme#orb5AjpNfgyQcCdYF@PioXJnKc9b`uA%rV@c8rj$LV^Czc$M;IO-zZMDf>V zNp;dnIfG%cbvNY-hRN1_6qz${v5pQ0ahEv*7wb661!dT62WP%SCsT4DXE{lu$d0I& z>THVah0$0OFVPdAgAj&k@xt zbqnPzj;LO#+bNIpJd<=UWj)U`Ne@sKJP=&#DjlnX)ToE}*Sbn4P$siIn6FbQv)LZZ z*BO+-@6g+fU+`+3OBvoB6}r;N!^~t)5A}cRlqw6WM^3pYW z4Mm=&0^LfHr>Q`14kU8*DY}bco<0XN7I24C^Z;cexfjk<#}6Y_|YZpvxfg0bTwJxIxe_+!UKI@$)QA*IAk zI*}r!#7#PxB5lu`btXmHo;T}k%D$%t}xTKW;u%7gPNCY){}0r|C+HKc8)x zlWL0m?ziYhiu~@k=na$^<(Qj+qi)shl!cH+C*K4T`2}y&Jq%NEpbEW=Ft_QD7sS09 z@|u$v%7>_RH$#eb5@ieIJtrxY)obwWBxJhIqPz|1aFRnAcpRf|kQus&vip*#(DzPC zDBBOjH=~f-broeNcjyj^zet_I~f;9B;{x7 zT!xV{VWyr&kuqVXE~Wgs9_=`s=We}-@-O5FC$$ub=`6jDA~Bt%n<>K)FF&Sbx|4D= zV_K%a4rsn%!gEHy?d04`=gKtoy1bsZVz^HpRY$!K7sf< zxzE?f2NFru1v;H!WPPm#I)@_bYc0_El=HiT`TY0k63Ueje?I?xx}4HA2YW@~ekyeh z1C(3t!q;Aq2X*Wo zQ7(NRgsgLtK#?{`l}@Ed8>C8SP|klnD)a`9dPwI|@*!_KDWJ^Tfn^dP3w0^we~?d{ zR8VI9ioK^H59?aW637-O4V3M_VMZ%tk#45^4e52#Mv=GhBf5toZ{bIDKc#Y%3jL0w z7VDUpC>Qq?kiVS7Q{FpPVTcOrbmqr}Y|!k>}!R-Aa+?;%VJM*&D6e zRHWE4-A5S-8SP|{^5@p5(3y}r9k*wYJ~7`$h0b%5NI4Bhjf4D8r%`esIZiSuBXHD2 z$a0-WNrPPNq>yqWjw*yaqsu5|kei)UQZB+#(;@Y`j#2=*%Sj`pufr<^b`Xfv+Vy_B;dew%Tn-Wfaoq{}FmLAE)mq{!_3wYrWXv-j8PMoKN- zalJU|W!*w~9vim2LEQJi>Vh#&5-5J} z%HEJybSlN~UD?k`21R;TUe&o2>0NnM7f_^EWP>iHNUz8ST|to^;Ma65MS6f=(+w2) zn&5TaOp&h%Ue_N663O9j=njUF9R7yxqeu>aLl06`E{+N%B3?~8Zdi~SO_0N#BvRz7 z-Zym`MZW5NQ)g1{d;ujkj(SVyQ67ez;G~f9{@W;#ARBcVr5lprq>{1=avr2v*HMOV z!k(l~8YyYhQ6fR!)-9AvAQPOlQ{M4QB*-S+OW6v!&dC79;;5S;@95aQgSa0IDRz=T zdBiV~AT2tT@*LzICmEDos9oHH(&k;AOWC^=H8>{)l=l&)0!O{4ODWxu2b@$;Wc~2> zbuC5K4}V`bQ2zJ^ZAKi`s+%c8w_yD!CvB7glpA%B4|ES@H+&1T(n&u>pRYpCLq60o zaY5YohrH}0o-%l6@IL)Wr%?9fJNF}=$FLyG zSGtR`2;ztNO7~J$Gfbz}`vh_Sgkd^$EaiEo&)0e+<$b2l*E*GQD$nzc9!r_P^L(Ro zDgK%>e)??D(#2-JX`fTipTWXs+%bDDQfMAk*O=`6~r zd@i=>9Eyy`eXolsG9LH6E}^V_BFOXGbrq!z;^+D8x`uKga*MwvPmf+hxgO%LrPHIE zD2MX*`ayS4viN)bpt~s-F+cyP2PwBQKmVwsnEK^xf0@E>nEK|d6;>% zS7%bz^0(;K*_3yfSAW)plpf~QpLH?i59AjATEFN@%D%kTFS?p?6XW%(ZlpZOc>St3 zQ0~D|eje-7?Ubh>{_ozWyC{z^?!V~)%1eyP`CF$` zJlv0et-o~^cQU-M~!_+<*6?z}%8Pt`Ow;&%osiv$)&#nJe z;4a-rc@Of9lMNJ^h4Qa%r^qane{~n7z8E!69QB_bplpKlItd@(QX_JQArliw^tgvH z#~xuqCW%rA`P)efMb;9GGFcQ^OEAjhP&C^zVN*m&WLqX|N+@*6ut`7W&>q6)UiD$oBqF}jA>&SsUI5CLy`KSG5r)7O|~W`A;>K3E9ikQ^rC@Iaxy)f*P8?R^BkvN;wSTug^2gbWk?U4C;P+n?A}H5Wg>F zZ!<_qXI_mnaR&vdaRu{goJpj#aUHzjCXMnV*TEZZGAT!6_Q;92!+lI1rvdnM<5#Iw>-j zIMMV_zF@6sgb5`EsnN??(+Cqo`3+ak$JGxpNtEzSSfj(qs6ZmIIMk#u%=LF-JPKhB zHQAIqAk&@XQHIr{&m59uiYbReW;-dPNEvmQsisI7b(pE69CZu&)p69}W&HPyJLUB=Rp=|oDAOzFfoyd$K-qc+YOj!EP3$2-`dIv? zzc@*t91Zycl44RR7eM}Tl0n)0DCU!F!|Glpm+})N+DQRrkB+F&P{{G7l#&b??xccJ zcN$7R$O)#FvH^0alLksV!=##KN-x8tnl{QO<@k~UN1bSTDBY0bo%B<}%h3k{ImyHv z8pM4V7ofux&W$~4IJP6jB_ zcY2zMO$t&&`c6+X2^1+IPdBL)DIrfc85DWC&oH?ZdAiRq1(enIV;mb-&oHHw4Uid5 zDky26MTKTU&NQ`@^C0&+X`tL&9_+w=mT9KQPMv3&Hj3;XezxhM$nN21n|@02BiIiI zXU;S+hXrvT4XJVxPmx{Y&oLhHX{1QXpKn?ylJe)9cFM)P!wXC=<#yiT1!iX; zkvkk?LWc*bQHr|Fi@4Sp6Hj>YH7 z%8O0-2$vd>qb@Nqfkf9Gq(UFz>X(=#$_B`1PEshTNh;I{xzuD)vLN3&$)VhOtP1@A z$uUKg1(08zlu#s{FEdpXN$1N<4Mo!Da2tYhqNGg^YL!=*4$9dOzgBsL>85l^r2N7fY_72*|8HuHH?e_4`}uh%?s>c!N%8aZE+?s!;##aJ_dQnbGGi%~kUgB_ zQY5Am%`}R{bfPJxNKEt0B8tQ`&nyij@_Sur>KSGO-c7@Btt(9vt}?Ml2G7nzkW?oLlt-E|7Xp%RQYot;XFAEC zNZhYBxfF@})uwv~g0k@wg2rjjCa9d9so6q)OIgK4BlTjoa7LXo!2ji#L< zvz?1fFGXfM7nuRdx1;b40@CLu6MJ+J_dg)hog`3X&fCo7!I*ZLwBd{Vo%IOc3`5$fr)?C^GxH)Fe}6_I0UAqsWZ1nI@YeGszO;aR4dB5mPWrj9awK{)gk?y$^kpv-}M>!gKp6ni1=F81Q|P0(XM+vrh2-2Z|2J@&IrEJfyB+-pWsWZuQSCY2&HqRY)#ip+>EH@OtQjpom& zpJS#`{5G0DTYiqYGmuD$G}n|fjO^Mx*VIsC*XFsVo+2v;&NEFESvhc?c`uO2nJY{? z!$_G>VR|W2CRCUK%0Y*!(2q#f`6l+*Abn1R^f^hO^c|u?e?k_RREmc%yPRZDmZRpN zw_}!<$)&sj+1*J2r311Tq|%g9eu3=kq=HhOph5>h?l-lR#gHT?4U`XY^`jvVm}W{3 zA?4}`LC$>Glu=3{e$IT@R8schnA9RuM>&#XQj1I@ zM?&J0q%fc)zu`h*}g4obm(nmw2aW)dlBkUg9vQx?w;){9$iGAU~y{$6#TUI=nv%B-D>*|}m`2Ktki(s9pzM7UYQm6} zrk!#epyVMw;H8GTnKM#ja!+9D^5~Togwv!Y}`A^tU z7qZG^QI(~YA3mrUn@{UgS=#>QNr_4vvN{OsZ3U( zw;^lIBFeLn_np*Iq#pjVSx1q2_{*l5()cFks^O@0rjzn6q{B%Mr4J?B7RY)NIw^>I z?4wv=#Yqh1ID9YM3wgyPQL-UBoTO0p_yAw}LtZsml#!7Coa9iR>7S<;W{~m)q@MYX(P=^4<%_}=lR%L#3R}!bO2cuefgr`+H5rr-Am=z4 zOL@2h^VuNpnF7jcNRE?flx*|~=Rw{#6_jfs*Em^3+2>E}#Rh3L4V051w>nuzIR<6a zosbVq8|4g0nUhY+qpV$gX! zCY=(0O%SHdWKsUOA~?^-CZ95lyK8-HisU@Fx<8}r6H`vv53_mw8D*cCD#}1hB?Wm#6A!X z?FZRn3Mq#{4t7#Zkx{BHQ%R9gsxDJakx{Cxrja6}R9npkii}cyYue>J9Hsi!bWtQ# zzcT|AN!9NRK1FulR$SN-75W0{(`^zcGay|~MpDK<7!LVsmTof{lsh56IvGn@!Z6>P z0?G!4`QA*UeETO>62np3O$8-95Dxw8WD&(56|z5Kbj>tS{86DHPSyqz`E`CUO$?L& zBu2y#<_FV3DT5r~q?;nC@uL}}NNW6OqE8D_V>8-uhv2B6Od{n+$Vey2l+j4%VIJit08_~ z{nc!sj6(Z87f1D(c1kAXDkt9r5=pV&Ob^3Ijqx`VIz5QH)EIv=F_dXbFy9#G* zb09Z4Nufxp{%*1;lB&O(97;BRVuMH$}_1)|=hB+K%OAF4ko2{Un3Hi{;B8r@O zciTXbGw*KKQBGNfRW5PV9=44#5#q1Lyoc?itVRz*HzdaPQ{ILAfR=gZ$+riE`v~VHB#E31`zOr$am^S(JOwMjHwlYV#@8kbRsKQJz5?MV+$zq3+`j5 zQMRqXm?w_f*H%#egiLUNtQX>!j#xLQ_hu8#45#&`TBPoX;fSm{+huREE8suFk z7X%WydXmjy7`b|qEuzTPlWYm)v}f>b3eIzwt)g5C`P@kj<=xMNnMH@&HIyGA{>-Ao z?dyR=u6~4VVHmmk5w?pWS3kn`Qlx|&Y4y25YRLO^q>ZIW4nNY4q(}}w(xy^cmPLiW z!95>k$5Of=-A-~T(T`#L0&=vSMmZGno0C#X0s3tQAjx(Sc&xOQ0iJ_#9QK5q&DK?2R9&(tI z6pHi+9cQyB(j#=7&7u50Cmc$~QODaNN(_1(k9Sf+DOwy3odP+*R#7S;XE>>$BtpvY z)=RZ(DCa`vIccIiP=oKFTQN7xc2JfvY%ar$JsNA=A9&U=Wz=albbb(bDWgua zF_fj-v0oeR@N}C*X@tyhl0sRCSlkUc!)8&|Ldu=wP-HEX3|mBzwNNtbj6fnOcBU<3 zn0xRxzYpg*(^gZeAq$<s#?7-JJC@`fF2Qz`O>9cwcv@`k<8=2GMhd!a3$Ol1xqXGrXWKT)FtngI;upNw_D~Loyz8W2q$21Ay~M_h<&y&O zdqFR;@s#Cv1#8M(YEvldA^w^(m)dknK2~08!1DQ@ zBBTG8+Zu|D{$FnEDQzsHuCPs%UY1c;*!Kd7X zB*sZR<#@>6kgIJ9Wej9LC+QTK-!j?eP-K3~WSdXvTM-rV_X@ejmQcbgF&^inoFd;B z6xbSyd|yyt>nW03rr0Kmurbrcz!D6$(UGB#0UHw6-T3U0D(3?om$O}2+3Pr*&LpK{H;n0bx3-)v*D zgVeYSa+Z^L%8O`4o)4L7Qz-2aenZ9V0pn}X5X+iVl11mch0-e%tmB$67%ww+<*{Z(vxDRSmwJ3!fM ziVEc-Uej&t#X)N951Hg7fpU2>_IQHKu&I=5AU8V6pllqiLU*7hbGyx@dwt{jtWR8H_MasXvAfUTpv z45@X}NO_Ir{DZcIvYF-lgSMS=BxVx&?}94ZOF0YTzYD7D0Obmv=OG(=SrGTBJkLWm zfgU2NMZQUW|`dni%@JZk$XM;8S9Ay(U%%Y(R|4e|FwthVtKd4D}-Qz-KO zdd#L%v20NkVt8>#1=A)tn0YMmQiF~$0fFsBJY$MTSt+1N{xLkkjR;z zu`4 zZXl66e9C4sjNIW?WCNSo+sTS<{N(bKkC!c4uftk_Oz|DU6dw#w^fhl;(vC4@-gH&CptGsjZ?NpgEM8P;)cpblC!m)FtZeG>Uv(wZc|Vq0U z1`aww7V!o7v~>I*NQV`@C(YoSBHZ zm)~HPm+hon2Jv?qdcpQk=HuP{5mNO<8=4TreHr94Coz;ar(?bVWQ|Rtd4j(+S-nB`>)DYrrV9d%!`#gsQ+2#3rsnB`?FDPKZjoK#a* z-WT)(ykQ$D??L>2fH&+0itOmrWZNmSqf?XpCXh&udeinWjC{NFrVZr+ak)95PuzpW;-L0$Q{0I z%NS6j|f$J)1+3HSXTC`INVA#+O_; z>U~>6`3Q2RlXA+4FYpBxq}A3?MnT3osi$n5hdxHMTt2W(l+Pe9I(aXUNK8Mp?F=)3 z5roTdo)2v=Wq2J{gLE=LdAua(tNh5uP6|?E1;p>G{KzIy z5=o8EYzM=%i*hQ2ZlCc^9&hw>hpxh04 z-N`!2xldu`TgX?ojWP-HzLQRh^c8g4eu})`J8dXGi2IB)ROk~N^|g(sR6#nNBvCA6 z3*;M{PDzApbCN|l1!J|nkS#W!ayev&lOoE~=#Tmf(q+pjZ$SQYQbidv53_K8#RA>7 zo>Bmbak7T8`yW^h67sEWr6fT1bJ9V{ToM)X_e=fG_E9E44tFw0Sw8};5=gg=yE;gX zcOfS@Nu;zdjS7v1Y_n;U9!Q3hOp5fze{b_B(i{K1Eu>7CAI#0zZp$bo5PxpQc3VmD zTND0_#2#Bmkr_cfwvqB}6-L`}^&e~tCF&uRBu?5X*PW_DmqUKEy_CBlS321lNF-fhdu=*Ja%Qj1qDapC+2&IuXZ~!9D3a@bvE>xW zb-&muilpkVww@xX`m22*kVq{0>;{I}hTTqY#Xa}gcFG@+5+_|0Y0La(2Po2(`OWHU zg4B>+tQ|IiBE48U>_|!+a_=mh`FEQ^IR-Mv$ymw=L`+8+S@>p6w_V{#p0`t z18|h_x+n)jMmXuE>^~0kMIqMH*9LJZzSbH$f-_JDYK8nPH>QD zZ!G0eh`&2?w0C(Rkza5(FP~vX9E{Z+5N0>8gmO0IGAHGf=;cwNJjm`|4docfWGD5M z{ocSjCy+h7Cd!eJsZLrcl43DlH$_q`#_OZVX!{T^`nn)BWVC&V7e}f29^>6O^PXNZ zNG$g9 z8YnW3Hq2|L$T-?CuZ`lb%Dxb1-rMV;_^Yx%=A@q@HO4qErZ7kisWHZR@f4{s4);sPW-|MA(4QX>SK>6qtv@{_Hc(K>Blz@Eg zB!QCp7H0cE61-H(B*>3WGAM6+fZ0Bf1HD|zhmb#=6i{~i6tjIG2YIEGM2P;)mkP?# z6ENEcaxA5HNxwm48u2K2RZ4d#6OF%Y{(&A z%nd=@Plp`sB%acrs6xj>4)szf-Uxgz>?ECXH|D&Z0ZH<5D2pNIILW8T*Y1aTB^3GE z{V=bbQis}(-+n*btD!VP{Pz3dUOh!}_z_+cMRNENUMod%_(-ptA~}4d*GG{Yexw(D zV-R=A;YWILl+!S_H5Rcr%1fqP0J+pj8s$)iIoivnq%h3U-h@CRPeHO*z%cR@BzvV4 zc?y!f3d($}(=`#-I>xJ|JPWznNdrZ8_Z#IkQ)G9)QC=HG%8g^a9*UG3$9nw~simZN zF-1XYNG&DBi>Jss499sX6j_JiI4_+dDSy0|Ly?p}-pi**%AeqsP$cC~@X9Hl-;dd$ zh-s=f8-IQX;T~2-pB=YN=>~Jk+;LCUIS(DZ0!H_6~?N)X3CIE?EmGYjj|2>NVh^x^Li+MK}wwT zQ>3MEx)*bE5O--QobJU_q@{3%mqL-2!WmvVW$vD6Wg`|DUJj)Ovf4>LWkC&gPk@~1 zl~C#+8=RC=Cg7-zkh8oR$~4HkPUs*F&NIoC_2$SBOYUIyh_l%ikbe$Ml9Dbpd} zIhhqYOg)osY(O zg_LT@pE&9wuZ*%1vdc*&W%t*@A-y9M%J%9g2SE04@?0R1RK3_+$1t*{+{IoSMb?zN z*z2U6HVZu!IL{?sKji|*eojKS1aYr>ARJ1BTLWEo#raBWO1u%v3Lh5)V1l zNjl{=w4jfIO!IOm_d||zl24g>kqVsxxy37?%!6b&DW}M|%&lGxMaE@r^_B+`xx?GM zMuv%d2IC+&&uv}{<#5P2C+(DC#Pl*qvDZtP4Vma_@LLMK%esV(2()l;Ol ze22G&B70%q>9ta1FYG(L4vMUhc9+*jkrmSJ@&+lgLRzU8cYBZ;vO-#^mq?MluxEN{ z6xj=Vrk6>Py|C~0@+h(w_T63~MfSp;<&{xnFYH-fB}MkaF7xUr{%%cS)DO$NM#>*I z;n~6J!S{GAlp!|*f!TIrO1kHbG-_RtPVHNtEI^5aPzzdinM?# zyk?5DfGWH;imYxi-|L~s>K608eu}h!7I-mt1aX%Z&;l=>A}y)=ycCMGr0(<5DKe{} z(#xU9tcFT2pCYZK`@Is1w36=k$|?TpdFOnB*%c#4z&k9jE+DFGhy(kb#(KJMjE$Wyt*E2qd)S>x4EM8P6KH)V{!Zk1`J@+J z8pK_m$|t=ziac?(UNS|VxLPlbB2Uv(UN%LZrl-6-iabqEd&Lxanx6K`DDpHd^ZZ#y z{=UHSG%fS$DDpJbc^fG5G}U=6lr%gS_aR69&+DRG2wCXl$3P-a!E&#kVWzCcN>B*1 z+>4nRTzwYgDJSuiLgdvIkY~IU%1p>=C+QUV?xx<$p~!bP^FH1r>sS-awDX{ z^Y1< zcZS_rOeT}5$z(E_OeQPIBuOTdWHOmd!ep3CCM%Ok5>_UYWb%7m=X#yb@4mn9|Mqz9 zeVxyB&ULPHo$FlZIv3{GRYi&^3n7nNDWj~qHP(9y@=BzV@*(6|E7g=oH(~7>$jV3q zWhtb}N;73wd5rfp_W9LFJLNCPcUC$n?jFB75|6vkpv2rgesv^?a_2{QMuwDMi=uJ?3uQiMW3G;LP~2?H)e#RPcR}9WY|J+! z2^2RQ^UX-#P@=zH8yUcuoA4&!ANZ}>$Z*O%kiV^rrZhei=IgCU4&^sUkgvBQ!MI`Y z>$w;aitE7qu}CSU7~)$gr@Vo&N`qe0+mR|tJ*0<~)uBZ9aBZZHG49Fr+DHqR z*+H36iE#=1);kgJ-f({wKn}Okjk4ys7%vI(ZX}uVIi#PJK@>OM`(7lC;>LU5i(DQ` zbPwwynT&Bqur88MaYwK&QbcjjCf<*fQ{1zO_ahaQ!ljtMf&Ez*siiy)In_!%#qHq- zkyeV^!w(`qg%aJv`bY<3Ry=`OA4sP@(rrdqJ{usztRztOKrV!Q7#T$Au>hkYR#GX` z5HkkyQDh8d9^`5(S(I6e@MTQM$B_cc%a9wb%m^jAhYgWZ#<<>2L!^S@dOHn~DvImL zd=jarxSq@>ktRy+>oMLW{MPzN8|7h0zLmWcw?@#Xksf$57t~(2M$o5`M9M#_F&>Vs z8Y6=#hrNmKa#|Ti+3{YCR|5Ggl0oTO7vs&gl1-_oj`1FYY={(6)^m$}CWhlyd3ASpA)KM}al~x)l>v0bee4qM@$PUU@NH8z%i%170I0vVGgNZtk zZpC5VgLCk1D+!ccxGukpl)sD&q8$7^W@uYEGnD8NY>o_Pj5`OLBbgL;4mL+}DDE8G z6e*&(b8u6nl#)0fW8L_z&5;Vq8IX6aR8jUk7UO*g`6^OR(TMrfN)yGq7*{<=OQem` z8`5HBPbkq`d>!#{M;FutR}a6ABv4#E{5q0MarJOZB$eXo;g(36i{TuYZz5R~cWwG6 zl1p)QtTj?hadoUUQbuug?Au5s#nrKIBh{4Ys8Qb`Ut1#$lsS+etu#}<%EmPX@?E5z z(gE3HrIT{t4H!v=Y>UL>4l^i?WJs6a14*Jxz-n3s@_i(Qau=kBmEjaupSMRcDXuB9#<(eg7p=O>yT%d!&Kl&WrX)Go^M;jF*hO z{~Bqhd=5F@N+;!)Z(_WYA-f~-C1GhC)EeWRZY7EG6Z#}WA-_dZCybbO0>i} zBI%5A=T}E0o8r!|jz}KGonOC4N+|C9`aLp_a_#z9?_&Jcp2%{_U69MH)KFZ>{}E}V zxRU=P(n2Z1U02X%?u~R%9)$#TY;VMSFwA@K{kROI{AVPA5_~^yoRz+zM02_?GJr8I zr~4wqDK4k`BBLoTr+-CqC@!aeMeAz_RIVQD1ddRhwcR3hax$XqM^DXvsw z)G&%G)fkmdaitoovMH`qW7VWkqNUnJ6)?ub7r~yuZ*@^+lp`TeTUkgs6S5Q%r>ZGq zAF8PDx3tQm+za{AN+IQ)M=*;SV$?iJBV?PE#T3`J z_^O8D+7@5cQSvZ%0-WLsTo}R!H#P%^|9d;zmW{Roug2X}D35c-1|WXf6&_ z35;>MI8+UyxLh2nQYkJMz0??r%SA7hMRB<}OchXEE)G-0lr=ayJyG%rY9ZxINP?A0 zN^i`II|_2RT1zDo4uJGl+bEkMr&wvHxY9U6+4Y)n#<_|0?F~#r1cxT|Zj#L?x1(0*BWK&#!qmL@2xc){TRYGys zf}_-8in|sZrIu4%pCn1uQCy!SNi|Y}`>$iM&qu2rl;Hj=Sm)$u)j@IJ8||yQJrd?U zXxW1AjrLW&LW$<|7?s4BDR{qN1oCx^N})UgNw*Tb2OG3Q#h9&n1teKzQl5caWyQW3 zina<7#p$|b+x ziV78BynW02W{zO&Am^1OL_F3%DiK>#45j@YeQcZDZ`rN`K0~O0jA^ z~5I zcF15=O}Q1)W@Rnq}gLTYKS4otIAi+9jr>o;biRLs#4Q9+qXpw%y{-mgM%1FqcRx&8=2%e$xDDDWJ zp$aM2;LUpP56n7K^C&rxu2vRPZg?pCuFzSkhB6Bhd{^i!RY!RYTLs@9N>weCS0O=6 zs@g$$ndzLZyhp>lf6jEyR^2EYaGyH=TdY5(k|{eO3#|;I1oxmp%sDEJawQ~)IY*75 zOosf0*$Bf_F2y~;9Ht5=?oR4lRYq}lQs=4#p+rmmJXOIMcSSo-)l%FQ?L1XaaV3Ag zYNfc6KVP*`;xQZHK$P=v6*n)&)`XKGhgj)BaqaU3sz1fG&ljk{6gNILLZwsO_}B=Q zL2)g~g({EYT9OOZv{0fsO;g2;nfF?Z*BkqjrWR6Oha_34qzqdXBRW)PW z9*$NG6t{oMz0 zRZzZ%1aC%D%mO!pnsg&Cwl~&Ry_hDVxmm$}vEXrcYDk~F1iRL0x zvzu zR<)ErA^);cPx7Q6cQ>mB$~hR{I172tRof{4ft+ilo#L)&w_Cw2;A-`ZiTg84n4r)VHZ6p+t|) zWVM_z?&wTbbrg4WCaXq@J33R;4vITEQ&b1Vwfy<2+mm5wxRyU(B~UJ{i}lh_hPSIh zl*y1$R#GX&NnN~uL#C=Rlyb;5R$XP@+oc}$aGai3EtL;#~$9J$|=FyI=!td2_;$+ ziqvw(xSCL;>L{)z6sbmvs|ok29TZm+?o}NWR}*HaZcl}!;cCJRl|XSv`93v>;*Rot zDwX1naUj^S zwUkuIiB=jYU;HOrzpg}Wqx=d3weC?>OmVe$o?1w8wRfJXq@46& ztXGKo^O#yoxdbx9N(05cAv<4fqqsL@=c{%~pO^7{5N!3hQn)J)_V8@TBUa)muEfgK z0E#QIa+N}HSCA*vXo|anJfW@*C0b$&R5oK=i7ilt6jx#kR0+kE#*=C>#g)dBYB|M~ z>OxgVaizLYHBwxw{*(&d4-azcTJ@(?2gRN5i&VE~!WehHFH#8|`c8WWfpHpf{xRpDXpHuM^cP=kg11RoXUaC?ku5Ec7hhR<8@WSm>;l)(n^%r>uNFOPe_fG<&>b!dmB=t>L~jm?^|i4xDtCq?Vz|4 zdqZ_lmYvhZYrs~kRX2=C2Bq;HWP_Ci$`#jejWRWeawEj9QKnKUryttI+k~xZ)fl%G ztF~>};rMv*qRz3

    VR6Jy+X%Uab&anD%Ss=bu6am5dw3caIxEDcLzEF{S3J1UW)v%;8n)nH0rND%X` z8b)!scu!?eTrS>I*%bH2Wt}RdxHm5AR0(D9_c7kV$k+R7F(nO>U?q4b2gfU#({-wv zF(h~OmU_0foi9?()d7iQZli&#);UfUIp*K1a%`Ha;lXiN(aVC z&V+oZQYf()a~Ni2IOU2>m~{sENM%ySLoTtBL%AH!FUCMVRz;LsAXi%{rEET~i#Hz9 zpeiWskQ=R3QI-fss5~Tcv+Ciy@ykKQ_DA5|VQFSur znc`UQ6~t^*@h^m>u?+IMl_ZLLyXs4oLUC_beW}h1C7N=xN@vXFSjQ~*LRquQrc8wd zUnpx1&llac9%lY5?V=mt(yju+#PU+&^0@{Z^1Fz?snt+61TKUD(dE=Z8hpDLMh0!G>wZp3P1DwT2p)UF6A2TPp2xT+{yjvRI@{g9-Y5cIb+<~s(-60id$RtZ&gc~duy!M zis!leRTHHGvfWB6TJq!kYGMZtj?o6)&py=q4(8Amr!1Vd~9VN<(BSYOq^a$ zc?1%~#OWH!rUS#619T&0KO~4bK(|mdf2*tRpbX$|b=4kP&mixQGM$J{psZp#5uHr= z;Gpogluo7WfCRs#^oUTRM^Nk0jB!U$>l}(Zf?DTOKADEA2WpGarIg1 zBB+_ZuA)qa9B8GM@)`U5-E@;nhkgETx|OozPs|WN$_MJblv>DcD{-%crSaMOG2X0o zm@TFgDc?cnSm_r^G^YpYL5%rwF1}xhbPm#KlpPT7uRt#UKU?+CnT&B)^By{%;;!aB zbP>gUxAb6LPI2$!AFL}VzhDhXh2QF_YbgiJMh>jhQ;NR8clscQ=vGQOa80X)6^0k zuiknaWjiD|UcGfYWjykp2RTBkSHsen44G;ro^k{3bMJ;E>H(BHA@^BHp?pw?QCrB7 zdNkz=NST#PieG{;KS&>)Pw5MJ%1RN%)s~}lImOkMqjUx3v_`DNf-7~BuBBWE`P)i8 z#f{D#ty?K>bna-~=3@A?y|0d|4)gAww)fRNC~ofeF}gp+&HX+`52mdAqA&ViOS?NX@fUTM#$LnOuaL5)bgDCy5)%TDS zbQ;HmU(q&!epQ?7&TwX&A7 z@d2y@3^_?RQ+|XT&>6@!iW|Wjq&q2Y1aFX5tHRQ7?=PRMlPK=}<&*UQ$|$6K@>iJU zrH50-Lr%9cn&L(RPt`dTHxhWN&ZqqJP}mn8tV=1XH0+BG*5#D*%EFk_bQR@VNYGzB zP1jO_IflVph#|U(vJ4W$4AHF=*Y7=D@1?kY@98@3^)To)~dZx~%xE1No)Oi#)DtneLp}0}mv-CWQ8{JLS%PDSjH&xeA z+{o?Ox{=~WZqL>&6gMJ0RCiF^i1bkH)r2{9Bhu&S1d1DxK1U~0PU1J&hv`(xNJuc& zG)$*a+MV+TPyAe+OL0Bn^K>!A^@PvUWt3nv{;kikl9;Zf1f%hFR;nqk*F9V} zP+YHjxNfG@;wfkRw^%n!w^JJV-17q6Ny%i)2p#`MSQ`0^8KILXrHr{yr%);wbDBX2dok=-^F=;x7;zq46(nSm+4AMFq(0p zm1;`x&h@2`%XI@Kc<1`xR+=fh_n~(Ixk9&7B7ent*IDVL1n*_v1R0~_-waD5crQE8 zN)jb_FS`KpZ=FI3-pjtn%5X|P-okzWGFE3&?u9&TC5IBU67wKe>LNHA3o{&Ub}K6`i81bStGD(gUsDRl1Fm^(kh-A?9iw zR~webt&kw*YTbkKA$q4l%r&|{r3DhiT%!k5#(oi|ld01wH$#G$Or1e_8ojR|o&V@O z%Bzqd=0CcS(mF4U8K>t_c0+=gae6T&7k$wnoojUsWf~-ixmMRvg4L^nm@M5w30AKP zVzTu1P@<(eUbi!56y7cmwi>V1TVZKj1qrqquj486%fp;rrw34;g#*}91GAjUj{m>YCCWey~Wxj|P@W_=l^GeOr< z9)|=m6LdW#D2>6mhrLm^Qi9Uh7YXF2P@<)gqjwA0CnR=_Eua6|$_VKxq_>ddP?RhA z9GyyWC7+|yC_ygHKrU|5S(G3b=UAB-N_2lF>d8W;37H{emXNtZ76@4)WSNkaLRJfT zSI9>~HVD})WUG*$gzOfwPe?4rdC^DuuTnKadJ5?+q_2?Ug`6VfOd;n987bs)Ay*5z zPRK+dlZ8wZGDFBLA#;T+5VAzbG9fF4)P|yNogKD^6Lk}1IwWWTChAtoJ@bv;TpipC{dY~cMGq7*M95GfBZQ0+GFHeqArpj55;9fD zbRjc^%oZ|V$RZ(2g{%;=O2`@^>x8TqvQfwuA=`!Q60%3gej#0PSNy-ny}OWJLiz~l zCuE?IAwq@<86jkpkg-C>37H^dl8~uFrVE)VWVVp`LKX>GDrAL_RYKMXStn$@kc~pN z2-z-VmykU|_6zCyuBbmkdI{+xq@R$1LWT$#DrAI^Q9?38QQxqKc8kuVw6TYFi!P*0 zVc&R?o=2Iz+b-3+XH5cp;|q_>d1LXH=5ijXsfoF`tXSw<*xuLy2C|?$o=4>=CkGNY@Yl_Xyspy9?qq(LIw&MB4ntL5kf`@87pL*kO@L237INnx{#SdW(%1wWRZ}iLRJV_C1j0|bwbt) z*(hX-knKWt3E3lLzmTpUiTWd?mykX}`Ux2*WQdTVLPiJ~C1k9SaY7~tnIvSYkm*8Z z3YjfrzK}&imI_%RWR;LLLe>dcFJz;TEkd>n*(GF;ko`isek|&bkX}Oi2DnObkC0wM`UvSKWT22CLWT+%A!L-0u|mcPnIL46kf}nZ3z;cowvhQk771A@ zWQCAbLe>abCuF^ljY75v*)C+4kUc{73+eias6Rq_3F#xGpOAqM#wrL z>xFC-vPH;tA-ja^5wc%MSIoHj@6lA;e+lU&q>qq(LIw&MB4ntL5kf`@87pL*kO@L2 z37INnx{#SdW(%1wWN|3!2|l5_Q`b-`_=N6GT}QcuPw1xU7Roq2p_`_6P`2|4-Cf#i zw8u;R$tQGo>28!*#uVyg%0Y}N)PpE*avb|^oksbDF(9dl&d+L?q0o(;zl86 z=uV0og_xnce)hk$_deZSNG~CMg!B_KP{)Kh5Hd-~R3X!a%oH+P z$b2D-ge(=ZLdYs1YlN&5vR=qWAzOrO7qUyp9wGaMblo88kC0wM`UvSKWT22CLWT+% zA!L-0u|mcPnIL46kf}nZ3z;cowvhQk771A@WQCAbLe>abCuF^ljY75v*)C+4kUc{7 z3+ei~s6Rq_3F#xGpOAqBD|&eU-Frv> zM@TOreT4KAGEm46Awz|X5HdGF8ZQAv1-{7BXMRA|XqKtPrwF z$QmK*gsc~`QOFh{+lA~BvPZ~%Azjh4|KDTLT}Uq>eT4KAGEm46Awz|X5Hd>0SRvzt zOb{|j$W$TIh0GK(TgZGNi-ar{vO>rzA!~%J6S7{&Mj=~-Y!|Xi$Q~j4g>=Q+KL4lw z2WT=o4LPiN0D`cFI2|^|bnJQ$ukeNbe3z;uuk&vZARtQ-oWQ~ye zQ0#o95$|KI0o_Uo?y1wQ{PcgeD%QJ&>=P2({J%A!SQ{Zdh4dEESIF@~P7!jZkn@C$ z6mq$ctA$)AWTKGCLZ%6sA!L@2xk45QSt4Yakd;DK3wc+_M?y9T*(_wMkhV~wb*xy& z;k{h663W%FV%)Kh5Hd-~R3X!a%oH+P z$b2D-ge(=ZLdYs1YlN&5vR=qWAzOrO7qUyp9wGaMblv>FZOi?-yO3T&`UvSKWT22C zLWT+%A!L-0u|mcPnIL46kf}nZ3z;cowvhQk771A@WQCAbLe>abCuF^ljY75v*)C+4 zkUc{73+eims6Rq_3F#xGpOAqNB>(`?G z2WT=o4LPiN0D`cFI2|^|bnJQ$ukeNbe3z;uuk&vZARtQ-oWQ~w@ zLe>k}C}fL}?Lu}5*&}4Xkgi)q{SnejNFO2ngbWliM98pE?04j=I`Q2Tok0m!kXvOX zo6@o@#(N7gQx{V9LEf`cLK*o&jQ0`b0lk=V4W!Y^a>{YvU=>hEiLRrZ2ian!kuvT% ztkns5Q175jg6y=?K{@OutgjB4rMrD&%TNu3{ADG9asedvZ_j&3529QRQC3nZ&qEG^ zl^$V#*_s;~=y3LP`bXBrBDa9DMO}2;>pHmU15? z)k*_pka8>alw+|v?qbN}x|K2%^1PKc$}w1P`DIACj{7#u`?-+Utn{Evyrhd)3wc8K zr_6x7Yh|z#tnm3EWPwhn%!M>s$)J3TuVOVrp454iUm)LDDWnAJg8l$msOM3FbwPJo zSxgC5HroSvO4m?=mCZV>)KRi`;_GbtJ#Ue2p-hJuD?2E^Zo}8vAWv&=Ynb;g-^Y3h zR=QDs{4R`Htdl8!L4ugYdJttX)}9U4n0iL1QQm?CYfL?($56UI8^$crxs-oFf|w<` zfTGUs;vI#QpVeiQ-jHLhETm*$UiJV;g|4Pdft+e(O(@Z^g6DKSV}dm;gBIyI-AZvS z(sR0v^3GIzRSoGZ)p6g2rST=?Tq`{&S3uGr&+Gn_n<1mD45r*sfEBqQl{%gB2;>?o z8I=35)pd{;bRK01B*#i2<(4}q8CL2jCqf>C zEY~fROCXO}*+DrU--(zHc}aWQ!n|J%dCE#RCr5Vio`bB=$&}k5FIpKyajnG5I*sC5 ziI?>l$`vcH(lxfK(z%qIAa7VHpag61zXN$imr?$Jd|+iErLkWZZ#`tCuBQA9X|l4G z;#&1rbu-1a>aXf;6xXU(>rRSm)vLAoJ}eE_s=ua_D6Un1O%I^lnS<}%;@4N{;grW9 z-&z?>aV`JrI)~y~{?~Or#kKr3x|HHt{u*6QdFF;#ZwFF-LswB&Lv~rIr3C9p{|;HL zn<&9L(w$aXDUa00dU5}F-kW+aWf{a+iQ69L{nz)fvNWVtCsK4>taq4|{*j?()3XAoaR|QVV(0N;AdvzCP6L6xaLuPtmflalNmP^>B*oeKqJzitBwf=p2gc$$X-VD6S{-i7utMp3Hh(L2*5q^}34UdNQBt zdW!4Ge5#u$u9woN+bFJ=(x~@RTrcG_-Q&kF@2;2fnNFm*UdjeNnBsaV8}u-W>!p0I zGbpZ?^105YxE@H8E~K~~NRuw1xSq@xdNIZIWWLbLDXy2YQP)viFJ+@{q#W@<^f)e*P<6vHbJ^ssigE>inUcCU+cA$ zGayG;X`uXZa2M|w$QHega(K@!-f>piDYwOkG2dwQbC~zXAVJJGI-c@6(`nTMC|^Q? zm{y%aIg#mnt4C8VWjf#LOiCtK_}r@VDK~P3&#k(MvXQ;Y?{qokXZ9+;(-o9g@Xf?Q z`1NhNmQn{9Vx^w)3BJS>#C)$?Dc?YXnD2EP<=XLK%yu2u7Uq32B#7Crdr)3rIzQCitzNbq(b!ND%Y0uA@B0blP+aWjWJn(>o|1aG!T-Z)ceIt=#9Gx*KH< zV|M9e%5ui+(t{|6UKj4qFFK7f2omhiFM15+ewK5)&ZRufa&FfJl;4@JUv(KJ;p#A* zU-d%DA)~|J+O4Z8{UE__?bd54KWBz9zv*U57nbvHdK={k9*Yj$NjaS{9a`-QOQTWL^#IB;#_Z9~<4tb5j_zUuRPeMmj;vew{}- z4icpEk1nB%V9Y;y9%Uzg%QMR<2O#Aj9naKI++9+PX{5Njq!`me>HlGPClzZtDCa_g zJE>UXwTF4Xab0*f+QlSL?uP_-qg_lg<@fi)m^hP4>B*QllSVm-=^S9PC>Jy40Fz5` zcdT7aF~!}nb~R-bcc&RKl@xcU88Ouqcc-aL1I68GDzh<^=pCXqt&DMZh}!I>xI08` z;(iTF<5#wR#w1c=c;*_@FO+D?z8S=rD{zH<1V_g=X_T8Fk69T*`4MYGFNAb6xs*8c zSC?2Rpp@W!hZi6Rnlj4cke972q#Tax@+wGoQ%yM$Qfp-`<%Cl7XCVifX3Ck653OvY z1mCo2g!C|-lz$)_t*G5$X)G&`^}dE2Y?3JNLbh2MKzSeYfZ8BE&2Y-+kl(C~raX(9 z@E7C|lS8S3#KZ)WPpSSc9EFHCrIdA$U=$+Wlv9>23P%_YHC2>1A;Ad4p{ADd7iJtN zq}F~*%2eM~3Cofmyf*A816(XEa$Jwj2z z*JN%%%14?0l;CSJQ>>iwf3`|8sf=;Im1M?H+;1hBEQ(9{Xj4FODIaZ$DT^MD@uuOo z`kIB5mmoz}mWC4D=VMG2W8AMFW9ljH*N-txl*T17-UCP{*|br%K_0fUmvTsLj5iN* ztm*N4SX+*REU=PD>5ilG45XhKOz91I-pVk_muqA35iNZA+hkC_g;ZO~rtE(>)_W7u z-xN|Jv+<2EDb`9WjW<2$QO{~O&ui#@|BfF$`7B$V3;t*JHhOr z{0`Y+rGxS~Q(``?f_e#j`RuU+0uf`|@m147tNf5hb}U#+wc~-IP<#h7?<=pnQSa@(?7& z)KXd@bF9=;-uM~g>X0)`D`g#Ik(D;ewzgRBImnqNZf}_PKOiq!=|NH3W4x7+vrK>g^08B>9g&PK!x zH47;(K{i@h`hT`M$5b(9^UJuWM9ev+p7JZ?J1b2T*CGuwZ4}oc4KsT}iSEz2#``lY zpS3UIJ_hNWYZ54%AnjI?DHq*{uPi~%GpUqp$lq4dD6d1}y2NOv!>AW~GdBFt+LgxxiFXPJ|>|sixcmIRP@lG*F&|oNT3;5`4ca1#+Qjrbv;OH2!8zBTMeU2cjgosgg(b-5{X={$?O8~pkerjqg?WQLV$iaQ6#m}O6f)K%QXYUjWu-r*Wm2qH0lCr)qwIhz zvyx6ZYZJcG1<5eklnWuRTgjswH6hkp1G&nSP)>!^S(!&^d=+2mf?REuQ?@}iSgE17 zT6c|Uq_|pljoBPZv@|l!HpcvdtHWlblW96BaT_p(WJUcQmd2NOzxxNse@qhPd&o{J z11LqyV!RH>I5V6w2eQw~Xv*f-(4&rv@vb#Fl--bsm3+!W_~u=ANR}z3JPkS2N;&1W zZDIWxZ>lH{LW24;-qcdQX+|FtTU}?GC_5p?SlJRvv^1_aI~e26?(2=WKg_#3yRSFh zDDEuCHpvus7G#@2lpW8Z7lYrr!K6`wZr& z@+a;_AAn3U^C*YoImp9S7E|6@jealWR#QXS0$E_CjuM-UelH}?v`~(KJa1(Olq)bAR*$W2H)WI@$fs5ogc7X@Q%wb9Tz#HuYALQhPc`)vSD)`NtrSYb)P#nsh2%_*To_i&m?Wz3K5xLZd$)65u3 z?60xjPgb%h!MDqU^0~_tP=arl2jz2@nGs4famzxDL*NJY*Uve?cC%(n4v#QC2`7(qwMkC_z80*Kc&kl_^dU3kTxZ!#%ILV_#)d@~`GXsvtP z00m{vCifaMNO%3J2&oN$y{dvMPQXYqNx6(q%dk$Y5hAc20 zlw!ycR=loZ-p{GUXb|K{lR)`5q`#G9it80DG^rHVD_CgKD4BO*4j#68%4AV;Aw#U> zQl{UB84Hj_rkL^+WVn?wio4H!+Eh~9eeTm{Whl{7U2JL@<4Se0X`;ANU2Iw@u2i2f zdnv9|pD}Tfurv;S6+Id3&k~bJIUaJEmHrfWr|_&9Msarv&zg~;ME9`5jA4x1!wQp2 zaeG){3Mg(5pEG3?w};P}g%tPeOHDP!{rXa~CY0!}KX2+8<9_{l(@Jr_{=8|U1Ya)B zKu#-7oC-@L_;T?$D?KQ|my2(JykPoMf-e`}Y-O;E$-_Jl$TE{o3BFuhU?qbRe7X1@ z$crYA@&e?3D}|K23bbL6d;?O)K3fZtS$mBvahjX_Xm7xewn%d>322V$vvcAoW(p zIC(S1`xLU$Sid}n1LrTd?;-p`O~Q%yM%@~f4#l;F;H zFXT1TObPCM_gmRUanEj6nNEs(cC*ST6PCutd6;Ps!Cj(BqWl8!tsEapwAR&_!HlW- z2`waIYD_w16C}Y(2Bq%<7z>BIVe%*`kYlY(3niNJYE#UZMtoCp0Af~~g_LHAek<;w4H zcL-Ty22dtICRjuy$a|)h(gu0nN*l%9zt@?#ZeiZt{d=A1 z9!m7+yl)a1bH^;qg+w~+5DEu{sr!%73Cs3g|=1@e*EMwtWo-AX&< z)<-cu5Bb=r1H;mI01~SLiKo2BITa0N0A(ZRR5X|&p+rmU6Elo4u6_Q*WKdlD{E5k? zBt9AAY5dlDQ%D&EImk*0CAR}l@F1U>#gszGkye&d+?`9KsiU|%mqyb_*}Nlsiuak> zL1}{oPw_r8yF-cQVuR^qjLXFa6W={7AD4>_CW$hiSBK9{3dLO=J~zWD?&{EFGAZur z&}4Ebu4aB=iYTsTeql-}m+@F^G!>NbJQf>G6~#Sg{L<7@+;he+O%vr}Jb648W!P-m zD4CD}R`yboXN5h+O{T{|VcyS$1U<%0rgtdO65DK&8FL**%myQ!%_fzS4>{9H8fEUS zvEI3muS^!D0&=01T*|E&!5al>F~yX7A!DqRQCx|AZ7M0Q#J)Dwl-yM@-Zj{2i)nD_ zK*n2XrksdpwKPM4B*$!#3l1up$@*U(SQ%vbLA=dlR%Ir|0x%koOd{oG z$Q~>GDKDZ8{~Pj)8Ae$H>7oNkr|ex4;~7Z1$)+6mEaqic$)nWw@w~$zznT)tX2_9N z=26`E#%{Bm;>I_2n;MGi*ZpQ1DXw4ln`v?BERVI{K<_Xe6n6wWjCV+wch?{L-6T+4 zf9!XYOeuXNY)ST*RLU|)(30#iX_VwU!+zZ#CW~?gBvvH4L*`oX4h{2u==b61K^H%PavUTWJ?P>mQx-oP&fAIeQz@@Of_Xb}ej4Q?#vI^h zQGQ~~0e&v!%)+p?boGlVVFSqJ8tw{XB7P<12S^YT@vAAZOh@?*ls-&H`OOqJ z$5s376gS6J`<;~AcwIJre6O%H?&EdY_(_ytj%#qu_5Bn|Fvm5x=KB6{O5J^E=TWNN z{7lMckf*KWP=Yy%OCbmPMU-HU;!9RaDf@Tgy*5a9zk5g=^S}CJEh^>Bv9O_q6o`w8k zrJ9n7t@c2A`3;mQkWMSjlwYw`7lWtiemg~>4cAsWDQmDlJs=5wd_q_nn;^ZcBvGzF zI!8hd_fsg7Ajeo4PH|^tZ$Hy*#j~=vpF?>J@0A>nt&Z@EC`%zHTPdZKeixpViGBrT zF(f!E6a6YmA!pMa>DN={a5mkMeiP-XtHP%Pef&1c%aGvdKp%fE#hocf`8^H~^X|@+ zqx?jQI}4Kh!4!8EB>BTAZp`y&KZD}NJdgIXDSPe+&+fi{A*E+Qcy{;oODF>&!C1jD z{$iI7V~+8cg%Yj3$$m9sT!Ci~5l$G^m#ILi50znxME8D^!ElJ{OP>jCq= z{P^BsX*>cMWhIHS2je#XhWyJ

    (+)XPlMclu1W)@vB}-8YlQIloQv*;<*iGg83bk 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

    fWhDS*F%inQ~lZs!(oLN3|+tuiA@h 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 z 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

    - Matches when the calculated layout contains the specified substring. - This filter is deprecated in favor of <when /> which is based on conditions. -