RetryingTargetWrapper Class |
Namespace: NLog.Targets.Wrappers
The RetryingTargetWrapper type exposes the following members.
Name | Description | |
---|---|---|
RetryingTargetWrapper |
Initializes a new instance of the RetryingTargetWrapper class.
| |
RetryingTargetWrapper(Target, Int32, Int32) |
Initializes a new instance of the RetryingTargetWrapper class.
| |
RetryingTargetWrapper(String, Target, Int32, Int32) |
Initializes a new instance of the RetryingTargetWrapper class.
|
Name | Description | |
---|---|---|
EnableBatchWrite |
Gets or sets whether to enable batching, and only apply single delay when a whole batch fails
| |
IsInitialized |
Gets a value indicating whether the target has been initialized.
(Inherited from Target.) | |
LoggingConfiguration |
Gets the logging configuration this target is part of.
(Inherited from Target.) | |
Name |
Gets or sets the name of the target.
(Inherited from Target.) | |
RetryCount |
Gets or sets the number of retries that should be attempted on the wrapped target in case of a failure.
| |
RetryDelayMilliseconds |
Gets or sets the time to wait between retries in milliseconds.
| |
SyncRoot |
Gets the object which can be used to synchronize asynchronous operations that must rely on the .
(Inherited from Target.) | |
WrappedTarget |
Gets or sets the target that is wrapped by this target.
(Inherited from WrapperTargetBase.) |
Name | Description | |
---|---|---|
CloseTarget |
Closes the target to release any initialized resources
(Inherited from Target.) | |
Dispose |
Closes the target.
(Inherited from Target.) | |
Dispose(Boolean) |
Releases unmanaged and - optionally - managed resources.
(Inherited from Target.) | |
Flush |
Flush any pending log messages (in case of asynchronous targets).
(Inherited from Target.) | |
FlushAsync |
Flush any pending log messages
(Inherited from WrapperTargetBase.) | |
InitializeTarget |
Initializes the target before writing starts
(Inherited from Target.) | |
PrecalculateVolatileLayouts |
Calls the Precalculate(LogEventInfo) on each volatile layout
used by this target.
This method won't prerender if all layouts in this target are thread-agnostic.
(Inherited from Target.) | |
RenderLogEvent(Layout, LogEventInfo) |
Renders the logevent into a string-result using the provided layout
(Inherited from Target.) | |
RenderLogEventT(LayoutT, LogEventInfo, T) |
Renders the logevent into a result-value by using the provided layout
(Inherited from Target.) | |
ResolveServiceT |
Resolve from DI ServiceRepository (Inherited from Target.) | |
ToString | Returns a string that represents the current object. (Inherited from WrapperTargetBase.) | |
Write(AsyncLogEventInfo) |
Writes the specified log event to the wrapped target, retrying and pausing in case of an error.
(Overrides TargetWrite(AsyncLogEventInfo).) | |
Write(IListAsyncLogEventInfo) |
Writes an array of logging events to the log target. By default it iterates on all
events and passes them to "Write" method. Inheriting classes can use this method to
optimize batch writes.
(Inherited from Target.) | |
Write(LogEventInfo) |
Writes logging event to the log target. Must be overridden in inheriting
classes.
(Inherited from WrapperTargetBase.) | |
WriteAsyncLogEvent |
Writes the log to the target.
(Inherited from Target.) | |
WriteAsyncLogEvents(AsyncLogEventInfo) |
Writes the array of log events.
(Inherited from Target.) | |
WriteAsyncLogEvents(IListAsyncLogEventInfo) |
Writes the array of log events.
(Inherited from Target.) | |
WriteAsyncThreadSafe(AsyncLogEventInfo) |
Writes the specified log event to the wrapped target in a thread-safe manner.
(Overrides TargetWriteAsyncThreadSafe(AsyncLogEventInfo).) | |
WriteAsyncThreadSafe(IListAsyncLogEventInfo) |
Writes the specified log event to the wrapped target, retrying and pausing in case of an error.
(Overrides TargetWriteAsyncThreadSafe(IListAsyncLogEventInfo).) | |
WriteFailedNotInitialized |
LogEvent is written to target, but target failed to successfully initialize
(Inherited from Target.) |
This example causes each write attempt to be repeated 3 times, sleeping 1 second between attempts if first one fails.
To set up the target in the configuration file, use the following syntax:
1<?xml version="1.0" ?> 2<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 4 <targets> 5 <target name="file" xsi:type="RetryingWrapper" retryCount="3" retryDelayMilliseconds="1000"> 6 <target xsi:type="File" fileName="${basedir}/file.txt" /> 7 </target> 8 </targets> 9 10 <rules> 11 <logger name="*" minlevel="Debug" writeTo="file" /> 12 </rules> 13</nlog>
To set up the log target programmatically use code like this:
1using System; 2 3using NLog; 4using NLog.Targets; 5using NLog.Targets.Wrappers; 6using System.Diagnostics; 7 8class Example 9{ 10 static void Main(string[] args) 11 { 12 FileTarget wrappedTarget = new FileTarget(); 13 wrappedTarget.FileName = "${basedir}/file.txt"; 14 15 RetryingTargetWrapper target = new RetryingTargetWrapper(); 16 target.WrappedTarget = wrappedTarget; 17 target.RetryCount = 3; 18 target.RetryDelayMilliseconds = 1000; 19 20 NLog.Config.SimpleConfigurator.ConfigureForTargetLogging(target, LogLevel.Debug); 21 22 Logger logger = LogManager.GetLogger("Example"); 23 logger.Debug("log message"); 24 } 25}