-
Notifications
You must be signed in to change notification settings - Fork 24
/
index.html
180 lines (171 loc) · 9.15 KB
/
index.html
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
---
layout: default
---
<section class="content">
<section>
<h1 class="page-header" id="welcome">
Welcome to NLog!
</h1>
<p class="lead">
NLog is a flexible and free logging platform for various .NET platforms, including .NET standard.
NLog makes it easy to write to several <a href="{{ site.baseurl }}/config/?tab=targets">targets</a>. (console, file, database, etc.) and change the logging configuration on-the-fly.
</p>
<p>
NLog has support for <a href="https://github.com/NLog/NLog/wiki/How-to-use-structured-logging">structured</a>
and traditional logging.
</p>
<p>
The focus for NLog: high performance, easy-to-use, easy to extend and flexible to configure.
</p>
</section>
<section>
<h1 class="page-header" id="features">Features</h1>
<div id="features-list">
<div class="row">
<div class="col-sm-4">
<h4>Easy to configure</h4>
<p>
NLog is very easy to configure, both through <a href="https://github.com/nlog/NLog/wiki/Configuration-file">configuration file</a>
and <a href="https://github.com/NLog/NLog/wiki/Configure-from-code">programmatically</a>.
Even without restarting the application, the configuration can be changed.
</p>
</div>
<div class="col-sm-4">
<h4>Output formats</h4>
<p>
NLog Layouts are available for several output formats like
<a href="https://github.com/NLog/NLog/wiki/SimpleLayout">Simple Text</a>,
<a href="https://github.com/NLog/NLog/wiki/JsonLayout">JSON</a>,
<a href="https://github.com/NLog/NLog/wiki/XmlLayout">XML</a>,
<a href="https://github.com/NLog/NLog/wiki/CsvLayout">CSV</a> etc.,
The output can be enriched by using the many <a href="{{ site.baseurl }}/config/?tab=layout-renderers">layout renders</a>,
that are able to automatically capture additional output details when logging.
</p>
</div>
<div class="col-sm-4">
<h4>Extensible</h4>
<p>
NLog already includes several targets and pre-defined layouts, but you can also extend
with your own <a href="https://github.com/NLog/NLog/wiki/Extending-NLog">custom targets and layouts</a>
or include own <a href="https://github.com/NLog/NLog/wiki/Context">custom context values</a>
</p>
</div>
</div>
<div class="row">
<div class="col-sm-4">
<h4>Structured logging</h4>
<p>
Full support for <a href="https://github.com/NLog/NLog/wiki/How-to-use-structured-logging"> structured logging</a> and
handles both message-templates and custom logevent properties.
</p>
</div>
<div class="col-sm-4">
<h4>Microsoft Extension Logging</h4>
<p>
NLog can be fully integrated with <a href="https://github.com/NLog/NLog.Extensions.Logging/wiki">Microsoft Extensible Logging</a> (and ASP.NET Core), without it needing to replace the standard Microsoft LoggerFactory.
NLog automatically captures <a href="https://github.com/NLog/NLog.Extensions.Logging/wiki/NLog-properties-with-Microsoft-Extension-Logging">LogEvent properties</a> and can use them in structured logging target output.
</p>
</div>
<div class="col-sm-4">
<h4>appsettings.json</h4>
<p>
NLog configuration can be loaded from <a href="https://github.com/NLog/NLog.Extensions.Logging/wiki/NLog-configuration-with-appsettings.json">appsettings.json</a>
as an alternative to the <a href="https://github.com/NLog/NLog/wiki/Tutorial">NLog.config</a> XML file. It is also possible
to configure NLog targets using values from appsettings.json with <a href="https://github.com/NLog/NLog/wiki/ConfigSetting-Layout-Renderer">${configsetting}</a>
</p>
</div>
</div>
</div>
</section>
<section>
<h1 class="page-header" id="targets">Targets</h1>
<p class="lead">
Targets are used to display, store or pass log messages to another destination.
NLog can dynamically write to one of multiple targets for each log message.
</p>
<p>There are more than 30 targets provided out-of-the-box, including:</p>
<div id="targets-list">
<div class="row">
<div class="col-sm-4">
<h4>
<i class="fa fa-file fa-fw"></i>
Files
</h4>
Write logs to any number of files,
with <a href="https://github.com/nlog/NLog/wiki/File-target">automatic file naming and archival</a>.
</div>
<div class="col-sm-4">
<h4>
<i class="fa fa-warning fa-fw"></i>
Event Log
</h4> Write to event log <a href="https://github.com/nlog/NLog/wiki/EventLog-target">local or remote</a>
</div>
<div class="col-sm-4">
<h4>
<i class="fa fa-database fa-fw"></i>
Database
</h4>
Store your logs in <a href="https://github.com/nlog/NLog/wiki/Database-target">databases</a> supported by .NET
</div>
</div>
<div class="row">
<div class="col-sm-4">
<h4>
<i class="fa fa-terminal fa-fw"></i>
Console
</h4>
Write real-time to the command-line console
including <a href="https://github.com/nlog/NLog/wiki/ColoredConsole-target">color coding</a> of messages
</div>
<div class="col-sm-4">
<h4><i class="fa fa-envelope fa-fw"></i> E-mail</h4>
You can send <a href="https://github.com/nlog/NLog/wiki/Mail-target">emails</a> whenever application errors occur
</div>
<div class="col-sm-4">
<h4> <i class="fa fa-file-o fa-fw"></i>
Debugger output
</h4>
Write to the <a href="https://github.com/NLog/NLog/wiki/Debugger-target">Debugger</a> Output Window, when debugging the application.
</div>
</div>
</div>
<p id="targets-after">
There are also <a href="https://github.com/nlog/nlog/wiki/Targets#user-content-wrapper-targets">wrapper targets</a> which provide
<a href="https://github.com/nlog/NLog/wiki/BufferingWrapper-target">buffering</a>,
<a href="https://github.com/nlog/NLog/wiki/RoundRobinGroup-target">load balancing</a>,
<a href="https://github.com/nlog/NLog/wiki/FallbackGroup-target">failover situations</a>,
<a href="https://github.com/nlog/NLog/wiki/AsyncWrapper-target">asynchronous writing</a> and many more scenarios.
The full list of targets is available on the <a href="{{ site.baseurl }}/config/?tab=targets">config options page</a>.
If you didn't find the target to fit your needs, you can
<a href="https://github.com/nlog/NLog/wiki/How-to-write-a-Target">easily write a custom one</a>.
</p>
</section>
<section>
<h1 class="page-header" id="support">Support</h1>
<div>
NLog supports the following platforms:
<ul>
<li>.NET 5, 6, 7 & 8 (.NET Standard 2.0)</li>
<li>.NET Framework 3.5 - 4.8</li>
<li>.NET Core 1.0 - 3.1</li>
<li>Xamarin Android + iOS (.NET Standard)</li>
<li>UWP (.NET Standard)</li>
<li>Mono 4</li>
<li>ASP.NET Core (NLog.Web.AspNetCore package)</li>
<li>ASP.NET Classic (NLog.Web package)</li>
</ul>
</div>
</section>
<section>
<h1 class="page-header" id="license">License</h1>
<p>
The source code is available under the terms of <a href="https://github.com/NLog/NLog/blob/master/LICENSE.txt">BSD license</a>.
</p>
</section>
</section>
<script>
$(function () {
// Highlight the nav link.
$('#homeNavItem').addClass("active");
});
</script>