Futurama Logo

Welcome to the Futurama Support Site

The Futurama Support Site is the website where you can find Futurama and Futurama Vision documentation. If you have any questions about the support pages or if you want to provide us feedback please send us an e-mail.




Index Configuration - Log
Previous  |  Next

 1      About Futurama
 1.1        Version information
 1.2        Getting Started
 1.2.1          Futurama Website
 1.2.1.1            Behavior of Futurama regarding TimeOuts, Login and Logoff
 1.2.1.2            Replacing an existing Futurama Session
 1.2.2          Futurama Webservice
 1.2.2.1            warmUpDocuments
 1.2.3          Futurama Export
 1.3        Overview - Futurama Modules
 1.3.1          Overview - Futurama Accounts
 1.3.2          Overview - Futurama Server
 1.3.3          Overview - Futurama Monitor
 1.3.4          Overview - Futurama Insight
 1.3.5          Overview - Futurama Console
 1.3.6          Overview - Futurama Webservice
 1.4        Loadbalancing Futurama applications
 1.4.1          Getting the most out of Futurama Web using the Load-Balancer
 1.4.2          Application Request Routing
 1.5        Text management and Multi-language
 2      Installation – Configuration – Testing
 2.1        Installation - Futurama Website Edition
 2.1.1          Installation Futurama HTML
 2.1.2          Installation Futurama Monitor
 2.1.3          Installation Futurama Insight
 2.1.4          Installation Futurama Accounts
 2.1.5          Installation SAML2LoadBalancer
 2.2        Installation - Futurama Export Edition
 2.2.1          Installation Futurama Console
 2.2.2          Installation Futurama Server
 2.3        Installation - Futurama Webservice Edition
 2.3.1          Installation Futurama Webservice
 2.4        Installation Futurama Editor
 2.5        Configuration
 2.5.1          Configuration - Cache
 2.5.2          Configuration - Calculation
 2.5.3          Configuration - Debug
 2.5.4          Configuration - File manager
 2.5.5          Configuration - Fileproviders
 2.5.6          Configuration - Format
 2.5.7          Configuration - History
 2.5.8          Configuration - Identity Provider
 2.5.9          Configuration - Log
 2.5.10           Configuration - Mail
 2.5.11           Configuration - Mapping
 2.5.12           Configuration - Monitor
 2.5.13           Configuration - PlugIns
 2.5.14           Configuration - Rendering
 2.5.15           Configuration - ScenarioRecording
 2.5.16           Configuration - Security
 2.5.17           Configuration - Server
 2.5.18           Configuration - Vision
 2.5.19           Configuration - WebAPI
 2.6        Logging
 2.7        Troubleshooting
 2.8        Security - hardening
 3      Updating and file compatibility
 3.1        Updating Futurama - Compatibility behavior
 3.2        Converting Futurama documents
 3.3        12819 - DataTable file updates
 3.4        12889 - DataTable file updates
 3.5        Conversion web.config to .NET Framework 4
 3.6        Deprecated conversion formulas
 4      Futurama Editor - How to
 4.1        At first glance
 4.2        Developing in the Futurama Editor
 4.2.1          Working with objects
 4.2.2          Evaluating objects
 4.2.3          Finding objects
 4.3        Transferring objects
 4.4        Testing objects
 4.5        Validating objects
 4.6        Troubleshooting objects
 4.7        Advanced/special functionality
 4.8        Checking the layout of objects
 5      Futurama - Formulas
 5.1        Futurama Formulas - Date and time
 5.1.1          Date
 5.1.2          Day
 5.1.3          Days360
 5.1.4          Days360Excel
 5.1.5          DaysInMonth
 5.1.6          DaysInPeriod
 5.1.7          Min
 5.1.8          Max
 5.1.9          Month
 5.1.10           Now
 5.1.11           WeekDay
 5.1.12           Year
 5.2        Futurama Formulas - Math
 5.2.1          Abs
 5.2.2          Add
 5.2.3          Divide
 5.2.4          Floor
 5.2.5          Ln
 5.2.6          Log
 5.2.7          Log10
 5.2.8          Mod
 5.2.9          Multiply
 5.2.10           Pi
 5.2.11           Power
 5.2.12           Rand
 5.2.13           Round
 5.2.14           RoundDown
 5.2.15           RoundUp
 5.2.16           SquareRoot
 5.2.17           Subtract
 5.3        Futurama Formulas - Statistical
 5.3.1          AverageDeviation
 5.3.2          Beta
 5.3.3          Binomial
 5.3.4          Covariance
 5.3.5          Factorial
 5.3.6          Gamma
 5.3.7          GeometricMean
 5.3.8          Lognormal
 5.3.9          Max
 5.3.10           Median
 5.3.11           Min
 5.3.12           Normal
 5.3.13           StandardDeviation
 5.3.14           Uniform
 5.3.15           Variance
 5.4        Futurama Formulas - Text
 5.4.1          CalculateBase64Hashcode
 5.4.2          CalculateXmlHashcode
 5.4.3          Concatenate
 5.4.4          ConcatenateBase64
 5.4.5          ContainsText
 5.4.6          Convert.CSV.2.XML
 5.4.7          ConvertFromBase64
 5.4.8          ConvertToBase64
 5.4.9          ConvertXml
 5.4.10           DecodeURL
 5.4.11           DecryptXml
 5.4.12           EncodeURL
 5.4.13           EncryptXml
 5.4.14           Find
 5.4.15           HashBase64EncodedFile
 5.4.16           HashBase64EncodedFileWithBase64
 5.4.17           HashText
 5.4.18           HashTextWithBase64
 5.4.19           Left
 5.4.20           Len
 5.4.21           Linefeed
 5.4.22           Lower
 5.4.23           Mid
 5.4.24           Proper
 5.4.25           ReadConfigKey
 5.4.26           ReadDirectoryNames
 5.4.27           ReadFile
 5.4.28           ReadFileAsBase64
 5.4.29           ReadFileNames
 5.4.30           ReadFileWithEncoding
 5.4.31           ReadXPathScalar
 5.4.32           ReadXPathVector
 5.4.33           Repeat
 5.4.34           Right
 5.4.35           Substitute
 5.4.36           Trim
 5.4.37           TrimLeft
 5.4.38           TrimRight
 5.4.39           Upper
 5.4.40           ValidatePattern
 5.4.41           XsdMessages
 5.5        Futurama Formulas - Logical
 5.5.1          And
 5.5.2          IsEmpty
 5.5.3          If
 5.5.4          IsEqual
 5.5.5          IsEven
 5.5.6          IsGreater
 5.5.7          IsGreaterEqual
 5.5.8          IsIBANChecksumValid
 5.5.9          IsLess
 5.5.10           IsLessEqual
 5.5.11           IsMemberOfGroup
 5.5.12           IsNotEqual
 5.5.13           IsOdd
 5.5.14           IsValidXml
 5.5.15           Not
 5.5.16           Or
 5.5.17           ValidateNPR
 5.6        Futurama Formulas - Table
 5.6.1          FindNextRow
 5.6.2          FindPreviousRow
 5.6.3          FindRow
 5.6.4          Sort
 5.6.5          VLookUp
 5.7        Futurama Formulas - Document
 5.7.1          CountErrors
 5.7.2          GetPathToDataFiles
 5.7.3          GetPortNumber
 5.7.4          GetRelativePathToDataFiles
 5.7.5          GetSessionID
 5.7.6          IsLicenceAvailable
 5.7.7          ReadError
 5.7.8          ReadIdentityProviderResult
 5.7.9          ReadRequestIP
 5.7.10           ReadRequestParameter
 5.7.11           ReadUserAgent
 5.7.12           ReadVersionNumber
 5.7.13           SessionTimeOut
 5.7.14           URL
 5.7.15           UserName
 5.8        Futurama Formulas - Conversion
 5.8.1          Convert.Excel.to.XML
 5.8.2          ConvertJSONtoXml
 5.8.3          ConvertTextToDate
 5.8.4          ConvertTextToNumber
 5.8.5          ConvertToBoolean
 5.8.6          ConvertToDouble
 5.8.7          ConvertToLong
 5.8.8          ConvertToString
 5.8.9          FormatDate
 5.8.10           FormatNumber
 5.8.11           Value
 5.9        Futurama Formulas - Matrix
 5.9.1          AddMatrices
 5.9.2          AddScalarToMatrix
 5.9.3          Cumulative
 5.9.4          CumulativeProductMatrix
 5.9.5          Distinct
 5.9.6          DivideMatrices
 5.9.7          DivideMatrixScalar
 5.9.8          DivideScalarMatrix
 5.9.9          Exponent
 5.9.10           First
 5.9.11           Floor
 5.9.12           If
 5.9.13           Index
 5.9.14           Inverse
 5.9.15           IsEqual
 5.9.16           IsGreater
 5.9.17           IsGreaterEqual
 5.9.18           IsNotEqual
 5.9.19           IsLess
 5.9.20           IsLessEqual
 5.9.21           Join
 5.9.22           Last
 5.9.23           Length
 5.9.24           MatrixProduct
 5.9.25           Max
 5.9.26           MaxScalarMatrix
 5.9.27           Mean
 5.9.28           Mid
 5.9.29           Min
 5.9.30           MinScalarMatrix
 5.9.31           MultiplyMatrices
 5.9.32           MultiplyMatrixVector
 5.9.33           MultiplyScalarMatrix
 5.9.34           Percentile
 5.9.35           PowerMatrix
 5.9.36           PowerMatrixScalar
 5.9.37           PowerScalarMatrix
 5.9.38           ReadMatrixFromXml
 5.9.39           Repeat
 5.9.40           Replace
 5.9.41           Reshape
 5.9.42           ReverseCumulativeProductMatrix
 5.9.43           ReverseMatrix
 5.9.44           Size
 5.9.45           Split
 5.9.46           SquareRootMatrix
 5.9.47           Step
 5.9.48           SubtractMatrices
 5.9.49           SubtractMatrixScalar
 5.9.50           SubtractScalarMatrix
 5.9.51           Sum
 5.9.52           Transpose
 5.9.53           UnitMatrix
 5.9.54           Vector
 5.10         Creating custom formulas in Futurama
 6      Futurama - Objects
 6.1        Action
 6.2        Aggregation
 6.3        Button
 6.4        ChangeValue
 6.5        CheckBox
 6.6        ClearCache
 6.7        DatabaseField
 6.8        DatabaseView
 6.9        DataTable
 6.10         DateBox
 6.11         DocConverter
 6.12         Document
 6.13         Download
 6.14         DropDownList
 6.15         EmailConverter
 6.16         ExcelConverter
 6.17         FileSaver
 6.18         FileUploader
 6.19         Fixed
 6.20         Formula
 6.21         GraphConverter
 6.22         HTMLInclude
 6.23         InterfacesNode
 6.24         LogMessage
 6.25         Navigator
 6.26         Node
 6.27         RadioButton
 6.28         RadioGroup
 6.29         Range
 6.30         Reference
 6.31         SubDocument
 6.32         TextBox
 6.33         UserTable
 6.34         UserVariable
 6.35         WebLabel
 6.36         WebListBox
 6.37         WebPage
 6.38         WebPanel
 6.39         WebReference
 6.39.1           WebReference - WCF Configuration
 6.40         WebService
 6.41         WebSlider
 6.42         WordConverter
 6.43         XmlBuilder
 6.44         XmlConverter
 6.45         XmlField
 6.46         XmlNode
 7      Futurama - Vision References
 7.1        Data
 7.1.1          ReadData
 7.1.2          WriteMessage
 7.1.3          GetPersonIdentifiers
 7.1.4          CreatePerson
 7.2        DataStore
 7.2.1          DeleteDataItem
 7.2.2          DeleteDataItemHierarchy
 7.2.3          DeleteDataItems
 7.2.4          GetDataItem
 7.2.5          GetDataItemHierarchy
 7.2.6          GetDataItems
 7.2.7          StoreData
 7.3        Accounts
 7.3.1          Activate Account
 7.3.2          Change Account
 7.3.3          Create Account
 7.3.4          GetQuestion
 7.3.5          GetQuestions
 7.3.6          Login
 7.3.7          ReadData
 7.3.8          ReinitializeAccount
 7.4        General
 7.4.1          TestConnection
 8      Futurama Vision
 8.1        Installation Futurama Vision
 8.1.1          Installation Futurama Vision Management Site
 8.1.2          Installation or Upgrade of the Futurama Vision Database
 8.2        Futurama Vision Management Site
 8.2.1          Futurama Vision Management Site - Admin
 8.2.2          Futurama Vision Management Site – Security
 8.2.3          Futurama Vision Management Site – Skinning
 8.2.4          Importing data into Futurama Vision
 8.2.4.1            Importing data by webservice
 8.2.4.2            Importing data from a Zip-file
 8.2.4.3            Importing data with Futurama Vision Batch
 8.2.4.4            Futurama Vision Webservice Security
 8.2.5          Further processing of data into Futurama Vision
 8.3        Futurama Vision File manager
 8.4        Activity overview
 8.5        Storing data in Vision from a Futurama application
 8.6        Futurama Vision – Data
 8.7        Futurama Accounts - Management Site
 8.7.1          Futurama Accounts - Table in Vision Database
 8.8        Futurama Server - Management Site
 8.8.1          Special Futurama Server Jobs
 8.9        Futurama Register - Management Site
 8.9.1          Configuration - Futurama Register
 8.10         Retrieving AppEvents from Futurama Vision
 8.11         Adding CustomPages to Vision
 9      Futurama Intermediate Control Output (FICO)
 9.1        FICO example - Change/Add HTML headers
 9.2        FICO example - Change Graph
 9.3        HTML5 Template
 10       Futurama Web API
 10.1         Postbacks of Futurama webcontrols
 10.2         Retrieving Resources using Web API
 10.3         WebAPI Session management
 11       Tutorials - Overview
 11.1         Tutorials - Examples and Downloads
 11.2         Beginners
 11.2.1           Creating formulas with Futurama
 11.2.1.1             Exercise 1: Pythagorean Theorem (Easy)
 11.2.1.2             Exercise 2: Newspaper stall (Medium)
 11.2.1.3             Exercise 3: Recursive functions (Difficult)
 11.2.1.4             Exercise 4: Leap Year (Difficult)
 11.2.1.5             Exercise 5: The Guessing Game I (Medium)
 11.2.2           Creating a Website Application
 11.2.2.1             Exercise 1: Creating a Website (Easy)
 11.2.3           Styling your website with CSS
 11.2.3.1             Exercise 1: Adding CSS (Easy)
 11.2.4           Adding interactivity to your website
 11.2.4.1             Exercise 1: Summation (Easy)
 11.2.4.2             Exercise 2: The Guessing Game II (Medium)
 11.2.4.3             Exercise 3: Nationality (Medium)
 11.2.4.4             Exercise 4: Nationality - RepeatTarget (Medium)
 11.2.4.5             Exercise 5: Reversed Guessing (Difficult)
 11.2.5           Working with Tables
 11.2.5.1             Exercise 1: Average (Easy)
 11.2.5.2             Exercise 2: Boundary values (Difficult)
 11.2.5.3             Exercise 3: Standard Deviation (Medium)
 11.2.6           Reading and processing XML-data in Futurama
 11.2.6.1             Exercise 1: Shares (Medium)
 11.2.7           Adding Graphs in Futurama
 11.2.7.1             Exercise 1: World Population (Easy)
 11.2.8           Working with Actions in Futurama
 11.2.8.1             Exercise 1: Changing Colors (Easy)
 11.2.8.2             Exercise 2: On and Off (Medium)
 11.2.8.3             Exercise 3: The ChangeValue object (Difficult)
 11.2.8.4             Exercise 4: The Guessing Game III (Medium)
 11.2.8.5             Exercise 5: CheckBox (Medium)
 11.2.9           Multiple Pages and Navigation
 11.2.10            Using XSLT to display data
 11.2.10.1              Exercise 1: Overview Summation (Easy)
 11.2.10.2              Exercise 2: Persons (Medium)
 11.2.10.3              Exercise 3: Leap Year Overview (Difficult)
 11.2.11            Webservices in Futurama
 11.2.11.1              Exercise 1: Example (Easy)
 11.2.12            Creating a Webservice Application
 11.2.12.1              Exercise 1: Add (Easy)
 11.2.12.2              Exercise 2: Webservice Nationality (Medium)
 11.2.13            Creating a Console Application
 11.2.13.1              Exercise 1: Adding extra fields (Easy)
 11.2.14            Generating Documents
 11.2.14.1              Exercise 1: Tax Rate (Medium)
 11.2.14.2              Exercise 2: Tax Rates Table (Difficult)
 11.3         Advanced
 11.3.1           Responsive Design
 11.3.1.1             Exercise 1: Orientation
 11.3.1.2             Exercise 2: Target different screen sizes
 11.4         Older Tutorials (Futurama Version 3.2)
 11.4.1           Futurama Editor Tutorial 1: The first sum
 11.4.2           Futurama Editor Tutorial 2: An annuity
 11.4.3           Futurama Editor Tutorial 3: Working with tables
 11.4.4           Futurama Editor Tutorial 4: Modelling a DB pension plan
 11.4.5           Futurama Editor Tutorial 5: Working with XML
 11.4.6           Futurama Web Tutorial 1: Hello world
 11.4.7           Futurama Web Tutorial 2: Buttons and Actions
 11.4.8           Futurama Web Tutorial 3: Textboxes
 11.4.9           Futurama Web Tutorial 4: DropdownLists
 12       Miscellaneous
 12.1         Responsive website
 12.2         Reducing memory usage for XmlNodes and XmlFields
 12.3         Explaining caching for websites and webservices
 12.4         Certificates - basic information
 12.5         Performance XML operations
 12.6         Creating XSD files and using them in combination with Futurama
 13       Templates
 14       Safe2Save WebAPI Sample
