Sends log messages to the remote instance of Log4J XML Viewer applications (Like Chainsaw).
Platforms Supported: All - Requires nuget-package NLog.Targets.Network
Introduced with NLog 6.0 where Chainsaw-Target and NLogViewer-Target was merged together into this.
This target inherits from the Network Target, and so it has also all the properties of the Network Target available. Using the Log4JXmlEventLayout to produce Log4J XML output.
<targets> <target xsi:type="Log4JXml" name="String" address="Layout" newLine="Boolean" onOverflow="Enum" maxMessageSize="Integer" encoding="Encoding" connectionCacheSize="Integer" lineEnding="CRLF|LF|CR|None" maxConnections="Integer" maxQueueSize="Integer" keepConnection="Boolean" onConnectionOverflow="Enum" includeSourceInfo="Boolean" includeCallSite="Boolean" appInfo="String" ndcItemSeparator="String" includeNdc="Boolean"> <parameter name="String" layout="Layout" /><!-- repeated --> </target> </targets>
Read more about using the Configuration File.
layout - Instance of Log4JXmlEventLayout that is used to format log messages. Layout Default: Log4JXmlEventLayout
encoding - Encoding to be used. Encoding Default: utf-8
newLine - Indicates whether to append newline at the end of log message. Boolean Default: False
lineEnding - Line Ending to be used if newLine is set to true. LineEndingMode
Default: CRLF
. Not used if newLine is false
. Possible values:
maxMessageSize - Maximum message size in bytes. Integer Default: 65000
onOverflow - Action that should be taken if the message-size is larger than maxMessageSize. Possible values:
connectionCacheSize - Size of the connection cache (number of connections which are kept alive). Integer Default: 5
address - Network address. Layout The network address can be:
keepConnection - Indicates whether to keep connection open whenever possible. Boolean Default: True
maxConnections - Maximum current connections. 0 = no maximum. Integer
Default: 16
. Not used if keepConnection is true
.
onConnectionOverflow - Action that should be taken when open connections are higher than limit maxConnections. Possible enum values:
maxQueueSize - Maximum queue size for a single connection. 0 means no limit. Integer
. Default: 10000
onQueueOverflow - Action that should be taken if pending queue of messages is larger than maxQueueSize.
KeepAliveTimeSeconds - Idle time before first TCP keep-alive probe is sent. Faster detection of stale TCP connections. Currently only implemented for TCP. Integer
. Default: 0 (Disabled)
SendTimeoutSeconds - Waiting time before TCP socket send-operation fails with timeout error. Default wait forever when network cable unplugged and tcp-buffer becomes full. Integer
. Default: 0 (Disabled)
NoDelay - Disable the delayed ACK timer, and avoid delay of 200 ms. Default = true.
sslProtocols - Enables SSL/TLS protocols. Default no SSL/TLS is used. Currently only implemented for TCP. Invalid certificates are not supported. Possible values (combination allowed, comma separated):
SslCertificateFile - Enables loading SSL certificate from local file, instead of injecting into operating system cache (Blank value means disable SSL certificate validation)
SslCertificatePassword - When password is needed for loading SSL certificate from local file using SslCertificateFile
IncludeEventProperties - Include all events properties of a logevent? Default: true
.
IncludeScopeProperties - Indicates whether to include ScopeContext Properties dictionary. Default: false
.
includeSourceInfo - Indicates whether to include source info (file name and line number) in the information sent over the network. Boolean
includeCallSite - Indicates whether to include call site (class and method name) in the information sent over the network. Boolean
IncludeScopeNested - Indicates whether to include ScopeContext Nested Stack as NDC. Default: false
.
ScopeNestedSeparator - NDC item separator. Default:
includeNdc - Indicates whether to include ScopeContext Nested Stack. Default: false
.
ndcItemSeparator - NDC item separator. Default:
appInfo - AppInfo field. By default it's the friendly name of the current AppDomain.
loggerName - Logger field. By default it's the output of ${logger}
formattedMessage - Message field. By default it's the output of ${message}
parameter - Additional context properties that should be included.
<?xml version="1.0" encoding="utf-8"?> <nlog throwConfigExceptions="true"> <targets> <target name="log4j" xsi:type="Chainsaw" address="udp://127.0.0.1:5001" /> </targets> <rules> <logger name="*" minlevel="Trace" writeTo="log4j" /> </rules> </nlog>
Available Log4J-XML viewers (See also LogViewer Tools)
Notice that most Log4J-XML viewers will drop messages and stall when NLog sends messages at full speed. One can consider to throttle NLog like this:
<?xml version="1.0" encoding="utf-8"?> <nlog throwConfigExceptions="true"> <targets> <target name="throttle_log4j" type="AsyncWrapper" timeToSleepBetweenBatches="100" batchSize="1" overflowAction="Block"> <target name="log4j" type="Log4JXml" address="tcp://127.0.0.1:5001" newline="true" /> </target> </targets> <rules> <logger name="*" minlevel="Trace" writeTo="throttle_log4j" /> </rules> </nlog>
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4