• No results found

Logging in EPiServer. Purpose. Product version: Document version: 1.0. Document creation date:

N/A
N/A
Protected

Academic year: 2021

Share "Logging in EPiServer. Purpose. Product version: Document version: 1.0. Document creation date:"

Copied!
15
0
0

Loading.... (view fulltext now)

Full text

(1)

Logging in EPiServer

Product version: 4.51

Document version: 1.0

Document creation date: 13-10-2005

Purpose

This document describes how to configure logging in EPiServer, and provides information on how to interpret the logged information and best practices. The intended audiences are developers and system administrators.

The contents of this document are protected by copyright. Contents of the document may be freely copied and distributed, either digitally or in printed format, to all EPiServer users.

(2)

Table of Contents

INTRODUCTION 2

ENABLE LOGGING 2

DISABLE LOGGING 3

SITE INFORMATION LOGGING 3

STATISTICS LOGGING 4

ORGANIZING LOG FILE STORAGE 6

SITE INFORMATION LOGGING REFERENCE 6

ADDITIONAL INFORMATION 14

Introduction

The logging system in EPiServer uses the log4net framework and we recommend that you read the introduction at the log4net web site, http://logging.apache.org/log4net, before reading this document.

Logging Levels

There are seven levels of logging that are assigned according to priority level, with OFF having the highest value and ALL the lowest value.

• OFF

• FATAL

• ERROR

• WARN

• INFO

• DEBUG

• ALL

Enable Logging

Logging is controlled from a configuration file named EPiServerlog.config and should be placed in the same

directory as the application's

web.config

file. Why is the logging configuration not placed in

web.config

? The

reason for this decision is that if you want to enable logging when the application has entered a bad state, you

have to change and save the configuration file. If the information is in

web.config

, the Web application would be

restarted when you save

web.config

, possibly clearing the cause for the problem that you wanted to log. Keeping

(3)

Disable Logging | 3

A typical log configuration file might look like this:

<log4net>

<appender name="ErrorAppender" type="log4net.Appender.FileAppender" > <file value="c:\\EPiServerLog\\1\\Monitor\\Errorlog-file.txt" /> <appendToFile value="true" />

<layout type="log4net.Layout.PatternLayout">

<conversionPattern value="%d [%t] %l - %m%n" />

</layout>

</appender>

<appender name="StatisticsAppender" type="log4net.Appender.RollingFileAppender">

<file

value="C:\\EPiServerLog\\1\\Statistics\\EPiServerStatistics.log" /> <appendToFile value="true" />

<rollingStyle value="Date" />

<layout type="log4net.Layout.PatternLayout">

<param name="ConversionPattern" value="%d|%m%n" /> </layout>

</appender>

<logger name="EPiServer.Diagnostics.StatisticsLog"> <level value="INFO" />

<appender-ref ref="StatisticsAppender" /> </logger>

<root>

<level value="WARN" />

<appender-ref ref="ErrorAppender" /> </root>

</log4net>

If you want to enable full logging, simply change the level value in the root tag to ALL. Note that this will give you a lot of data.

Disable Logging

There are two ways to disable active logging:

1. Set the level to OFF in EPiServerLog.config.

2. Remove the file and restart the Web site. This can be done by either resaving the system

settings/web.config, killing the process or doing an iis-reset. It is not enough to just remove the file; the Web site must be restarted to disable logging.

Site Information Logging

The site information is primarily concerned with logging various problems and unusual events. Basically you should always monitor events with log level WARN and above. Events with lower levels are primarily intended to get information to track down specific errors and/or bugs. A developer might want to enable full logging to a RollingFileAppender (see the log4net documentation) in his development environment to be able to check what has happened in EPiServer—in case a specific problem occurs—but during regular production use, you would probably want to just monitor WARN events and higher.

(4)

Exceptions will be logged with the complete stack trace to enable you to track down exception errors. Be aware that exceptions are expensive in terms of performance. You should avoid writing code that generates exceptions as part of the normal program flow.

Statistics Logging

EPiServer has one specific logger that generates output that can be used for statistics analysis similar to

traditional Web log analysis. This is the

EPiServer.Diagnostics.StatisticsLog

. The reason for its existence is

that a dynamic Web site may exhibit behavior different from a static Web. For example, when a person looks at the start page of an intranet site, he may be presented with a headline news item and two smaller product-related news items. The Web site owner may want to have information about the specific news items being read so this single “start page hit” should actually be counted as three separate “content” hits.