View  |  Print  |  PDF

451 documents found.


Configuration - Log

Developer
System-administrator
Futurama-Editor
Futurama-Webservice
Futurama-Website

Version: 4.3.0 +

Applicable to: Futurama Editor/Futurama Website/Futurama Webservice/Futurama Export/Futurama Vision

Description

Futurama and Futurama Vision offer an wide range of possibilities to log errors, warnings, information messages and developers messages. The logging of information is applicable for all the instances of Futurama (Futurama Editor, Futurama Website, Futurama Webservice, Futurama Export and Futurama Vision). When troubleshooting make sure that the logging in the configuration file of the relevant Futurama instance is enabled. In most of the cases this gives enough information to troubleshoot.

It is possible to log messages to:

  • text files
  • Windows Event Log
  • trace (if possible)
  • SQL database

At this page explanation is given about the next subjects:

  • how to configure the logging of messages
  • compatibility with previous versions of Futurama (versions below 4.1.0)
  • technical background information about writing messages to the Windows Event Log

Configuration

Settings

Within the <configuration> element the next code has to be included:

<configSections>
  <sectionGroup name="futuramaSettings">
    <section name="log" type="ActuIT.Futurama.Library.LogSection, ActuIT.Futurama.Library,
               Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
  </sectionGroup>
</configSections>

