Application Logging

An administrator can configure how Exago handles logging in order to change or extend functionality.

Logging Defaults

By default Exago saves a log file called ‘WebReportsLog.txt’ to the application’s Temp path (specified in ‘WebReports.xml’). The logger maintains a lock on the file for the lifespan of the application. The log file cannot be edited or deleted without restarting the application or releasing the lock.

There are three configurable verbosity levels for the logger. By default, Exago runs at the Info level.

Use the following administrative setting to set the log level or disable logging:

( Other Settings ) Write Log File

  • Error – Only logs error messages in the application.
  • Info – Logs SQL statements, number of rows returned from each statement, and report execution information, as well as all Error. Report execution information includes the following:

    Execution start

    Start time, userId, companyId, full report name, filter summary.

    Execution end

    End time, runtime, userId, companyId, full report name.

  • Debug – Logs a variety of debugging information that can be used to time specific parts of the app, as well as all Info and Error


The logger can load its configuration from a file and continually watch the file for changes. A config file can be used to lock or unlock the log file, change the log file name and path, as well as customize and extend logging capability.

Note: A custom log configuration file will override the application's configuration settings.

To use a custom log configuration, create a file called ‘log4net.config’ in the Config directory of the Exago application. The following shows a sample config file:

<?xml version="1.0" encoding="UTF-8"?>
  <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
    <file value="C:\Exago\Temp\WebReportsLog.txt" />
    <encoding value="utf-8" />
    <appendToFile value="true" />
    <rollingStyle value="Size" />
    <maxSizeRollBackups value="10" />
    <maximumFileSize value="1MB" />
    <staticLogFileName value="true" />
    <lockingModel type="log4net.Appender.FileAppender+ExclusiveLock" />
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date %-5level [%property{SessionId}] %message%newline" />
  <!-- Setup the root category, add the appenders and set the default level -->
    <level value="INFO" />
    <appender-ref ref="RollingFileAppender" />

For more information and extensibility, see: Apache log4net. See the following examples for some simple modifications:

Change Logfile Location

<file value="Path\To\Log.txt" />

Specifies the directory and filename for the log file.

Change Logging Level

<level value="INFO" />

Specifies the Exago logging level: ERROR, INFO, or DEBUG.

Unlock the Log File

<lockingModel type="log4net.Appender.FileAppender+ExclusiveLock" />

Configures the locking model in use for the log file. To temporarily disable the write lock, you can use: log4net.Appender.FileAppender+MinimalLock

NOTE. This will result in a performance reduction until it is reset.

Hidden Article Information

Article Author
Alex Agoado
created 2015-12-15 18:46:57 UTC
updated 2017-11-14 20:14:16 UTC

log, logfile, log4net, logging, WebReportsLog.txt, custom logging, unlocking the log file,
Have more questions? Submit a request