Monthly Archives: Februar 2021
NLog Config – mit ILogger
appsettings.json
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
{ "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information", "Hanfifre": "Information" } }, // Konfiguration von NLog. "LogConfiguration": { "factoryAdapter": { "type": "Common.Logging.NLog.NLogLoggerFactoryAdapter, Common.Logging.NLog4412", "arguments": { "configType": "FILE", "configFile": "~/nlog.config" } } }, "DbConnection": { "Provider": "System.Data.SqlClient" } } |
Program.cs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Host.CreateDefaultBuilder(args) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); }) .ConfigureAppConfiguration( (hostingContext, config) => { } ) .ConfigureLogging((hostingContext, logging) => { logging.AddConfiguration(hostingContext.Configuration.GetSection("Logging")); logging.AddDebug(); logging.AddNLog(); }) .UseNLog(); |
NuGet Pakete: NLog NLog.Config NLog.Extensions.Logging NLog.AspNetCore In der Config XXX ersetzen.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
<?xml version="1.0" encoding="utf-8" ?> <nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" throwExceptions="false" autoReload="true" internalLogFile="NLOG_ERROR.log" internalLogLevel="Error"> <!--Basispfade für Logdateien--> <variable name="defaultLogDirectory" value="${basedir}/log" /> <variable name="defaultArchiveDirectory" value="${basedir}/log/archive" /> <targets async="true"> <!--Log in eine Datei, Archivierung wenn Datei ~1MB, Maximal 10 logfiles werden aufbewahrt. --> <target name="traceLog" xsi:type="File" fileName="${defaultLogDirectory}/trace.log" archiveFileName="${defaultArchiveDirectory}/trace.{#####}.zip" archiveAboveSize="1000000" archiveNumbering="Sequence" maxArchiveFiles="10" enableArchiveFileCompression="true" concurrentWrites="true" keepFileOpen="true" openFileCacheTimeout="30" createDirs="true" layout="${date:format=yy-MM-dd HH\:mm\:ss.fff} :: ${level:uppercase=true:padding=-5} :: ${callsite:className=False:fileName=False:includeSourcePath=False:methodName=True} :: ${message} ${onexception:\:\:${exception:format=ToString}}" /> <!--Debugger, loggt ins Outputwindow von Visual Studio--> <target xsi:type="Debugger" name="dbg" layout="${time} :: ${level:uppercase=true} :: ${message}${onexception: \:\: ${exception:format=tostring}}" /> <target xsi:type="ColoredConsole" name="terminal" layout="${date:format=HH\:mm\:ss.fff} :: ${level:uppercase=true:padding=-5} :: ${callsite:padding=-70} [[${threadid:padding=2}]] :: ${message} ${onexception:\:\:${exception:format=ToString}}" /> <target xsi:type="BufferingWrapper" name="mailBuffer" bufferSize="1000" flushTimeout="300000" slidingTimeout="false" overflowAction="Flush"> <target xsi:type="Mail" name="mail" html="true" addNewLines="true" replaceNewlineWithBrTagInHtml ="true" subject="XXX ${level}" to="XXX" from="XXX-${machinename}@XXX.de" header="XXX NLog E-Mail${newline}=========================================================================${newline}" body="${newline} Machine: ${machinename}${newline} Date: ${longdate}${newline} Level: ${pad:padding=5:inner=${level:uppercase=true}}${newline} Callsite: ${callsite}${newline} Logger: ${logger}${newline}${newline} Message: ${newline}${message}${newline}${newline} InnerMessages: ${newline}${exception:format=message:maxInnerExceptionLevel=10:innerFormat=message}${newline}${newline} StackTrace: ${newline}${exception:format=toString}" footer="${newline}=========================================================================${newline}${newline}" smtpUserName="" enableSsl="false" smtpPassword="" smtpAuthentication="None" smtpServer="XXX" /> </target> </targets> <rules> <logger name="*" minlevel="Error" writeTo="mailBuffer" /> <logger name="*" minlevel="Trace" writeTo="traceLog,terminal,dbg" /> </rules> </nlog> |
Datenbank Tabelle:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
CREATE TABLE [Logging].[XXX] ( [LogId] INT IDENTITY (1, 1) NOT NULL, [Server] NVARCHAR (50) NOT NULL, [CreatedDate] DATETIME NOT NULL DEFAULT GETDATE(), [LoggingDate] DATETIME NOT NULL, [CreatedBy] INT NULL, [Scope] NVARCHAR (MAX) NULL, [Message] NVARCHAR (MAX) NULL, [Properties] NVARCHAR (MAX) NULL, [Level] NVARCHAR(100) NULL, [Exception] NVARCHAR(MAX) NULL, [Logger] NVARCHAR(255) NULL, CONSTRAINT [PK_XXX] PRIMARY KEY CLUSTERED ([LogId] ASC), CONSTRAINT [FK_XXX_User] FOREIGN KEY ([CreatedBy]) REFERENCES [dbo].[User] ([UserId]) ); |
0

Login