Next to this code, also within the <configuration> element the next code has to be included:

<futuramaSettings>
   <log>
      <trace enabled="{true/false}" format="{text/xml}">
        <errors value="{true/false}" level="{integer}" stacktrace="{true/false}"/>
        <warnings value="{true/false}"/>
        <messages value="{true/false}"/>
        <debug value="{true/false}" category="{categorySelector}"/>
      </trace>
      <eventlog enabled="false" format="xml">
        <errors value="{true/false}" level="{integer}" stacktrace="{true/false}"/>
        <warnings value="{true/false}"/>
        <messages value="{true/false}"/>
        <debug value="{true/false}" category="{categorySelector}"/>
      </eventlog>
      <files>
        <file enabled="{true/false}" path="{path}" format="{text/xml}">
          <errors value="{true/false}" level="{integer}" stacktrace="{true/false}"/>
          <warnings value="{true/false}"/>
          <messages value="{true/false}"/>
          <debug value="{true/false}" category="{categorySelector}"/>
        </file>
      </files>
      <sql enabled="{true/false}" connectionstring="{name of connectionstring to use}" instanceKey="{name of log instance}">
        <errors value="{true/false}" level="{integer}" stacktrace="{true/false}"/>
        <warnings value="{true/false}"/>
        <messages value="{true/false}"/>
        <debug value="{true/false}" category="{categorySelector}"/>
      </sql>
    </log>