The statistics logging function in EPiServer is designed to support such behavior. It should usually not be considered a replacement for the traditional IIS log file since the EPiServer log will not register information about GIF images or other static file accesses.

The log file format generated is non-standard and created to be quickly parsed without resorting to complicated algorithms. The format is one row per hit:

YYYY-MM-DD HH:mm:SS,sss|url|hitType|session|sid|pageLink|userName|pageName

YYYY Year, month and day. The information is zero-padded.

MM Month, zero-padded. 01 = January, 02=February etc.

DD Day, zero-padded.

HH Hours in 24 hour format, zero-padded.

mm Minutes, zero-padded.

SS Seconds, zero-padded.

sss Milliseconds, zero-padded.

url The full URL of the request as received by EPiServer, including protocol and

host information.

hitType Indicates the type of page view. Can be one of the following:

Page – Regular page view

Content – The indicated pageLink was displayed as part of another page. External – Data external to EPiServer was displayed.

File – A static file was send to the client.

session A string identifying a unique session. If a session cannot be determined this string will be empty. The current implementation simply uses the session ID and thus relies on the session mechanism to be enabled. This is an implementation detail and may change in the future.

sid An integer representing the user viewing the page. This maps directly to the

SID (Security Identifier) used internally in EPiServer (not to be confused with SIDs in Windows). For non-authenticated users this SID will be 3 (= Anonymous).

(5)

Statistics Logging | 5

pageLink An integer representing the page ID. This field may be empty if hitType is External or File.

userName The login name of the user viewing the page. For non-authenticated users this name will be Anonymous.

pageName The name of the current page as entered in edit mode.

Some lines from a sample log file are displayed below:

2004-04-05

11:53:12,815|http://testsite.episerver.com/episerversample/templates/Page.aspx ?id=22|Page|g2zyua550v4ufq55n2obs1fk|23|22|EP\magnuss|Templates

2004-04-05

11:53:16,987|http://testsite.episerver.com/episerversample/templates/Page.aspx ?id=84|Page|g2zyua550v4ufq55n2obs1fk|23|84|EP\magnuss|Developer hints

2004-04-05

11:53:24,815|http://testsite.episerver.com/episerversample/templates/Page.aspx ?id=57|Page|g2zyua550v4ufq55n2obs1fk|23|57|EP\magnuss|Inspiration

2004-04-05

11:53:30,705|http://testsite.episerver.com/episerversample/templates/news.aspx ?id=76|Page|g2zyua550v4ufq55n2obs1fk|23|76|EP\magnuss|News

2004-04-05

11:53:32,815|http://testsite.episerver.com/episerversample/templates/page.aspx ?id=83|Page|g2zyua550v4ufq55n2obs1fk|23|83|EP\magnuss|EPiServer now with Oracle support

2004-04-05

11:57:14,283|http://testsite.episerver.com/episerversample/default.aspx?id=3|P age|o42v2355u5mvqr55hmkz35yo|23|3|EP\magnuss|Welcome to EPiServer 4

2004-04-05

11:58:14,207|http://testsite.episerver.com/episerversample/templates/Page.aspx ?id=22|Page|o42v2355u5mvqr55hmkz35yo|23|22|EP\magnuss|Templates

2004-04-05

11:58:45,302|http://testsite.episerver.com/episerversample/default.aspx?id=3|P age|o42v2355u5mvqr55hmkz35yo|23|3|EP\magnuss|Welcome to EPiServer 4

If you want EPiServer to produce a log file formatted like a standard IIS / W3C Web log file, you can use the Statistics logging event that will be fired for every statistics event and contains all the information described above. In your event handler, you can then choose to output this information in a suitable format, maybe even use the logging functions since they provide a simple and high-performance way to log data.

Some sample code to illustrate how to attach your event handler to such a logging function – for this example it is

placed in

global.asax.cs

:

