You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by fr...@apache.org on 2025/03/17 18:19:46 UTC
(logging-log4net) branch Feature/Antora updated: added potsgres example
This is an automated email from the ASF dual-hosted git repository.
freeandnil pushed a commit to branch Feature/Antora
in repository https://gitbox.apache.org/repos/asf/logging-log4net.git
The following commit(s) were added to refs/heads/Feature/Antora by this push:
new ded9d792 added potsgres example
ded9d792 is described below
commit ded9d792441d85b391611893b12c9b64a6131a0b
Author: Jan Friedrich <fr...@apache.org>
AuthorDate: Mon Mar 17 19:19:31 2025 +0100
added potsgres example
---
src/site/antora/modules/ROOT/nav.adoc | 3 +-
.../ROOT/pages/manual/examples/adonetappender.adoc | 92 +++++++++++++++++++++-
.../examples.adoc} | 0
3 files changed, 93 insertions(+), 2 deletions(-)
diff --git a/src/site/antora/modules/ROOT/nav.adoc b/src/site/antora/modules/ROOT/nav.adoc
index ac2e2147..0e147fdc 100644
--- a/src/site/antora/modules/ROOT/nav.adoc
+++ b/src/site/antora/modules/ROOT/nav.adoc
@@ -20,7 +20,8 @@
* xref:manual/index.adoc[]
** xref:manual/appenders.adoc[]
** xref:manual/configuration.adoc[]
-*** xref:manual/configuration-examples.adoc[]
+*** xref:manual/examples/examples.adoc[]
+**** xref:manual/examples/adonetappender.adoc[]
** xref:manual/filters.adoc[]
** xref:manual/layouts.adoc[]
* xref:features.adoc[]
diff --git a/src/site/antora/modules/ROOT/pages/manual/examples/adonetappender.adoc b/src/site/antora/modules/ROOT/pages/manual/examples/adonetappender.adoc
index ba965e73..6aff9029 100644
--- a/src/site/antora/modules/ROOT/pages/manual/examples/adonetappender.adoc
+++ b/src/site/antora/modules/ROOT/pages/manual/examples/adonetappender.adoc
@@ -187,4 +187,94 @@ The appender configuration is:
<layout type="log4net.Layout.ExceptionLayout"/>
</parameter>
</appender>
-----
\ No newline at end of file
+----
+
+[#postgresql]
+== PostgreSQL
+
+The database table definition is:
+
+[source,sql]
+----
+create table Log
+(
+ Id bigint generated by default as identity,
+ LogDate date not null,
+ Thread varchar(255) not null,
+ LogLevel varchar(50) not null,
+ Logger varchar(255) not null,
+ LogMessage varchar(2000) not null,
+ Exception varchar(2000) null,
+ constraint Log_PKEY primary key (Id)
+)
+----
+
+Please add a package reference for the SqlClient to your .csproj file
+[source,xml]
+----
+ <PackageReference Include="Npgsql" Version="*" />
+----
+
+The appender configuration is:
+
+[source,xml]
+----
+<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
+ <bufferSize value="100"/>
+ <connectionType value="Npgsql.NpgsqlConnection, Npgsql"/>
+ <connectionString value="data source=[database server];initial catalog=[database name];User ID=[user];Password=[password]"/>
+ <commandText value="insert into Log (LogDate, Thread, LogLevel, Logger, LogMessage, Exception) values (@LogDate, @Thread, @LogLevel, @Logger, @LogMessage, @Exception)"/>
+ <parameter>
+ <parameterName value="@LogDate"/>
+ <dbType value="DateTime"/>
+ <layout type="log4net.Layout.RawTimeStampLayout"/>
+ </parameter>
+ <parameter>
+ <parameterName value="@Thread"/>
+ <dbType value="String"/>
+ <size value="255"/>
+ <layout type="log4net.Layout.PatternLayout">
+ <conversionPattern value="%thread"/>
+ </layout>
+ </parameter>
+ <parameter>
+ <parameterName value="@LogLevel"/>
+ <dbType value="String"/>
+ <size value="50"/>
+ <layout type="log4net.Layout.PatternLayout">
+ <conversionPattern value="%level"/>
+ </layout>
+ </parameter>
+ <parameter>
+ <parameterName value="@Logger"/>
+ <dbType value="String"/>
+ <size value="255"/>
+ <layout type="log4net.Layout.PatternLayout">
+ <conversionPattern value="%logger"/>
+ </layout>
+ </parameter>
+ <parameter>
+ <parameterName value="@LogMessage"/>
+ <dbType value="String"/>
+ <size value="2000"/>
+ <layout type="log4net.Layout.PatternLayout">
+ <conversionPattern value="%message"/>
+ </layout>
+ </parameter>
+ <parameter>
+ <parameterName value="@Exception"/>
+ <dbType value="String"/>
+ <size value="2000"/>
+ <layout type="log4net.Layout.ExceptionLayout"/>
+ </parameter>
+</appender>
+----
+
+[#other-databases]
+== Other databases
+
+You can adjust the provided examples to other databases by
+
+* find a nuget package for connecting via ado.net
+* adjust the create table script (tweaking the used data types)
+* adjust the connectionType-Property in AdoNetAppender config to the connection type from the nuget package
diff --git a/src/site/antora/modules/ROOT/pages/manual/configuration-examples.adoc b/src/site/antora/modules/ROOT/pages/manual/examples/examples.adoc
similarity index 100%
rename from src/site/antora/modules/ROOT/pages/manual/configuration-examples.adoc
rename to src/site/antora/modules/ROOT/pages/manual/examples/examples.adoc