</futuramaSettings>

The futuramaSettings element is the general part for more configuration settings. Within this element the log element is set. Note: for the configuration files belonging to a Futurama Vision release it is necessary to use <visionSettings> instead of <futuramaSettings>. So the name attribute of the sectionGroup element has to be visionSettings instead of futuramaSettings. Next to that the log section must be included within the visionSettings element instead of the futuramaSettings element.

It is not required to include all the elements (trace, eventlog, files, sql, oracle). You can either remove the elements you don't want to use for logging or set the enabled attribute to 'false'.

Explanation

Within the log element some elements and attributes of these elements can be defined. The elements differ in the location where the information is logged. For each of the locations it is possible to configure what type of information has to be logged. See the paragraph 'Type of information' for this configuration. Below the possible values of the locations:

<trace enabled="{true/false}" format="{xml/text}">

When using Futurama in Website mode or Batch mode (using Futurama Export) it is possible to use the trace to log information. In Batch mode the log information will be logged to the console window. Notes:

  • default value of enabled is 'false';
  • this element is optional. If this element is not included the default value is used;
  • this attribute is only used in Website and Batch mode;
  • enabled='true' means that information is logged to the trace, when enabled='false' information is not logged to the trace. Using logging in Website mode implicates that also in the configuration file within the <system.web> section trace is enabled (<trace enabled='true'/>);
  • format (optional, default value 'text'): Indicates in which format the messages will be logged ('xml' or 'text');
