Log into .Net Diagnostics Trace
Describes how to log into .Net Diagnistics Trace.
There are two built-in logger factories for writing log messages from the Optimizely Log API to .NET Diagnostics Trace; the EPiServer.Logging.TraceLoggerFactory
and the EPiServer.Logging.TraceSourceLoggerFactory
.
Note
In Optimizely Digital Experience Platform (DXP), Optimizely logs are redirected into .NET Diagnostic Trace, as long as the code uses the Optimizely logging abstraction
EPiServer.Logging.LogManager
. If you are using log4net and deploying in Optimizely DXP, replacelog4net
withEPiServer.Logging
. See also Logging for more information on switching logging APIs.
EPiServer.Logging.TraceLoggerFactory
The EPiServer.Logging.TraceLoggerFactory
logger redirects all log messages to diagnostics trace.
Optimizely log level | maps to |
---|---|
Optimizely Critical and Error Log | system diagnostics trace error level |
Optimizely Warning Log API | system diagnostics trace warning level |
Optimizely Information Log API | system diagnostics trace Information level |
Optimizely Debug and Trace Log API | not logged |
You enable EPiServer.Logging.TraceLoggerFactory
like this:
<appSettings>
<add key="episerver:LoggerFactoryType"
value="EPiServer.Logging.TraceLoggerFactory, EPiServer.Framework" />
</appSettings>
Or from the episerver.framework section like this:
<episerver.framework loggerFactoryType="EPiServer.Logging.TraceLoggerFactory, EPiServer.Framework">
EPiServer.Logging.TraceSourceLoggerFactory
The EPiServer.Logging.TraceSourceLoggerFactory
 redirects all log messages to diagnostics trace source. In this implementation each logger name has its own source switch trace.
Optimizely log level | maps to |
---|---|
Optimizely Critical Log API level | system diagnostics trace source critical level |
Optimizely Error Log API level | system diagnostics trace source error level |
Optimizely Warning Log API level | system diagnostics trace source warning level |
Optimizely Information Log API level | system diagnostics trace source Information level |
Optimizely Debug and Trace Log API | system diagnostics Verbose |
You can enable the EPiServer.Logging.TraceSourceLoggerFactory
like this:
<appSettings>
<add key="episerver:LoggerFactoryType"
value="EPiServer.Logging.TraceSourceLoggerFactory, EPiServer.Framework" />
</appSettings>
Or from the episerver.framework section like this:
<episerver.framework loggerFactoryType="EPiServer.Logging.TraceSourceLoggerFactory, EPiServer.Framework">
By default, the logging level is set to the Error level. If you need to log lower levels than the Error level you need to configure it in the system.diagnostics section like this:
<system.diagnostics>
<sources>
<source name="logger name"
switchName="logger name"
switchType="System.Diagnostics.SourceSwitch"/>
</sources>
<switches>
<add name="logger name"
value="Verbose" />
</switches>
</system.diagnostics>
Register Logger Factory via configuration
To register a logger factory via configuration, you need to add the logger factory type in the appSettings section:
<appSettings>
<add key="episerver:LoggerFactoryType"
value="the custom logger factory type" />
</appSettings>
Or from episerver.framework section:
<episerver.framework loggerFactoryType="the custom logger factory type">
Note
The appsetting section value always has a higher priority than the episerver.framework section value.
Updated 5 months ago