public class Global : EPiServer.Global {

public Global()

{

InitializeComponent();

EPiServer.Diagnostics.StatisticsLog.Logging +=new

EPiServer.Diagnostics.StatisticsEventHandler(StatisticsLog_Logging);

}

private void StatisticsLog_Logging(object sender,

EPiServer.Diagnostics.StatisticsEventArgs e)

{

// Output information from e to the desired target

}

. . .

Another use for the Logging event would be to implement some type of information aggregation “on-the-fly”. The simplest possible example would be a page hit counter.

(6)

Organizing Log File Storage

For a production site, it is essential to have a policy regarding log files to avoid problems such as exposing log files on your Web site, filling up a system partition with log data etc. The EPiServer logging functions, with the

exception of the

EPiServer.Diagnostics.StatisticsLog

, are intended to be used to monitor the health of your

Web application and should under normal operation not cause excessive logging, as long as you do not enable logging of events below the WARN level. The following are our recommendations on how to store log files. Note that if you are using remoting, UDP appenders or any type of appender that does not write log files to the local drives, the actual storage of log data will probably not happen on the Web server, although other restrictions may apply.

Note You must have at least write permission for the directory that you wish to log to for the account that you

are using for your Web site.

Where to Store Log Files

• Log files should be stored outside the folder structure exposed by the Web server.

That is to say that if your EPiServer application is installed in the C:\Inetpub\EPiServerSite1

folder, you should not store your log files in the C:\Inetpub\EPiServerSite1\logs folder. This

could (depending on Web server configuration and file access rights) expose your logs to any visitor to your Web site.

• Log files should not be stored on the system partition.

If your Web server has the operating system installed on the C: drive, you should store the log files on another drive. Even though EPiServer's log functions should not cause large log files during normal operation, the log files may grow very large, if you enable full debugging. If the logging takes all free space on your system partition, you will experience all sorts of problems, most likely making your Web site unavailable until the situation has been resolved.

We suggest that you store log files in the following structure (the illustration assumes that we have designated E: as the log storage partition).

E:\EPiServerLog\ The root folder for EPiServer logs

1 Give each EPiServer application its unique folder

Monitor A Monitor folder used to log warnings and errors, i e health monitoring logs.

Statistics A Statistics folder that should be used if you choose to enable EPiServer's statistics logging.

Site Information Logging Reference

Every logging message has a unique identity in the form x.y.z to enable you to quickly determine the source of the message. This identity is hierarchical and based on the class structure in EPiServer. The list below lists all possible log information that EPiServer can generate as well as explanations and more information. 1. Top level class

(7)

Site Information Logging Reference | 7

1.1.1. WARN Access denied

The access denied method was called because the current user did not have access to the requested page.

1.1.2. WARN Loading page with wrong page template

The page that was referenced by the ID parameter should not be displayed with the page template file named in the URL.

1.1.3. INFO Page initialized

The page has been loaded and access has been verified. This is logged at the end of the PageBase.OnInit method.

1.2. Logger EPiServer.Global

1.2.1. DEBUG Enter Global constructor

Entering the EPiServer.Global constructor. Logged before any actions are performed. Note that this may be entered into the log multiple times, but the “Leave Global constructor” message (1.2.2) should only be logged once per application startup. This is because the constructor is protected from multiple initializations.

1.2.2. DEBUG Leave Global constructor

Leaving the Global constructor. See comments on 1.2.1

1.2.3. INFO Authenticate request

The Application_AuthenticateRequest event has been handled by EPiServer. If authentication is successful the Context.User should be set to the authenticated user.

1.2.4. ERROR - exception FormsAuthentication failed

The FormsAuthentication_OnAuthenticate event failed with an exception. The exception is logged and program execution continues with User set to AnonymousUser.

1.2.5. ERROR – exception Unhandled exception in ASP.NET

The HttpApplication.Error event has been raised and caught by EPiServer. The exception is logged and the error will be sent to the response stream if the current user has the required privileges to see runtime errors.

1.2.6. ERROR HttpApplication created without HttpContext

This message indicates that EPiServer may not have been able to configure all its internal settings due to missing information about the web application at the time the GlobalBase class was created. This should never happen under IIS as the first HttpApplication’s will be created by ASP.NET with a HttpContext, it can happen in design mode in Visual Studio.NET.

1.2.7. INFO Precompilation reqluest for file X

Added in version 4.40

A precompilation request, as indicated by the query string parameter EP_PreCompile, was received for the url X. This means that the actual processing of the page will terminate immediately after precompilation, so no further execution takes place.

1.3. Logger EPiServer.LazyIndexer

1.3.1. ERROR – exception IndexPage failed for page X

Some kind of error occurred when the LazyIndexer tried to index a page. Will append the ID of the page that failed.

1.4. Logger EPiServer.ApplicationConfiguration

1.4.1. DEBUG Persist entered

Will try to save EPiServer settings to web.config.

1.4.2. DEBUG Persist without a WindowsIdentity

Trying to save the config file when logged on with a non-Windows account. This may cause problems since the account might not have correct privileges to write the file.

1.4.3. DEBUG Persist with a WindowsIdentity

Trying to save the config file when loggen on with a Windows account. However no impersonation has been made.

1.4.4. DEBUG Persist with a WindowsIdentity and impersonation

Trying to save the config file when loggen on with a Windows account and impersonating that user.

1.5. Logger EPiServer.GatlingCompatibility

1.5.1. DEBUG Gatling compatibility enabled / disabled

Reports the state of the Gatling (i e EPiServer 3) compatibility flag.

1.5.2. ERROR – exception Failed to write registry data

An exception was thrown in response to saving configuration data to the EPiServer 3 registry location. Usually caused by privilege problems.

1.5.3. ERROR – exception Failed to read registry data

An exception was thrown in response to loading configuration data from the EPiServer 3 registry location. Usually caused by privilege problems.

(8)

1.5.4. INFO EPiServer 3 cache management enabled

The GatlingCompatibility.InitializeCache method was called when EPiServer 3 compatibility was enabled. This has resulted in event handlers being attached to the global DataFactory instance to clear the EPiServer 3 cache as necessary.

1.6. Logger EPiServer.DataFactory

1.6.1. ERROR – exception Constructor without HttpContext

The DataFactory constructor was called without having a valid HttpContext. This may cause problems with the upload directory settings.

1.6.2. WARN – exception Access denined in GetDefaultPageData

1.6.3. ERROR – exception GetChildren failed

Some kind of exception occurred when loading children.

1.6.4. ERROR – exception GetPage failed

1.6.5. DEBUG FindPagesWithCriteria enter

1.6.6. DEBUG FindPagesWithCriteria leave

1.6.7. INFO Version: {VersionID} Page: {PageID} was deleted by {User}

The internal version number (i.e. not the one shown in the browser), page ID and the user who deleted (from the recycle bin) it, will be logged.

1.6.8. INFO Page: {PageID}, with {n} children was deleted by {User}

The page ID, number of children, and the user who deleted (from the recycle bin) it, will be logged.

1.6.9. INFO The recycle bin was purged by {User}

Each time a user purges the recycle bin it is logged.

1.6.10. DEBUG Page: {PageID_of_1st_page} was deleted by {User}

. .

DEBUG Page: {PageID_of_{n}th_page} was deleted by {User}

The page ID, and the user who deleted it (from the recycle bin), will be logged.

1.6.11. INFO Page: {PageID} was moved to the recycle bin by {User}

The page ID, and the user who moved the page to the recycle bin, will be logged. (If there are children, they will not be logged, since they are not deleted, only moved)

1.7. Logger EPiServer.CacheManager

1.7.1. ERROR – exception Failed to remove item from remote cache

1.7.2. DEBUG Begin remove item from remote cache

1.7.3. DEBUG End remove item from remote cache

1.7.4. DEBUG Remove pending remote cache request without matching info. Key:X, Site:Y

This message is logged when the asynchronous web service call is finished if the corresponding

information used for serializing calls cannot be found. This indicates a threading problem. 2. DataAccess

2.1. Logger EPiServer.DataAccess.BackupDB

2.1.1. ERROR – exception BackupDataBase failed

An exception occurred in the database backup process.

2.2. Logger EPiServer.DataAccess.CategoryDB

2.2.1. ERROR – exception Category load failed

An exception occurred in the category load process.

2.2.2. ERROR – exception Category save failed

An exception occurred in the category save process.

2.2.3. ERROR – exception Category load tree failed

An exception occurred in the category load tree process.

2.2.4. ERROR – exception Category dataset save failed

An exception occurred in the category dataset save process.

2.2.5. ERROR – exception Category list failed

An exception occurred in the category list process.

2.3. Logger EPiServer.DataAccess.DatabaseInformationDB

2.3.1. ERROR – exception Load information failed

2.4. Logger EPiServer.DataAccess.DynamicPropertiesDB

(9)

Site Information Logging Reference | 9

2.4.3. ERROR – exception Dynamic properties save failed

2.5. Logger EPiServer.DataAccess.FormDefinitionDB

2.5.1. ERROR – exception Load form definition failed

2.5.2. ERROR – exception Save form definition failed

2.5.3. ERROR – exception Listing all forms failed

2.6. Logger EPiServer.DataAccess.FormPostingDB

2.6.1. ERROR – exception Save form posting failed

2.6.2. ERROR – exception Posting check failed

2.7. Logger EPiServer.DataAccess.FormStatisticsDB

2.7.1. ERROR – exception Get form statistics failed

2.7.2. ERROR – exception Get form statistics with time limit failed

2.7.3. ERROR – exception Delete form statistics failed

2.8. Logger EPiServer.DataAccess.FrameDB

2.8.1. ERROR – exception List frames failed

2.8.2. ERROR – exception Save frames failed

2.9. Logger EPiServer.DataAccess.GatlingDB

2.9.1. ERROR – exception Gatling change log failed

2.10. Logger EPiServer.DataAccess.LanguageDB

2.10.1. ERROR – exception Language list failed

2.10.2. ERROR – exception Language save failed

2.11. Logger EPiServer.DataAccess.PageAclDB

2.11.1. ERROR – exception Page ACL list failed

2.11.2. ERROR – exception Page ACL save failed

2.11.3. ERROR – exception Page ACL save recursive failed

2.12. Logger EPiServer.DataAccess.PageDB

2.12.1. ERROR – exception 2.12.1 Property type / assembly is invalid

3. DataAbstraction

3.1. Logger EPiServer.DataAbstraction.ScheduledJob

3.1.1. INFO – Successfully executed scheduled job {JOBID}

3.1.2. ERROR – exception Failed to execute job {JOBID}

3.1.3. INFO – Scheduled job has already been executed {JOBID}

The date used to schedule a job has been changed since it was checked out, this may be because another server has executed the job or a user has manually changed or executed the job.

4. Personalization

4.1. Logger EPiServer.Personalization.SubscriptionJob

4.1.1. INFO – No subscription templates were found

4.1.2. DEBUG – {Count} page updates where queued for template {PageID}

4.1.3. DEBUG – Finished processing subscription mail for {DisplayName}

4.1.4. ERROR – exception Failed to send subscription to {DisplayName}

4.1.5. DEBUG – Start processing subscription mail for {DisplayName}

4.1.6. DEBUG – Uses subscription handler: {handler name}

4.2. Logger EPiServer.Personalization.MultiLanguageSubscriptionMail

4.2.1. DEBUG – Indicates that a page has not been selected in multi language mode.

4.2.2. DEBUG – Indicates that a page is not a multi language page.

4.2.3. DEBUG – Indicates that a page is a multi language page.

4.2.3.1. DEBUG – Information about the root of the subscription and accepted languages for it.

4.2.3.2. DEBUG – Indicates that a version of a page is distributed on a certain updated language

on the page.

4.2.3.3. DEBUG – Indicates that a page is updated on the default language and will be distributed

(10)

4.2.3.4. DEBUG – Indicates that a page is set to use language fallback and a notification is done by sending mail on all languages.

4.3. Logger EPiServer.Personalization.SubscriptionMail

4.3.1. WARN – Invalid email address found (skip mail): {email address}

4.3.2. INFO – Subscription mail sent to {email address}

4.3.3. DEBUG – Stylesheet used to format subscription mail: {CSS path} ({number of bytes})

4.3.4. WARN – Stylesheet not found: {CSS path}

5. FileSystem

5.1. Logger EPiServer.FileSystem.UnifiedFileSystem

5.1.1. FATAL – exception Filesystem failed to initialize

5.2. Logger EPiServer.FileSystem.UnifiedDirectory

5.2.1. WARN Unauthorized operation

A method without the required permissions has been called, for example trying to delete a directory without the Delete permissions.

5.2.2. INFO Created directory

5.2.3. ERROR – exception Failed to create directory

5.2.4. INFO Created file

5.2.5. ERROR – exception Failed to create file

5.2.6. INFO Renamed directory

5.2.7. ERROR – exception Failed to rename directory

5.2.8. INFO Moved directory

5.2.9. ERROR – exception Failed to move directory

5.2.10. INFO Copied directory

5.2.11. ERROR – exception Failed to copy directory

5.2.12. INFO Deleted directory

5.2.13. ERROR – exception Failed to delete directory

5.3. Logger EPiServer.FileSystem.UnifiedFile

5.3.1. WARN Unauthorized operation

A method without the required permissions has been called, for example trying to delete a file without the Delete permissions.

5.3.2. INFO Open write stream

5.3.3. ERROR – exception Failed to open write stream

5.3.4. INFO Deleted file

5.3.5. ERROR – exception Failed to delete file

5.3.6. INFO Renamed file

5.3.7. ERROR – exception Failed to rename file

5.3.8. INFO Moved file

5.3.9. ERROR – exception Failed to move file

5.4. Logger EPiServer.FileSystem.WebDownloadManager

Added in version 4.40

5.4.1. INFO TransmitFile [filename]

The TransmitFile method was called with the logged filename as parameter.

5.4.2. DEBUG TransmitFile handled by [virtual name]

The Handler associated with virtual name is used to handle the file.

5.4.3. INFO TransmitFile file will be sent [path]

The file will be transmitted to the client, if this point is not reached, then the file was most likely found in a client-side cache. Note that path is the Handler representation of the file and the prefix will most likely differ form the filename logged in 5.4.1

5.4.4. DEBUG TransmitFile Content type is [ContentType]

The ContentType that is set as the Content-Type header in the response sent to the client.

5.4.5. DEBUG TransmitFile with Reponse.TransmitFile

The high-perfomance method is used to send the file to the client. If this method is used, the handlers OpenRead method is never called since the file is accessed directly from the physical file system.

(11)

Site Information Logging Reference | 11

5.4.6. DEBUG TransmitFile with Response.BinaryWrite

The generic transfer method is used to send the file. Should be followed by a call to the handlers OpenRead method.

5.4.7. DEBUG FindMimeFromData failed with error x

When attempting to look up the mime type to use for the specified file (see 5.4.4) the called failed. If x is non-zero then it correspons to a regular Win32 error code, if x is zero, the the call succeeded but returned null or a zero-length string as mime type.

6. Core

6.1. Logger EPiServer.Core.Html.IndexServerSearch

Added in version 4.40

6.1.1. ERROR – exception IndexServer error on command x

Index server reported an error when the logged search command was executed.

6.1.2. INFO IndexServer command executed: x

The Index server command x was successfully executed.

6.2. Logger EPiServer.Core.Html.HtmlWash

Added in version 4.40

6.2.1. DEBUG Mapping [count] nodes from [element] to [element]

6.2.2. DEBUG Removing [count] [element] nodes but keeping content

6.2.3. DEBUG Removing unwanted attributes from [count] [element] nodes ([query])

6.2.4. DEBUG Remapping or removing class on [count] nodes

6.2.5. DEBUG Removing[count] [element] nodes

6.2.6. DEBUG Removing[count] comment nodes

6.2.7. DEBUG Removing style attribute on [elements] nodes

6.2.8. DEBUG Rebuilding style attribute on [elements] nodes

6.2.9. DEBUG Removing unknown namespace prefixes on [elements] nodes

6.2.10. INFO Starting HTML washing

6.2.11. INFO Done with HTML washing

7. WebControls

7.1. Logger EPiServer.WebControls.PageSearch

Added in version 4.40

7.1.1. INFO x

The PageSearch control was invoked with x as query string. This information is useful to track to find out what visitors are interested in.

8. ClientTools

8.1. Logger EPiServer.ClientTools.ContentImport

Added in version 4.40

8.1.1. DEBUG Starting import of content to page [pagelink] for extension [extension]

Invoked whenever a user this Save and view from for example the Office Add-In.

8.1.2. DEBUG Done import of content to page [pagelink] for extension [extension]

8.1.3. ERROR – exception Failed import of content to page [pagelink] for extension [extension]

Error while while user hits Save and view from for example the Office Add-In.

8.1.4. INFO Uploaded file for page [pagelink] received: [filename]

For example the Office Add-In will trigger this event while uploading files 9. Security

9.1. Logger EPiServer.Security.PageAccessControlList

Added in version 4.41

9.1.1. INFO The access settings for pageID: {pageLinkID} have been saved (non-recursive) by user

{CurrentUser}

Logged each time non-recursive access settings are saved.

9.1.2. INFO The access settings for pageID: {pageLinkID} have been saved recursively by user

{CurrentUser}

Logged each time recursive access settings are saved.

9.1.3. INFO The access settings for pageID: {pageLinkID} have been added recursively by user

{CurrentUser}

(12)

9.1.4. INFO The access settings for pageID: {pageLinkID} have been removed recursively by user {CurrentUser}

Logged each time recursive access settings are removed.

9.1.5. DEBUG {CurrentUser} modified the access-rights to page: {PageID} for {1st_User_or_Group}

to: [read][create][edit][delete][publish][administer] .

9.1.6. .

DEBUG {CurrentUser} modified the access-rights to page: {PageID} for {nth_User_or_Group } to:

[read][create][edit][delete][publish][administer]

9.1.7. DEBUG {CurrentUser} removed all access-rights for {1st_removed_User_or_Group} to page:

{PageID} .

.

DEBUG {CurrentUser} removed all access-rights for {nth_removed_User_or_Group} to page:

{PageID}

Logged for each user that is set or removed (recursive or non-recursive) from the access-list for the current page.

9.2. Logger EPiServer.Security.LdapAuthenticationProvider

Added in version 4.41

9.2.1. ERROR - exception Error in LDAP authentication

An exception occurred during the authentication against an LDAP source.

9.2.2. DEBUG Could not find LDAP sync section in configuration file.

Added in version 4.51

9.2.3. Error Error reading user object from ldap while synchronizing user attributes for user

{User-CN}.

Added in version 4.51

9.2.4. INFO Synchronized values for user {User-CN}.

Added in version 4.51

9.2.5. Error – Exception Error synchronizing LDAP values for user {User-CN}.

Added in version 4.51

9.2.6. DEBUG Could not find attribute {attributename} for user {User-CN}.

Added in version 4.51

9.3. Logger EPiServer.Security.ClearTrustAuthentication

Added in version 4.41

9.3.1. Error – exception Error in ClearTrust authentication

An exception occurred during the authentication against ClearTrust.

9.4. Logger EPiServer.Security.AuthenticationProvider

Added in version 4.50

9.4.1. WARN Failed authentication attempt: {UserName}. IP: {IPAddress}.

All authentication providers failed to authenticate user

9.4.2. INFO User was authenticated: {UserName}. IP: {IPAddress}.

An authentication provider successful authenticated user

9.4.3. INFO User was denied

An authentication provider set the IsDenied flag. IP: {IPAddress}.

10. Mirroring

Added in version 4.50

10.1. Logger EPiServer.Enterprise.Mirroring.MirroringManager

10.1.1. INFO Applying changes for channel {channel name}

10.1.2. INFO Executing channel {channel name}

10.1.3. DEBUG Impersonating user {username} for channel {channel name}

10.1.4. DEBUG Setting language to {language id} for channel {channel name}

10.1.5. DEBUG Reverting impersonation to user {user name} for channel {channel name}

10.1.6. ERROR – exception Failed to execute publisher {name} on channel {name}

10.2. Logger EPiServer.Enterprise.Mirroring.Destinations.HtmlMirroring

(13)

Site Information Logging Reference | 13

10.2.2. WARN Failed to download {url}, retry {x}/{y}

10.2.3. ERROR – exception Failed to download {url]

10.3. Logger EPiServer.Enterprise.Mirroring .Destinations.PageMirroring

10.3.1. WARN Remote warning during import: {message]

10.3.2. ERROR Remote error during import: {message}

10.4. Logger EPiServer.Enterprise.Mirroring.Destinations.FileSystemBase

10.4.1. DEBUG Received create command for {Path}

10.4.2. DEBUG Received delete command for {Path}

10.4.3. DEBUG Received move command for {Path} [{OrgininalPath}]

10.4.4. DEBUG Received update command for {Path} [{OrgininalPath}]

11. LogService

Added in version 4.50

11.1. Logger EPiServer.Log.Core.FileLoaderServer

11.1.1. WARN Problem reading message from file

11.1.2. WARN Problem analyzing message

11.1.3. WARN The configuration do not specify the path to the log files

11.1.4. DEBUG Handling <rps> rps

11.2. Logger EPiServer.Log.Analyzer.PageSpan

11.2.1. WARN Problem parsing message

11.2.2. ERROR Load PageSpan failed

11.2.3. ERROR Save PageSpan definition failed

11.2.4. ERROR Delete PageSpan failed

11.3. Logger EPiServer.Log.Analyzer.FileAnalyzer

11.3.1. INFO Creating file

11.4. Logger EPiServer.Log.Analyzer.TimeSpanAnalyzerView

11.4.1. ERROR Get statistics failed.

11.4.2. ERROR Error Listing PageSpans

11.4.3. ERROR Problem executing method GetHits

11.5. Logger EPiServer.Log.Analyzer.RealTimeAnalyzer

11.5.1. DEBUG Problem getting root node

11.5.2. DEBUG No configuration for the publishedPagesMaxCount

11.6. Logger EPiServer.Log.Analyzer.RealTimeAnalyzerView

11.6.1. ERROR Problem getting referrers

11.7. Logger EPiServer.Log.Analyzer.PageSpanList

11.7.1. ERROR Problem adding page span

11.8. Logger EPiServer.Log.Analyzer.TimeSpanAnalyzer

11.8.1. DEBUG Loading Time Span Analyzer

11.8.2. ERROR Listing page spans failed

11.8.3. WARN Problem handling the message

11.8.4. DEBUG Datamining {interval}

11.8.5. DEBUG DataMining find {count} interval:{interval}

11.8.6. DEBUG Create/Load a new interval of type

11.8.7. DEBUG Adding interval start={start} stop={stop}

11.8.8. DEBUG Create/Load a new interval of type

11.9. Logger EPiServer.Log.Analyzer.AnalyzerBase

11.9.1. DEBUG Listening for messages at {URI} for {class}

11.9.2. WARN The protocol '{protocol} ' is not supported by default

11.9.3. ERROR Configuration error - can't create view for the analyzer

11.10. Logger EPiServer.Log.Core.LogServiceView

11.10.1. WARN No log service is stated

11.10.2. ERROR Problem stopping log service

(14)

11.11.1. INFO Shuting down log service

11.11.2. ERROR Analyzing message failed

11.12. Logger EPiServer.Log.Core.UdpServer

11.12.1. DEBUG Starting Udp Server, lisen on port {port}

11.12.2. WARN The configuration do not specify the UDP post to use, using port {port}

11.12.3. ERROR Can not handle a UDP message

11.12.4. ERROR Problem reciving UDP message

11.13. Logger EPiServer.Log.Core.UdpServer

11.13.1. ERROR Usage:EPiServer.Log.Service.exe <DEBUG|FILE>

11.13.2. ERROR Can not load classes, probably the config file {file} …

11.13.3. DEBUG Initialize Logservice

11.13.4. INFO Starting LogService

11.13.5. INFO Stopping Logservice

12. XForms

Added in version 4.50

12.1. Logger EPiServer.XForms.DataAbstraction.XForm

12.1.1. ERROR Load Xform failed

12.1.2. ERROR Save Xform failed

12.1.3. ERROR Posting validation failed

12.1.4. ERROR Delete Xform failed

12.2. Logger EPiServer.XForms.DataAbstraction.XFormData

12.2.1. ERROR Load XFormData failed

12.2.2. ERROR Send form posting failed

12.2.3.

12.3. Logger EPiServer.XForms.Implementation.DatabaseConnection

12.3.1. ERROR Problem storing posting to database

12.4. Logger EPiServer.XForms.Implementation.EMailConnection

12.4.1. ERROR Cant send email for posting

12.5. Logger EPiServer.XForms.Implementation.HttpConnection

12.5.1. ERROR Fail on send request to custom URL

12.6. Logger EPiServer.XForms.WebControls.XFormControl

12.6.1. ERROR Can not create form

13. Multi Language Added in version 4.50

13.1. Logger EPiServer.Util.MultiLanguageRuntime

13.1.1. INFO Updated status for page version {PageID}.{WorkID} to {SaveAction}

13.1.2. INFO Page included changed propeties for several languages, created new

version(PageID.WorkID) for {language}

13.1.3. INFO Cleared properties for all languages except {language}

13.2. Logger EPiServer.Util.VersionMerge

13.2.1. DEBUG Page: {PageID} differed for {language} (Propertyname={propertyname})

Additional Information

The following keys will be added to the Mapped Diagnostic Context (MDC in log4net terms) when possible:

Key name Description

PageReference String representation of the current pages page link.

Usually the last value set by PageBase.CurrentPageLink

(15)

Additional Information | 15

DataFactoryPage String representation of the page reference passed

in to a DataFactory method.

UnifiedFileSystemPath The path affected by a log event from

References

Related documents

If this isn’t possible due to the design used on the print, then use a white stacked double diamond Umbro logo instead. Photography and graphics used should be relevant to

Recent infection with, or reactivation of, herpes simplex virus type 1 or type 1/2 unspecified, cytomegalovirus and human herpes virus-6 measured by serum IgM, high titre IgG

There are also several other civil engineering firms in the area, but Premier Engineering Design would be the only firm that specializes in whitewater design in Grand Rapids.

Replacement parts and assemblies that are necessary for the correct and proper maintenance of the helicopter and its components are given in the Illustrated

Therefore we desire to construct wavelet frame functions with small support in time domain, simple structure, based on a multiresolution analysis and leading to efficient filter

Make sure you connect the component video cable and audio cable from the other equipment (COMPONENT VIDEO OUT and AUDIO OUT) to this unit (COMPONENT VIDEO IN and AUDIO IN - YUV

Council’s position is that we will not approve applications for alternative solutions for direct fixing of tiles over a timber framed substrate (direct fixing onto a concrete floor

La representación gráfica anterior se ha realizado en colores y se han indicado las funciones, para visualizar el efecto de cada una de las funciones