<eventlog enabled="{true/false}" format="{xml/text}">

Indicates which information has to be logged to the eventlog. Notes:

  • the default value of enabled is 'false';
  • this element is optional. If this element is not included the default value is used;
  • enabled='true' means that information is logged to the eventlog, when enabled='false' information is not logged to the eventlog. This will only work out if Futurama has the permission to write information to the eventlog. If you are logged in as Administrator this will work automatically, in other cases the rights should be assigned manually . See the last chapter for more information.
  • format (optional, default value 'text'): Indicates in which format the messages will be logged ('xml' or 'text').
<files>

It is possible to log information to a file. The location and the name of the file can be chose. Notes:

  • the 'files' element is optional. If this element is not included, then no information is logged to files;
  • it is possible to log information to one or more (different) files. For each of the files an element <file> has to be defined. Within this <file> the specifications of the location and the name of the file can be configured. See below for the way to configure this:
<file enabled="{true/false}" format="{xml/text}" path="{path}">

Indicates what should be logged to a file. Notes:

  • the default value of enabled is 'false';
  • enabled='true' means it will log to the file specified, when enabled='false' not. Note: make sure that Futurama has the permission to write information to the file location that is chosen;
  • path: defines the path (including the file name) where the logging information is logged. If the directory doesn't exist, Futurama will make automatically a new directory based on the given path. In case if the path has not been defined, it will be written in the installation-directory/log.
  • it is possible to save dynamic information in the file name (Note: the braces are required, and the name is case sensitive):
    • {PROCESSID}: for the ID of the process
    • {PROCESSNAME}: for the name of the process (for example Futurama.Website);
    • {JOBID}: for the ID of the job (only for Futurama Export);
    • {SERVERNAME}: for the name of the server;
    • {HOST}: for the HOST name of the server, as it is used in the first request (available starting with Futurama 16.11); If an item is logged before the first request has been made the hostname is not yet available. Then the Application pool name is used instead.
    • {STARTTIME:ddMMyyyy_HHmm}: for the starttime and format (the date format can be chosen. For example ddMMyyyy for only the date, for example ddMMyyyy_HHmm if also the time in minutes is relevant, or even more detailed for example ddMMyyyy_HHmm_ss_ms in order to have the time in milliseconds in the filename)
    • Note: Using dynamic filenames (using either PROCESSID, JOBID or STARTTIME) is highly recommended, as it auto-creates a new file on each process restart. Existing logs are never overwritten so without periodic new file names, log files can only grow, to unlimited size.
  • it is required to fill in the entire path (including the file name). The dynamical information mentioned above can be used as well in the name of the directory as in the file names;
  • format (optional, default value 'text'): Indicates in which format the messages will be logged ('xml' or 'text').

