Logging in Extension/X3

by: Fredrik Karlsson

Just like in EPiServer, Extension logs most things that happens. And since Extension handles errors ina different way than EPiServer, logging in Extension can be a crusual part in your work developing for Extension. Just like EPiServer, Extension uses Log4Net to log it's actions, so most of the things in this post is probably old news.

Enable logging in Extension

To start logging in Extension, you need to add a file, DropIT.Extension.config, in your bin-folder.
Log_Extension_ConfigFile 
You can download the file at the bottom of this post.
This is the default content of the file:

   1:  <?xml version="1.0" encoding="utf-8" ?>
   2:  <configuration>
   3:      <configSections>
   4:          <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
   5:      </configSections>
   6:      <!-- This section contains the log4net configuration settings -->
   7:      <log4net>
   8:          <!-- Define some output appenders -->
   9:          <appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender">
  10:              <layout type="log4net.Layout.PatternLayout">
  11:                  <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] &lt;%X{auth}&gt; - %m%n" />
  12:              </layout>
  13:          </appender>
  14:          <!-- RollingFileAppender looks after rolling over files by size or date -->
  15:          <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
  16:              <param name="File" value="log/DropIT.Extension.log" />
  17:              <param name="AppendToFile" value="false" />
  18:              <param name="MaxSizeRollBackups" value="5" />
  19:              <param name="MaximumFileSize" value="100000000" />
  20:              <param name="RollingStyle" value="Size" />
  21:              <param name="StaticLogFileName" value="true" />
  22:              <layout type="log4net.Layout.PatternLayout">
  23:                  <param name="ConversionPattern" value="%d [%t] %-5p %-45c [%x] - %m%n" />
  24:              </layout>
  25:          </appender>
  26:          <!-- FileAppender appends to a log and it is manually managed or size -->
  27:          <appender name="FileAppender" type="log4net.Appender.FileAppender">
  28:              <param name="File" value="log/DropIT.Extension.log" />
  29:              <!-- Example using environment variables in params -->
  30:              <!-- <param name="File" value="${TMP}\\ApplicationKit.log" /> -->
  31:              <param name="AppendToFile" value="true" />
  32:              <layout type="log4net.Layout.PatternLayout">
  33:                  <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
  34:              </layout>
  35:          </appender>
  36:          <!-- Setup the root category, add the appenders and set the default level -->
  37:          <root>
  38:              <level value="Off" />
  39:              <appender-ref ref="RollingFileAppender" />
  40:          </root>
  41:          <logger name="Dropit.Extension">
  42:              <level value="Error" />
  43:          </logger>
  44:          <logger name="Dropit.Extension.UI">
  45:              <level value="Error" />
  46:          </logger>
  47:      </log4net>
  48:  </configuration>
 

Parameters to change

Output file

On line 16:

<param name="File" value="log/DropIT.Extension.log" />

can be changed to anything. Now it saves the file under [EPiServer-Root]/log.

Logging level
On line 41:
<logger name="Dropit.Extension">
    <level value="Error" />
</logger>
and line 44:
<logger name="Dropit.Extension.UI">
    <level value="Error" />
</logger>

the default value is Error. There are four different levels of logging. If you choose an early one, you will log all later levels as well. The levels are:

  • All
  • Info
  • Debug
  • Warning
  • Error

Example file

09 September 2008


Comments

Post a comment    
User verification Image for user verification  
EPiTrace logger