In this article we’ll discover information about log files and logging that can be performed by Journal Commander.

Logging Overview

All log files are centralised on the core server under the logging directory specified during installation.

It is rare to need to access module servers in order to review log files.

Logs are:

  • Generated per module
  • Roll over automatically (10 rollover files are kept)
  • Default to ‘info’ level reporting

Important Log Files

Several important log files include:

WEBUI.TXT

This is the log file for all user interface interactions

JournalCommander.WebServicesLog.txt

This is the web services log file. It contains server side information about module to core communication. It can show which tasks or commands were queued and executed.

JournalCommander.Service.Log.txt

This contains information about execution of database updates, and scheduled tasks

Module core logs

These have a *.ModuleName.Core.txt suffix. They contain communication between the core and applicable module.

Module client logs

These have a *.ModuleName.Client.txt suffix.

Note: All log files from a specific machine include the machine name in the filename, for easy identification.

Logging Levels

Module logging levels are controlled from the user interface. Go to Configuration > Modules > Select the desired module and choose the ‘Set Log Level’ button. ¬†Changes take place almost instantly, there is no need for modules to be restarted.

Core logging level is set via System Configuration > General

Trace level logging is the most detailed.

Overview of a log file

Key of terms

  1. Date/time in UTC
  2. Process ID
  3. Hostname
  4. Thread ID
  5. Logging level
  6. Function
  7. Log entry

 

Note:

>> Implies the start of a request

<< Implies the completion of a request

Summary log file entries

Some log entries provide a summary of the modules current activity. This is often the visible report of a system’s health.

Entries can contain a lot of information to aid in troubleshooting:

  • Current performance
  • Resource conumption
  • Current processing statistics
  • Summary of actions taken
  • Duration of actions taken

Here is an example:

Errors, warning, exceptions

Log levels are used to clearly identify exceptions. All warnings are logged at WARN logging level. All exceptions are ERROR or FATAL log levels.

How to identify what log to look in

Many issues are highly reproducible. Try to identify the conditions resulting in an issue. Being able to reproduce an issue on demand helps issue resolution and investigation.

Determining which log file to look into often comes with experience.

  • webui – user interface errors/issues
  • services – database upgrades and scheduled task execution
  • *client* – problems with an actual module
  • *core* – problems with retrieving and processing of commands

How to adjust logging levels

Go to Configuration > Modules > Select the desired module and choose the ‘Set Log Level’ button. ¬†Changes take place almost instantly, there is no need for modules to be restarted.

Core logging level is set via System Configuration > General

Identifying the point of failure

At the highest level, we suggest:

  • Enable trace level logging on the Core (if appropriate) and modules which may be involved in the issue
  • Try to repeat the activity of action which resulted in an error (for example retrying failed items, or retrying a stage 2 workflow command)
  • Search the log files for ERROR
  • Check the thread ID of that error message and search in the logs for everything that the thread has done around about the time of the failure.
Print Friendly, PDF & Email