Example of the configuration of a logging file to the directory c:\log with the starttime of the process in the name of the log file:

<file enabled="true" path="C:\Log\{STARTTIME:ddMMyyyy_HHmm}_log_futurama.xml" format="xml">
<sql enabled="{true/false}" connectionstring="{name of a configured connection string}" instanceKey="{name of log instance}">

It’s possible to log information to an SQL Server database (Futurama 19.04+). Any database-logging method before this version of Futurama is no longer supported.

Configuration properties:

  • the default value of enabled is 'false'. This element is optional. If this element is not included the default value is used;
  • enabled='true' means information will be logged to a database (SQL), when enable='false' means no information is logged to a database.
  • connectionstring: This field contains the name of a connectionstring within the same config file, where the required logging database  is specified. For more information about embedding a connectionstring in a configuration file, view this page.
  • InstanceKey: Just like logging to a file, dynamic information can be included in the instancekey field, which will be replaced during application startup. However in contradiction to the file logging method, we would advise to keep this instancekey as simple as possible (for instance, the application name), because it is easier to filter the log-entries in the database according to timestamp and entry-type.

An example for a connectionstring to a logging database with ‘logdb’ to be used as name is as follows:

<connectionStrings>
	<add name="logdb" connectionString="Server={MySQLServerHostname};Database={My logging database};Integrated Security=true;" />
</connectionStrings>

