Skip to content

Commit 6ad5579

Browse files
committed
separated configuration examples
1 parent bbfb25b commit 6ad5579

File tree

2 files changed

+193
-175
lines changed

2 files changed

+193
-175
lines changed

src/site/antora/modules/ROOT/pages/manual/configuration-examples.adoc

Lines changed: 3 additions & 175 deletions
Original file line numberDiff line numberDiff line change
@@ -15,183 +15,11 @@
1515
limitations under the License.
1616
////
1717
18-
[#configuration-examples]
19-
= Configuration Examples
18+
[#examples]
19+
= Examples
2020
2121
This document presents example configurations for the built-in appenders. These configurations are designed to work with the log4net.Config.XmlConfigurator.
2222
2323
These examples are by no means exhaustive configurations for the appenders.
2424
25-
[#adonetappender]
26-
== AdoNetAppender
27-
28-
The configuration of the AdoNetAppender depends on the provider selected for the target database.
29-
30-
The following examples show how to configure the AdoNetAppender to log messages to different databases.
31-
The events are written in batches of 100 (BufferSize).
32-
The ConnectionType specifies the fully qualified type name for the System.Data.IDbConnection to use to connect to the database.
33-
The ConnectionString is database provider specific.
34-
The CommandText is either a prepared statement or a stored procedure, in this case it is a prepared statement.
35-
Each parameter to the prepared statement or stored procedure is specified with its name, database type and a layout that renders the value for the parameter.
36-
37-
[#mssqlserver]
38-
=== MS SQL Server
39-
40-
The database table definition is:
41-
42-
[source,sql]
43-
----
44-
create table dbo.Log
45-
(
46-
Id bigint identity (1, 1) not null,
47-
LogDate datetime not null,
48-
Thread nvarchar(255) not null,
49-
LogLevel nvarchar(50) not null,
50-
Logger nvarchar(255) not null,
51-
LogMessage nvarchar(2000) not null,
52-
Exception nvarchar(2000) null,
53-
constraint Log_PKEY primary key (Id)
54-
) with (data_compression = page)
55-
----
56-
57-
Please add a package reference for the SqlClient to your .csproj file
58-
[source,xml]
59-
----
60-
<PackageReference Include="Microsoft.Data.SqlClient" Version="*" />
61-
----
62-
63-
The appender configuration is:
64-
65-
[source,xml]
66-
----
67-
<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
68-
<bufferSize value="100"/>
69-
<connectionType value="Microsoft.Data.SqlClient.SqlConnection, Microsoft.Data.SqlClient"/>
70-
<connectionString value="data source=[database server];initial catalog=[database name];integrated security=false;persist security info=True;User ID=[user];Password=[password]"/>
71-
<commandText value="insert into dbo.Log (LogDate, Thread, LogLevel, Logger, LogMessage, Exception) values (@LogDate, @Thread, @LogLevel, @Logger, @LogMessage, @Exception)"/>
72-
<parameter>
73-
<parameterName value="@LogDate"/>
74-
<dbType value="DateTime"/>
75-
<layout type="log4net.Layout.RawTimeStampLayout"/>
76-
</parameter>
77-
<parameter>
78-
<parameterName value="@Thread"/>
79-
<dbType value="String"/>
80-
<size value="255"/>
81-
<layout type="log4net.Layout.PatternLayout">
82-
<conversionPattern value="%thread"/>
83-
</layout>
84-
</parameter>
85-
<parameter>
86-
<parameterName value="@LogLevel"/>
87-
<dbType value="String"/>
88-
<size value="50"/>
89-
<layout type="log4net.Layout.PatternLayout">
90-
<conversionPattern value="%level"/>
91-
</layout>
92-
</parameter>
93-
<parameter>
94-
<parameterName value="@Logger"/>
95-
<dbType value="String"/>
96-
<size value="255"/>
97-
<layout type="log4net.Layout.PatternLayout">
98-
<conversionPattern value="%logger"/>
99-
</layout>
100-
</parameter>
101-
<parameter>
102-
<parameterName value="@LogMessage"/>
103-
<dbType value="String"/>
104-
<size value="2000"/>
105-
<layout type="log4net.Layout.PatternLayout">
106-
<conversionPattern value="%message"/>
107-
</layout>
108-
</parameter>
109-
<parameter>
110-
<parameterName value="@Exception"/>
111-
<dbType value="String"/>
112-
<size value="2000"/>
113-
<layout type="log4net.Layout.ExceptionLayout"/>
114-
</parameter>
115-
</appender>
116-
----
117-
118-
[#oracle]
119-
=== Oracle
120-
121-
Please add a package reference for the SqlClient to your .csproj file
122-
[source,xml]
123-
----
124-
<PackageReference Include="Oracle.ManagedDataAccess.Core" Version="*" />
125-
----
126-
127-
The database table definition is:
128-
129-
[source,sql]
130-
----
131-
create table Log
132-
(
133-
Id number(10) generated by default as identity,
134-
LogDate date not null,
135-
Thread varchar2(255) not null,
136-
LogLevel varchar2(50) not null,
137-
Logger varchar2(255) not null,
138-
LogMessage varchar2(2000) not null,
139-
Exception varchar2(2000) null,
140-
constraint Log_PKEY primary key (Id)
141-
)
142-
----
143-
144-
The appender configuration is:
145-
146-
[source,xml]
147-
----
148-
<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
149-
<bufferSize value="100"/>
150-
<connectionType value="Oracle.ManagedDataAccess.Client.OracleConnection, Oracle.ManagedDataAccess.Client"/>
151-
<connectionString value="data source=[mydatabase];User ID=[user];Password=[password]"/>
152-
<commandText value="insert into dbo.Log (LogDate, Thread, LogLevel, Logger, LogMessage, Exception) values (@LogDate, @Thread, @LogLevel, @Logger, @LogMessage, @Exception)"/>
153-
<parameter>
154-
<parameterName value="@LogDate"/>
155-
<dbType value="DateTime"/>
156-
<layout type="log4net.Layout.RawTimeStampLayout"/>
157-
</parameter>
158-
<parameter>
159-
<parameterName value="@Thread"/>
160-
<dbType value="String"/>
161-
<size value="255"/>
162-
<layout type="log4net.Layout.PatternLayout">
163-
<conversionPattern value="%thread"/>
164-
</layout>
165-
</parameter>
166-
<parameter>
167-
<parameterName value="@LogLevel"/>
168-
<dbType value="String"/>
169-
<size value="50"/>
170-
<layout type="log4net.Layout.PatternLayout">
171-
<conversionPattern value="%level"/>
172-
</layout>
173-
</parameter>
174-
<parameter>
175-
<parameterName value="@Logger"/>
176-
<dbType value="String"/>
177-
<size value="255"/>
178-
<layout type="log4net.Layout.PatternLayout">
179-
<conversionPattern value="%logger"/>
180-
</layout>
181-
</parameter>
182-
<parameter>
183-
<parameterName value="@LogMessage"/>
184-
<dbType value="String"/>
185-
<size value="2000"/>
186-
<layout type="log4net.Layout.PatternLayout">
187-
<conversionPattern value="%message"/>
188-
</layout>
189-
</parameter>
190-
<parameter>
191-
<parameterName value="@Exception"/>
192-
<dbType value="String"/>
193-
<size value="2000"/>
194-
<layout type="log4net.Layout.ExceptionLayout"/>
195-
</parameter>
196-
</appender>
197-
----
25+
* xref:manual/examples/adonetappender.adoc[AdoNetAppender]
Lines changed: 190 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,190 @@
1+
////
2+
Licensed to the Apache Software Foundation (ASF) under one or more
3+
contributor license agreements. See the NOTICE file distributed with
4+
this work for additional information regarding copyright ownership.
5+
The ASF licenses this file to You under the Apache License, Version 2.0
6+
(the "License"); you may not use this file except in compliance with
7+
the License. You may obtain a copy of the License at
8+
9+
http://www.apache.org/licenses/LICENSE-2.0
10+
11+
Unless required by applicable law or agreed to in writing, software
12+
distributed under the License is distributed on an "AS IS" BASIS,
13+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
See the License for the specific language governing permissions and
15+
limitations under the License.
16+
////
17+
18+
[#adonetappender]
19+
= AdoNetAppender
20+
21+
The configuration of the AdoNetAppender depends on the provider selected for the target database.
22+
23+
The following examples show how to configure the AdoNetAppender to log messages to different databases.
24+
The events are written in batches of 100 (BufferSize).
25+
The ConnectionType specifies the fully qualified type name for the System.Data.IDbConnection to use to connect to the database.
26+
The ConnectionString is database provider specific.
27+
The CommandText is either a prepared statement or a stored procedure, in this case it is a prepared statement.
28+
Each parameter to the prepared statement or stored procedure is specified with its name, database type and a layout that renders the value for the parameter.
29+
30+
[#mssqlserver]
31+
== MS SQL Server
32+
33+
The database table definition is:
34+
35+
[source,sql]
36+
----
37+
create table dbo.Log
38+
(
39+
Id bigint identity (1, 1) not null,
40+
LogDate datetime not null,
41+
Thread nvarchar(255) not null,
42+
LogLevel nvarchar(50) not null,
43+
Logger nvarchar(255) not null,
44+
LogMessage nvarchar(2000) not null,
45+
Exception nvarchar(2000) null,
46+
constraint Log_PKEY primary key (Id)
47+
) with (data_compression = page)
48+
----
49+
50+
Please add a package reference for the SqlClient to your .csproj file
51+
[source,xml]
52+
----
53+
<PackageReference Include="Microsoft.Data.SqlClient" Version="*" />
54+
----
55+
56+
The appender configuration is:
57+
58+
[source,xml]
59+
----
60+
<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
61+
<bufferSize value="100"/>
62+
<connectionType value="Microsoft.Data.SqlClient.SqlConnection, Microsoft.Data.SqlClient"/>
63+
<connectionString value="data source=[database server];initial catalog=[database name];integrated security=false;persist security info=True;User ID=[user];Password=[password]"/>
64+
<commandText value="insert into dbo.Log (LogDate, Thread, LogLevel, Logger, LogMessage, Exception) values (@LogDate, @Thread, @LogLevel, @Logger, @LogMessage, @Exception)"/>
65+
<parameter>
66+
<parameterName value="@LogDate"/>
67+
<dbType value="DateTime"/>
68+
<layout type="log4net.Layout.RawTimeStampLayout"/>
69+
</parameter>
70+
<parameter>
71+
<parameterName value="@Thread"/>
72+
<dbType value="String"/>
73+
<size value="255"/>
74+
<layout type="log4net.Layout.PatternLayout">
75+
<conversionPattern value="%thread"/>
76+
</layout>
77+
</parameter>
78+
<parameter>
79+
<parameterName value="@LogLevel"/>
80+
<dbType value="String"/>
81+
<size value="50"/>
82+
<layout type="log4net.Layout.PatternLayout">
83+
<conversionPattern value="%level"/>
84+
</layout>
85+
</parameter>
86+
<parameter>
87+
<parameterName value="@Logger"/>
88+
<dbType value="String"/>
89+
<size value="255"/>
90+
<layout type="log4net.Layout.PatternLayout">
91+
<conversionPattern value="%logger"/>
92+
</layout>
93+
</parameter>
94+
<parameter>
95+
<parameterName value="@LogMessage"/>
96+
<dbType value="String"/>
97+
<size value="2000"/>
98+
<layout type="log4net.Layout.PatternLayout">
99+
<conversionPattern value="%message"/>
100+
</layout>
101+
</parameter>
102+
<parameter>
103+
<parameterName value="@Exception"/>
104+
<dbType value="String"/>
105+
<size value="2000"/>
106+
<layout type="log4net.Layout.ExceptionLayout"/>
107+
</parameter>
108+
</appender>
109+
----
110+
111+
[#oracle]
112+
== Oracle
113+
114+
Please add a package reference for the SqlClient to your .csproj file
115+
[source,xml]
116+
----
117+
<PackageReference Include="Oracle.ManagedDataAccess.Core" Version="*" />
118+
----
119+
120+
The database table definition is:
121+
122+
[source,sql]
123+
----
124+
create table Log
125+
(
126+
Id number(10) generated by default as identity,
127+
LogDate date not null,
128+
Thread varchar2(255) not null,
129+
LogLevel varchar2(50) not null,
130+
Logger varchar2(255) not null,
131+
LogMessage varchar2(2000) not null,
132+
Exception varchar2(2000) null,
133+
constraint Log_PKEY primary key (Id)
134+
)
135+
----
136+
137+
The appender configuration is:
138+
139+
[source,xml]
140+
----
141+
<appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
142+
<bufferSize value="100"/>
143+
<connectionType value="Oracle.ManagedDataAccess.Client.OracleConnection, Oracle.ManagedDataAccess.Client"/>
144+
<connectionString value="data source=[mydatabase];User ID=[user];Password=[password]"/>
145+
<commandText value="insert into dbo.Log (LogDate, Thread, LogLevel, Logger, LogMessage, Exception) values (@LogDate, @Thread, @LogLevel, @Logger, @LogMessage, @Exception)"/>
146+
<parameter>
147+
<parameterName value="@LogDate"/>
148+
<dbType value="DateTime"/>
149+
<layout type="log4net.Layout.RawTimeStampLayout"/>
150+
</parameter>
151+
<parameter>
152+
<parameterName value="@Thread"/>
153+
<dbType value="String"/>
154+
<size value="255"/>
155+
<layout type="log4net.Layout.PatternLayout">
156+
<conversionPattern value="%thread"/>
157+
</layout>
158+
</parameter>
159+
<parameter>
160+
<parameterName value="@LogLevel"/>
161+
<dbType value="String"/>
162+
<size value="50"/>
163+
<layout type="log4net.Layout.PatternLayout">
164+
<conversionPattern value="%level"/>
165+
</layout>
166+
</parameter>
167+
<parameter>
168+
<parameterName value="@Logger"/>
169+
<dbType value="String"/>
170+
<size value="255"/>
171+
<layout type="log4net.Layout.PatternLayout">
172+
<conversionPattern value="%logger"/>
173+
</layout>
174+
</parameter>
175+
<parameter>
176+
<parameterName value="@LogMessage"/>
177+
<dbType value="String"/>
178+
<size value="2000"/>
179+
<layout type="log4net.Layout.PatternLayout">
180+
<conversionPattern value="%message"/>
181+
</layout>
182+
</parameter>
183+
<parameter>
184+
<parameterName value="@Exception"/>
185+
<dbType value="String"/>
186+
<size value="2000"/>
187+
<layout type="log4net.Layout.ExceptionLayout"/>
188+
</parameter>
189+
</appender>
190+
----

0 commit comments

Comments
 (0)