File: features.html

package info (click to toggle)
log4net 1.2.10%2Bdfsg-7
  • links: PTS, VCS
  • area: main
  • in suites: buster, stretch
  • size: 16,716 kB
  • ctags: 3,590
  • sloc: cs: 25,174; xml: 8,133; cpp: 91; makefile: 57; ansic: 7
file content (451 lines) | stat: -rw-r--r-- 18,015 bytes parent folder | download | duplicates (6)
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--
Copyright 2004-2006 The Apache Software Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

<!-- Content Stylesheet for Site -->

    
    

        
<!-- start the processing -->
    <!-- ====================================================================== -->
    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
    <!-- Main Page Section -->
    <!-- ====================================================================== -->
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>

                                                    <meta name="author" value="Nicko Cadell">
            <meta name="email" value="nicko at apache dot org">
            
           
                                     <meta  name="keywords"  content="log4net features, log4net"  />
 
                         
            <link href="../css/site.css" rel="stylesheet" type="text/css"/>
            
							<link href="../css/style.css" rel="stylesheet" type="text/css"/>
			
            <title>log4net - log4net Features</title>
            
                    </head>

        <body 
            bgcolor="#ffffff"
            text="#000000"
            link="#525D76"
                >       
           <!-- START Header table --> 
                             <table class="banner" border="0">
     <tr>
       <td valign="top">
         <a href="http://logging.apache.org/">
           <img src="http://logging.apache.org/images/ls-logo.jpg" border="0"/>
         </a>
       </td>
       <td align="right">
                  </td>
     </tr>
   </table>
              <!-- END Header table --> 


	   <div class="centercol">
        
           <!-- START main table --> 
                

	                                                                       <h1><a id="main"></a>log4net Features</h1>
    <div class="i1">
                                    			<h2>Contents</h2>
		<div class="i1">
																			    <a href="#overview">Overview</a><br/>
    <div class="i1">
                                                                      </div>
																    <a href="#features">Features</a><br/>
    <div class="i1">
                              </div>
																    <a href="#frameworks">Support for multiple frameworks</a><br/>
    <div class="i1">
                                                                      </div>
																    <a href="#appenders">Output to multiple logging targets</a><br/>
    <div class="i1">
                                                                      </div>
																    <a href="#hierarchy">Hierarchical logging architecture</a><br/>
    <div class="i1">
                              </div>
																    <a href="#xml-config">XML Configuration</a><br/>
    <div class="i1">
                                                  </div>
																    <a href="#dynamic-config">Dynamic Configuration</a><br/>
    <div class="i1">
                              </div>
																    <a href="#context">Logging Context</a><br/>
    <div class="i1">
                              </div>
																    <a href="#history">Proven architecture</a><br/>
    <div class="i1">
                              </div>
									</div>
	                                                    <h2><a id="overview"></a>Overview</h2>
    <div class="i1">
                                    <p>
					log4net is a tool to help the programmer output log statements to a 
					variety of output targets. In case of problems with an application, 
					it is helpful to enable logging so that the problem can be located. 
					With log4net it is possible to enable logging at runtime without 
					modifying the application binary. The log4net package is designed so 
					that log statements can remain in shipped code without incurring a 
					high performance cost. It follows that the speed of logging (or 
					rather not logging) is crucial.
				</p>
                                                <p>
					At the same time, log output can be so voluminous that it quickly becomes 
					overwhelming. One of the distinctive features of log4net is the notion of 
					hierarchical loggers. Using these loggers it is possible to selectively 
					control which log statements are output at arbitrary granularity. 
				</p>
                                                <p>
					log4net is designed with two distinct goals in mind: speed and flexibility
				</p>
                      </div>
                                                    <h2><a id="features"></a>Features</h2>
    <div class="i1">
                                    <ul>
					<li><h3>Support for multiple frameworks</h3></li>
					<li><h3>Output to multiple logging targets</h3></li>
					<li><h3>Hierarchical logging architecture</h3></li>
					<li><h3>XML Configuration</h3></li>
					<li><h3>Dynamic Configuration</h3></li>
					<li><h3>Logging Context</h3></li>
					<li><h3>Proven architecture</h3></li>
					<li><h3>Modular and extensible design</h3></li>
					<li><h3>High performance with flexibility</h3></li>
				</ul>
                      </div>
                                                    <h2><a id="frameworks"></a>Support for multiple frameworks</h2>
    <div class="i1">
                                    <p>
					log4net runs on all ECMA CLI 1.0 compatible runtimes.
					log4net has specific builds for the following frameworks:
				</p>
                                                <ul>
					<li>Microsoft .NET Framework 1.0 (1.0.3705)</li>
					<li>Microsoft .NET Framework 1.1 (1.1.4322)</li>
					<li>Microsoft .NET Framework 2.0 (2.0.50727)</li>
					<li>Microsoft .NET Compact Framework 1.0 (1.0.5000)</li>
					<li>Mono 1.0</li>
					<li>Microsoft Shared Source CLI 1.0</li>
					<li>CLI 1.0 Compatible</li>
				</ul>
                                                <p>
					Note: Due to the .NET frameworks support for backward compatibility 
					log4net will run on future versions of the runtimes listed above.
				</p>
                      </div>
                                                    <h2><a id="appenders"></a>Output to multiple logging targets</h2>
    <div class="i1">
                                    <p>
					log4net ships with the following appenders (not on all frameworks):
				</p>
                                                <div class="table">
					<table cellspacing="0">
						<tr>
							<th>
								Type</th>
							<th>
								Description</th>
						</tr>
						<tr>
							<td>log4net.Appender.AdoNetAppender</td>
							<td>
								Writes logging events to a database using either prepared statements or stored 
								procedures.
							</td>
						</tr>
						<tr>
							<td>log4net.Appender.AnsiColorTerminalAppender</td>
							<td>
								Writes color highlighted logging events to a an ANSI terminal window.
							</td>
						</tr>
						<tr>
							<td>log4net.Appender.AspNetTraceAppender</td>
							<td>
								Writes logging events to the ASP trace context. These can then be rendered at 
								the end of the ASP page or on the ASP trace page.
							</td>
						</tr>
						<tr>
							<td>log4net.Appender.ColoredConsoleAppender</td>
							<td>
								Writes color highlighted logging events to the application's Windows Console.
							</td>
						</tr>
						<tr>
							<td>log4net.Appender.ConsoleAppender</td>
							<td>
								Writes logging events to the application's Console. The events may go to either 
								the standard our stream or the standard error stream.
							</td>
						</tr>
						<tr>
							<td>log4net.Appender.EventLogAppender</td>
							<td>
								Writes logging events to the Windows Event Log.
							</td>
						</tr>
						<tr>
							<td>log4net.Appender.FileAppender</td>
							<td>
								Writes logging events to a file in the file system.
							</td>
						</tr>
						<tr>
							<td>log4net.Appender.LocalSyslogAppender</td>
							<td>
								Writes logging events to the local syslog service (UNIX only).
							</td>
						</tr>
						<tr>
							<td>log4net.Appender.MemoryAppender</td>
							<td>
								Stores logging events in an in memory buffer.
							</td>
						</tr>
						<tr>
							<td>log4net.Appender.NetSendAppender</td>
							<td>
								Writes logging events to the Windows Messenger service. These messages are 
								displayed in a dialog on a users terminal.
							</td>
						</tr>
						<tr>
							<td>log4net.Appender.OutputDebugStringAppender</td>
							<td>
								Writes logging events to the debugger. If the application has no 
								debugger, the system debugger displays the string. If the application has no 
								debugger and the system debugger is not active, the message is ignored.
							</td>
						</tr>
						<tr>
							<td>log4net.Appender.RemoteSyslogAppender</td>
							<td>
								Writes logging events to a remote syslog service using UDP networking.
							</td>
						</tr>
						<tr>
							<td>log4net.Appender.RemotingAppender</td>
							<td>
								Writes logging events to a remoting sink using .NET remoting.
							</td>
						</tr>
						<tr>
							<td>log4net.Appender.RollingFileAppender</td>
							<td>
								Writes logging events to a file in the file system. The RollingFileAppender can 
								be configured to log to multiple files based upon date or file size 
								constraints.
							</td>
						</tr>
						<tr>
							<td>log4net.Appender.SmtpAppender</td>
							<td>
								Sends logging events to an email address.
							</td>
						</tr>
						<tr>
							<td>log4net.Appender.TelnetAppender</td>
							<td>
								Clients connect via Telnet to receive logging events.
							</td>
						</tr>
						<tr>
							<td>log4net.Appender.TraceAppender</td>
							<td>
								Writes logging events to the .NET trace system.
							</td>
						</tr>
						<tr>
							<td>log4net.Appender.UdpAppender</td>
							<td>
								Sends logging events as connectionless UDP datagrams to a remote host or a 
								multicast group using a UdpClient.
							</td>
						</tr>
					</table>
				</div>
                                                <p />
                      </div>
                                                    <h2><a id="hierarchy"></a>Hierarchical logging architecture</h2>
    <div class="i1">
                                    <p>
					Hierarchical logging is an ideal fit with component based development. 
					Each component has its own of logger. When individually tested, the 
					properties of these loggers may be set as the developer requires. 
					When combined with other components, the loggers inherit the properties 
					determined by the integrator of the components. One can selectively elevate 
					logging priorities on one component without affecting the other components. 
					This is useful when you need a detailed trace from just a single component 
					without crowding the trace file with messages from other components. All 
					this can be done through configuration files; no code changes are required. 			
				</p>
                      </div>
                                                    <h2><a id="xml-config"></a>XML Configuration</h2>
    <div class="i1">
                                    <p>
					log4net is configured using an XML configuration file. The configuration 
					information can be embedded within other XML configuration files
					(such as the application's .config file) or in a separate file. The
					configuration is easily readable and updateable while retaining the
					flexibility to express all configurations.
				</p>
                                                <p>
					Alternatively log4net can be configured programmatically.
				</p>
                      </div>
                                                    <h2><a id="dynamic-config"></a>Dynamic Configuration</h2>
    <div class="i1">
                                    <p>
					log4net can monitor its configuration file for changes and dynamically
					apply changes made by the configurator. The logging levels, appenders, 
					layouts, and just about everything else can be adjusted at runtime. 
					In many cases it is possible to diagnose application issues without 
					terminating the process in question. This can a very valuable tool in
					investigating issues with deployed applications.
				</p>
                      </div>
                                                    <h2><a id="context"></a>Logging Context</h2>
    <div class="i1">
                                    <p>
					log4net can collect logging context data in a way that is transparent 
					to the developer at the point of logging. The GlobalContext and the 
					ThreadContext allow the application to capture contextual data and for it
					to be attached to logging messages. For instance, in a web service, 
					once the caller is authenticated the username of the caller is can be 
					stored in a ThreadContext property. This property is then automatically 
					logged as part of each logging message.
				</p>
                      </div>
                                                    <h2><a id="history"></a>Proven architecture</h2>
    <div class="i1">
                                    <p>
					log4net is based on the highly successful log4j logging library,
					in development since 1996. This popular and proven architecture has 
					so far been ported to 12 languages.
				</p>
                      </div>
                      </div>
                                                


                           
                <!-- FOOTER -->
<p>&nbsp;</p>

                    <div align="center"><font color="#525D76" size="-1"><em>
                    Copyright &#169; 
		    			2004-2006,
		    		    		    	Apache Software Foundation
		                        </em></font></div>
             <!-- END main table --> 

           </div>

           <!-- LEFT SIDE NAVIGATION -->
             <!-- ============================================================ -->
  <div class="leftcol">
               <div class="menu_header">Apache</div>
              	 <div class="menu_item">    <a href="http://www.apache.org">Apache Home</a>
</div>
              	 <div class="menu_item">    <a href="http://logging.apache.org/">Logging Services</a>
</div>
                  <div class="menu_header">log4net Project</div>
              	 <div class="menu_item">    <a href="../index.html">About</a>
</div>
              	 <div class="menu_item">    <a href="../license.html">License</a>
</div>
              	 <div class="menu_item">    <a href="../support.html">Support</a>
</div>
              	 <div class="menu_item">    <a href="../roadmap.html">Roadmap</a>
</div>
              	 <div class="menu_item">    <a href="../contributing.html">Contributing</a>
</div>
              	 <div class="menu_item">    <a href="../history.html">History</a>
</div>
              	 <div class="menu_item">    <a href="../downloads.html">Downloads</a>
</div>
                  <div class="menu_header">log4net 1.2 Documentation</div>
              	 <div class="menu_item">    <a href="../release/features.html">Features</a>
</div>
              	 <div class="menu_item">    <a href="../release/framework-support.html">Supported Frameworks</a>
</div>
              	 <div class="menu_item">    <a href="../release/release-notes.html">Release Notes</a>
</div>
              	 <div class="menu_item">    <a href="../release/example-apps.html">Example Apps</a>
</div>
              	 <div class="menu_item">    <a href="../release/config-examples.html">Config Examples</a>
</div>
              	 <div class="menu_item">    <a href="../release/building.html">Building</a>
</div>
              	 <div class="menu_item">    <a href="../release/faq.html">FAQ</a>
</div>
              	 <div class="menu_item">    <a href="../release/howto/index.html">How Tos</a>
</div>
              	 <div class="menu_item">    <a href="../release/sdk/index.html">SDK Reference</a>
</div>
                  <div class="menu_header">log4net 1.2 Manual</div>
              	 <div class="menu_item">    <a href="../release/manual/introduction.html">Introduction</a>
</div>
              	 <div class="menu_item">    <a href="../release/manual/configuration.html">Configuration</a>
</div>
              	 <div class="menu_item">    <a href="../release/manual/contexts.html">Contexts</a>
</div>
              	 <div class="menu_item">    <a href="../release/manual/plugins.html">Plugins</a>
</div>
              	 <div class="menu_item">    <a href="../release/manual/repositories.html">Repositories</a>
</div>
              	 <div class="menu_item">    <a href="../release/manual/internals.html">Internals</a>
</div>
             </div> 
   

        </body>
    </html>
<!-- end the processing -->