For Futurama version 19.04 we re-envisioned the database logging functionality, and supply Futurama Vision and Futurama Web with a method of viewing this log-information from the Browser. Please view this support document for more information.

    Type of information

    It is possible to choose what type of information has to be logged (errors, warnings, messages, debug). Within each of the elements described in the previous paragraph the relevant type(s) can be configured. Below the explanation of this configuration.

    <errors value="{true/false}" level="{integer; >=0}" stacktrace="{true/false}"/>

    With this element it is possible to configure whether errors has to be logged. Also the type of errors to be logged can be configured. Notes:

    • the default value of the attribute 'value' is 'false';
    • this element is optional. If this element is not included the default value is used;
    • value='true' means that errors will be logged, value='false' not;
    • level (optional, default value 1): indicates the degree of innerexception logging (when an error occurs it is possible that other errors causes this error. Subsequently these errors can be triggered by other errors, etc. This creates a tree of errors from top to bottom where the bottom error is the trigger for all the errors). It is possible to log how deep in the tree of errors information has to be logged. 0 means infinity (this means until there are no more innerexceptions) 1 means only on root level (thus no innerexceptions) etc.
    • stacktrace (optional, default value 'false'): indicates if the stacktrace (information regarding the procedure and the line of the source code where the error occurs) will be logged;
    <warnings value="{true/false}"/>

    Indicates if warnings have to be logged:

    • the default value is 'false';
    • this element is optional. If this element is not included the default value is used;
    • value='true' means warnings will be logged, value='false' not;
    <messages value="{true/false}"/>

    Indicates if information messages have to be logged:

    • the default value is 'false';
    • this element is optional. If this element is not included the default value is used;
    • value='true' means it will log information messages, value='false' not;
    <debug value="{true/false}"/>

    In the Futurama Editor all the objects do have a property 'DebugLogMode'. If this property is set, it is possible to log information about this object. It is for example possible to see the value and the properties of an object. Logging information at object level can be used by the Futurama developer when troubleshooting. This so-called debug information can be logged. Notes:

    • the default value is 'false';
    • this element is optional. If this element is not included the default value is used;
    • value='true' means debug information will be logged, value='false' not;

    Within the Debug element you can specify a Category (starting from version 2016.11 ). If you do not supply a Category all Debug messages will be logged. You can specify a category via a comma separated list of the Categories you want.

    The following Categories are allowed:

    • Sessions: logs messages related to the start and finish of sessions in Futurama Web.
    • FormulaExecution: logs messages related to the execution of formulas.
    • WebReference: logs messages related to the execution of WebReferences.
    • PageLoad: logs messages related to loading webpages.
    • CSRF: logs messages related to the Cross Site Request Forgery token generation and validation. (Futurama 2016.12+)
    • WebService: logs messages related to the request and response of a Futurama WebService. (Futurama 2017.09+)
    • * : log all debug messages.

    For now these are all the categories. In the future more categories will be added.

    You can use these Categories to specify a {categorySelector} string: a comma separated list of the categories you want. You can use a “!” to specify the exclusion of a Category. For example:

    • Category=”” : log all debug messages
    • Category=”PageLoad,Sessions” : log only PageLoad and Sessions debug messages
    • Category=”*,!PageLoad” : log all debug messages except messages with the PageLoad Category

    Show error notifier in Web application

    It is also possible to show an errorstatus notification-icon in the Futurama Web application. The configuration of this notifier can be found on the debug configuration page.

    Compatibility

    These configuration settings are available from Futurama version 4.1.0. In previous versions you can find the log settings in the generic appSettings section of the configuration file. If the new log section is not included in the configuration file of Futurama version 4.1.0 or higher, Futurama will switch to its compatibility mode. This means that the 'old' appSettings will be loaded. It is recommended to convert these old settings to the new configuration. Below the log between the old and the new configuration.

    Futurama Website

    New configuration

    <trace enabled="true">
        <errors value="true" level="1" stacktrace="false"/>
        <warnings value="true"/>
        <messages value="true"/>
        <debug value="true"/>
    </trace>

    If

    <add key="EnableLogging" value="true"/> and <add key="LoggingMode" value="SQLSERVER"/>

    then:

    <sql enabled="true" connectionstring="{ConnectionString}"> 
    	<errors value="true" level="1" stacktrace="false"/> 
    	<warnings value="true"/> --> if {MinimumErrorLevelToLog}<=2, otherwise "false" 
    	<messages value="true"/> --> if {MinimumErrorLevelToLog}<=1, otherwise "false" 
    	<debug value="false"/> 
    </sql>

    where:

    {ConnectionString} is the value of

    <add key="LoggingConnectString" value=""/>

    {MinimumErrorLevelToLog} is the value of

    <add key="MinimumErrorLevelToLog" value=""/>

    If

    <add key="EnableLogging" value="true"/> and <add key="LoggingMode" value="ORACLE"/>

    then

    <oracle enabled="true" connectionstring="{ConnectionString}"> 
    	<errors value="true" level="1" stacktrace="false"/> 
    	<warnings value="true"/> --> if {MinimumErrorLevelToLog}<=2, otherwise "false" 
    	<messages value="true"/> --> if {MinimumErrorLevelToLog}<=1, otherwise "false" 
    	<debug value="false"/> 
    </oracle>
    Where:

    {ConnectionString} is the value of

    <add key="LoggingConnectString" value=""/>

    {MinimumErrorLevelToLog} is the value of

    <add key="MinimumErrorLevelToLog" value=""/>

    Futurama Export

    If

    <add key="ActuIT_FuturamaServer_LoggingMode" value="TextFile"/>

    then

    <file enabled="true" path="{Path}" format="text">
        <errors value="true" level="1" stacktrace="false"/>
        <warnings value="true"/>
        <messages value="true"/>
        <debug value="false"/>
    </file>

    Where

    {Path} is the value of

    <add key="ActuIT_FuturamaServer_LoggingDirectory" value=""/>

    If

    <add key="ActuIT_FuturamaServer_LoggingMode" value="EventLog"/>

    or when this key is not included, then:

    <eventlog enabled="true" format="text">
        <errors value="true" level="1" stacktrace="false"/>
        <warnings value="true"/>
        <messages value="true"/>
        <debug value="false"/>
    </eventlog>

    EventLog permissions

    To make sure that Futurama can log information in the Windows EventLog, it is necessary to set the right permissions. In this paragraph you can find information how to configure these permissions. When <eventlog enabled="true">,then Futurama will try to log information to the eventlog. The application that is used to log this information depends on the Futurama instance that is used (Futurama Website, Futurama Editor, Futurama Webservice, Futurama Export, Futurama Vision). These applications must have permission to write information to the Eventlog. Distinction can be made into two types of permissions:

    1. the permission to create an application (register) in the eventlog
    2. the permission to write messages to the eventlog

    Especially the first point can cause some problems. All applications which have access to the eventlog are summed up in the registry (to be opened with 'REGEDIT.EXE') under the key 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\'. To provide Futurama in Website mode access to the eventlog is it necessary that the key 'HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application\Futurama.Website' exists. Usually, in the case that in the configuration file logging to the eventlog is set, this key is automatically created at the moment that the first message is written. This is only possible in the situation that the account wherein Futurama is running (in IIS) does have the permission of a LocalAdmin. Creating this key is an action that has to be executed once (initial). This is separate from the actual logging of messages. If the creating of this key gives any problems, there are two ways to solve this problem:

    1. let Futurama run once within an account with LocalAdmin permissions. This will create the desired key. After this, you can set the configuration of the account within IIS back to its old values. This solution is recommended.
    2. for advanced users: add the key manually in the registry editor

    To manually add the key follow the next steps:

    1. start REGEDIT.EXE
    2. go to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application
    3. create Futurama.WebSite
    4. in REGEDIT, select the new key and go (with the right mouse button) to Security and select Permissions
    5. add the ASP.NET user and give it read and write permissions.

    Permissions for Futurama Webservice and Vision

    The same can be done for other Futurama product, but instead of the registerkey “Futurama.Website”, the following values should be used:

    • Futurama.Vision
    • Futurama.Webservice
    • Futurama.Editor
    • Futurama.Batch
    • Futurama.Server

      Logging webservices messages

      It is possible to log every message that is sent to a webservice or is received by a webservice. To log these messages within the 'configuration' section of the configuration file the next code has to be included:

      <system.diagnostics>
          <sources>
              <source name="System.ServiceModel"
                      switchValue="Error, Critical"
                      propagateActivity="true">
                  <listeners>
                      <add name="traceListener"
                         type="System.Diagnostics.XmlWriterTraceListener"
                         initializeData= "c:\test\log\Traces.svclog" />
                  </listeners>
              </source>
              <source name="System.ServiceModel.MessageLogging">
                  <listeners>
                      <add name="messages"
                       type="System.Diagnostics.XmlWriterTraceListener"
                       initializeData="c:\test\log\messages.svclog" />
                  </listeners>
              </source>
          </sources>
          <trace autoflush="true" indentsize="3" />
      </system.diagnostics>
      <system.serviceModel>
          <diagnostics>
              <messageLogging
               logEntireMessage="true"
               logMalformedMessages="true"
               logMessagesAtServiceLevel="false"
               logMessagesAtTransportLevel="true"
               maxMessagesToLog="3000"
               maxSizeOfMessageToLog="20000"/>
          </diagnostics>
      </system.serviceModel>

      Where c:\test\log is the location where the log files with information about the webservice messages is saved. In the code above the errors are logged to a file 'Traces.svclog' and the messages are logged to a file 'Messages.svclog'. These .svclog files can be read with a Service Trace Viewer.

      Related Topics

      - Cache: Settings regarding the caching of Futurama documents

      - Debug: Settings to debug while developing with Futurama

      - Format: Format settings of Futurama

      - Identity provider: Settings how to use an external identity provider for determining the access to a website

      - Mail: Definition of the mailserver that is used to send e-mails with Futurama Vision

      - Mapping: Settings for default locations of Futurama files

      - Monitor: Settings for getting session information

      - Rendering: Settings to allow Futurama to generate customized HTML

      - Security: Additional possible security settings when using Futurama Website

      - Server: Settings when using Futurama Export either in server or in batch mode

      - Vision: Configuration of the connection between Futurama and Futurama Vision

      Feedback

      If you have any questions about this subject or if you want to provide us feedback please send us an e-mail.

      Updated: 2019-06-11


      Previous  |  Next