Skip to content

Commit ded9d79

Browse files
committed
added potsgres example
1 parent 6ad5579 commit ded9d79

File tree

3 files changed

+93
-2
lines changed

3 files changed

+93
-2
lines changed

src/site/antora/modules/ROOT/nav.adoc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@
2020
* xref:manual/index.adoc[]
2121
** xref:manual/appenders.adoc[]
2222
** xref:manual/configuration.adoc[]
23-
*** xref:manual/configuration-examples.adoc[]
23+
*** xref:manual/examples/examples.adoc[]
24+
**** xref:manual/examples/adonetappender.adoc[]
2425
** xref:manual/filters.adoc[]
2526
** xref:manual/layouts.adoc[]
2627
* xref:features.adoc[]

src/site/antora/modules/ROOT/pages/manual/examples/adonetappender.adoc

Lines changed: 91 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,4 +187,94 @@ The appender configuration is:
187187
<layout type="log4net.Layout.ExceptionLayout"/>
188188
</parameter>
189189
</appender>
190-
----
190+
----
191+
192+
[#postgresql]
193+
== PostgreSQL
194+
195+
The database table definition is:
196+
197+
[source,sql]
198+
----
199+
create table Log
200+
(
201+
Id bigint generated by default as identity,
202+
LogDate date not null,
203+
Thread varchar(255) not null,
204+
LogLevel varchar(50) not null,
205+
Logger varchar(255) not null,
206+
LogMessage varchar(2000) not null,
207+
Exception varchar(2000) null,
208+
constraint Log_PKEY primary key (Id)
209+
)
210+
----
211+
212+
Please add a package reference for the SqlClient to your .csproj file
213+
[source,xml]
214+
----
215+
<PackageReference Include="Npgsql" Version="*" />
216+
----
217+
218+
The appender configuration is:
219+
220+
[source,xml]
221+
----
222+
<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
223+
<bufferSize value="100"/>
224+
<connectionType value="Npgsql.NpgsqlConnection, Npgsql"/>
225+
<connectionString value="data source=[database server];initial catalog=[database name];User ID=[user];Password=[password]"/>
226+
<commandText value="insert into Log (LogDate, Thread, LogLevel, Logger, LogMessage, Exception) values (@LogDate, @Thread, @LogLevel, @Logger, @LogMessage, @Exception)"/>
227+
<parameter>
228+
<parameterName value="@LogDate"/>
229+
<dbType value="DateTime"/>
230+
<layout type="log4net.Layout.RawTimeStampLayout"/>
231+
</parameter>
232+
<parameter>
233+
<parameterName value="@Thread"/>
234+
<dbType value="String"/>
235+
<size value="255"/>
236+
<layout type="log4net.Layout.PatternLayout">
237+
<conversionPattern value="%thread"/>
238+
</layout>
239+
</parameter>
240+
<parameter>
241+
<parameterName value="@LogLevel"/>
242+
<dbType value="String"/>
243+
<size value="50"/>
244+
<layout type="log4net.Layout.PatternLayout">
245+
<conversionPattern value="%level"/>
246+
</layout>
247+
</parameter>
248+
<parameter>
249+
<parameterName value="@Logger"/>
250+
<dbType value="String"/>
251+
<size value="255"/>
252+
<layout type="log4net.Layout.PatternLayout">
253+
<conversionPattern value="%logger"/>
254+
</layout>
255+
</parameter>
256+
<parameter>
257+
<parameterName value="@LogMessage"/>
258+
<dbType value="String"/>
259+
<size value="2000"/>
260+
<layout type="log4net.Layout.PatternLayout">
261+
<conversionPattern value="%message"/>
262+
</layout>
263+
</parameter>
264+
<parameter>
265+
<parameterName value="@Exception"/>
266+
<dbType value="String"/>
267+
<size value="2000"/>
268+
<layout type="log4net.Layout.ExceptionLayout"/>
269+
</parameter>
270+
</appender>
271+
----
272+
273+
[#other-databases]
274+
== Other databases
275+
276+
You can adjust the provided examples to other databases by
277+
278+
* find a nuget package for connecting via ado.net
279+
* adjust the create table script (tweaking the used data types)
280+
* adjust the connectionType-Property in AdoNetAppender config to the connection type from the nuget package
File renamed without changes.

0 commit comments

Comments
 (0)