Log Files

AppWeb provides detailed feedback about the accesses to and operation of AppWeb via two log files:
  • Error Log
  • Access Log
This page describes the two logs and the information available in each log.

Error Log

The Error Log records the essential AppWeb configuration, details of denied requests and trace information. The location of the error log file is specified via the ErrorLog configuration file directive and the level of logging is specified by the LogLevel directive. 

The verbosity of the messages written to the error log can be specified by the LogLevel directive. The log level is a digit ranging from 0, the least verbose to 9 being the most verbose. For example, If you set the log level to 2, messages at levels 0 and 1 will be output to the log. Level 0 will only record errors. Level 2 is the default and will record denied accesses. Levels 3-9 will record various internal AppWeb activities. You should be very careful with levels above 4 as the error log can grow very large with high log levels.

Here is a sample error log. Some lines have been manually wrapped to fit on the page.

   default:2  m.0  Configuration for Mbedthis AppWeb
   default:2  m.0  --------------------------------------------
   default:2  m.0  Host:               polaris
   default:2  m.0  CPU:                IX86
   default:2  m.0  OS:                 LINUX
   default:2  m.0  Version:            1.0.0
   default:2  m.0  BuildType:          DEBUG
   default:2  m.0  Started at:         Fri Dec 19 13:54:23 2003
   default:2  m.0  Max pool threads:   0
   default:2  m.0  Log rotation count: 0
   default:2  m.0  --------------------------------------------
   default:2  m.0  Set log level for all modules to 2
   default:2  m.0  Document Root for localhost:7777: "/var/appWeb/web"
   default:2  m.0  Activate static module ejs
   default:2  m.0  Activate static module ssl
   default:2  m.0  Loading module (DLL) Compat
   default:2  m.0  Loading module (DLL) OpenSsl
   default:2  m.0  Activate static module auth
   default:2  m.0  Loading module (DLL) Cgi
   default:2  m.0  Activate static module egi
   default:2  m.0  Activate static module esp
   default:2  m.0  Loading module (DLL) Debug
   default:2  m.0  Activate static module static
   default:2  m.0  Add authHandler
   default:2  m.0  Add egiHandler for ".egi" documents
   default:2  m.0  Add cgiHandler for ".cgi .cgi-nph .bat .cmd" documents
   default:2  m.0  Add espHandler for ".esp .asp" documents
   default:2  m.0  Add copyHandler
   default:2  m.0  Add debugHandler
   default:2  m.0  Add copyHandler
   default:2  m.0  Document Root for *:4443: "/etc/appWeb/web"
   default:2  m.0  Starting host named: localhost:7777
   default:2  m.0  Starting host named: *:4443
   default:2  m.0  Listening for HTTP on 127.0.0.1:7777
   default:2  m.0  Listening for HTTP on 127.0.0.1:4443 (secure)
   default:2  m.0  Switching to background operation
   default:2  m.0  HTTP services are ready
   default:2  m.0  [Fri Dec 19 14:54:23 2003]
   default:1  m.0  Error: 404 "Not Found" for "/myFile.html", 
                   file "/var/appWeb/web/myFile.html": 
                   Can't open: /var/appWeb/web/myFile.html

Each line in the error log is prefixed with source information. This follows the format:

moduleName:logLevel    ThreadName

The Module Name is an internal AppWeb name. Developers can create their own module names to assist with debugging. The log level is the verbosity level assigned to the trace information by AppWeb. The ThreadName is an internal AppWeb designed name given to each thread of execution.

The error log is always contains a header detailing the high level AppWeb configuration. It specifies what version of AppWeb is being run, what handlers and modules are loaded and what IP addresses are being listened to.

You may also specify the error log file and log level via the AppWeb command line "-l" option. If you invoke AppWeb with a "-l logSpec" command line option, it will override the ErrorLog and LogLevel directives.

Access Log

The Access Log records the details of each successful request served by AppWeb. The access log file format  is configurable and can log requests in a variety of formats. By default, it will log in the Combined Log File Format that is used by Apache. The location of the access log file and its format is specified via the CustomLog configuration file directive.

The access log file is parseable by many open source and commercial log file analyzers. Here is a sample access log. Some lines have been manually wrapped to fit on the page. 
localhost - - [Fri Dec 19 16:08:13 2003] "GET / 
        HTTP/1.1" 302 464
localhost - - [Fri Dec 19 16:08:22 2003] "GET /doc/index.html 
        HTTP/1.1" 200 8006
localhost - - [Fri Dec 19 16:08:22 2003] "GET /doc/css/doc.css 
        HTTP/1.1" 200 10588
localhost - - [Fri Dec 19 16:08:22 2003] "GET /doc/images/backLeft.png 
        HTTP/1.1" 200 16492
localhost - - [Fri Dec 19 16:08:22 2003] "GET /doc/images/backMiddle.png 
        HTTP/1.1" 200 464
localhost - - [Fri Dec 19 16:08:22 2003] "GET /doc/images/backRight.png 
        HTTP/1.1" 200 987
localhost - - [Fri Dec 19 16:08:22 2003] "GET /doc/images/graybar.gif 
        HTTP/1.1" 200 290
localhost - - [Fri Dec 19 16:08:24 2003] "GET /doc/index.html 
        HTTP/1.1" 304 167
localhost - - [Fri Dec 19 16:08:24 2003] "GET /doc/css/doc.css 
        HTTP/1.1" 304 167
localhost - - [Fri Dec 19 16:08:24 2003] "GET /doc/images/backLeft.png 
        HTTP/1.1" 304 167
localhost - - [Fri Dec 19 16:08:24 2003] "GET /doc/images/backMiddle.png 
        HTTP/1.1" 304 165
localhost - - [Fri Dec 19 16:08:24 2003] "GET /doc/images/backRight.png 
        HTTP/1.1" 304 166


Mbedthis Software LLC, 2003. All rights reserved. Mbedthis is a trademark of Mbedthis Software LLC.