Logging

Within this section, the logging functionality is described.

This page discusses:

Logging is always done to the command shell and to the file <jobname>/TOSCA.OUT file. The following levels can be used.

Level Comment
WARNING (Not recommended) Only WARNINGs and ERRORs are printed.
NOTICE Default output to STDOUT. Only the most important logging.
INFO Default output to logfile TOSCA.OUT.
DEBUG Very verbose output, mostly for support.
TRACE (Not recommended) Extremely verbose, major performance loss, only for developers.

TOSCA.OUT

The logfile TOSCA.OUT is the main logfile of Tosca Structure. The logfile is at best viewed in a text editor that uses a fixed width font (for example, Courier New). The structure of the logging lines is:

 
(<log tag>)[<teime stamp>|<executable>]<message>

Where:

<log tag> =CRITICAL

=ERROR

=WARNING

=NOTICE

=DEBUG

=TRACE

<time stamp> Current time in format HH:MM:SS (Hours, Minutes, Seconds).
<executable> Name of the executable that wrote the logging message.
Log-tags Interpretation
CRITICAL A critical error has occurred within the program. Contact support and explain.
ERROR An error has occurred during the execution of the optimization system and the user should be able to make changes in the optimization definition or finite element model to correct the problem. Take note of previous warnings.
WARNING A warning indicates that a problem has been identified, but the optimization system continuous.
NOTICE Very general, important information (for example, Starting Tosca Structure optimization module - design cycle 6 ).
INFO Information for the user.
DEBUG Very verbose output, mostly for support. Debug messages are not printed to TOSCA.OUT using default settings. To enable debug output in TOSCA.OUT, add --loglevel debug to the command line.
TRACE Extremely verbose output where a major performance loss is to be expected. Only for developers.

Special Logfiles

In addition to TOSCA.OUT, a few other logfiles can be useful for troubleshooting special problems:

Logfile Comment
authorization.log Logging from Tosca Structure’s authorization module tosca_server is written to this file. In case of licensing/authorization problems, see this file for details.
signal.log This log file has content only if you interrupt the optimization process with a SIGNAL, typically by pressing Ctrl + C in the command prompt. Tosca Structure will then kill the running subprocess, optionally using a script defined by the setting $killscripts. See CONFIG for details.
TOSCA_post.OUT This logfile is generated when using the command line flags -- smooth or -- report. This enables the user to generate SMOOTH or REPORT results during a running optimization.

Viewing TOSCA.OUT Using Tosca Structure.gui

  1. To view TOSCA.OUT in Tosca Structure.gui, select Tosca Structure as Module.
  2. Select View TOSCA.OUT.

This procedure and also the request of logging on debug level are shown in the following figure:



To add debugging output in TOSCA.OUT, activate the check-box Debug Output.

Changing Logging Using the Command Shell

To change loglevel in TOSCA.OUT, use the following command line parameter:


tosca --loglevel <new_level> ...

To increase the amount of output to the command shell, set the parameter:


tosca --loglevel_stdout <new_loglevel>

Important:

Note that --loglevel must be equal or more verbose than --loglevel_stdout. To separate stderr from stdout:


tosca --stderr

The following example demonstrates how to increase loglevel to INFO on the command shell and DEBUG output into the logfile TOSCA.OUT:


tosca --loglevel_stdout INFO --loglevel DEBUG ...

Tips and Tricks Viewing TOSCA.OUT

Topic Tips and Tricks
Finding errors Search for the word (ERROR and make sure that your editor has not activated regular expressions. This search should always be done from the beginning of the logfile because the first printed error message is usually of greatest importance.
Runtime You can view the runtime or elapsed time of each executable in a Tosca Structure run by searching for Elapsed:

(INFO ) [13:20:22|tosca_perl] Elapsed time of fem_include
: 00:00:00 - Actual time: 13:20:22
(INFO ) [13:20:24|tosca_perl] Elapsed time of fem2onf
: 00:00:02 - Actual time: 13:20:24
(INFO ) [13:20:29|tosca_perl] Elapsed time of tosca_prep
: 00:00:05 - Actual time: 13:20:29
(INFO ) [13:20:31|tosca_perl] Elapsed time of fem_modif
: 00:00:02 - Actual time: 13:20:31
(INFO ) [13:21:57|tosca_perl] Elapsed time of abaqus
: 00:01:26 - Actual time: 13:21:57
(INFO ) [13:21:59|tosca_perl] Elapsed time of odb2vtm
: 00:00:02 - Actual time: 13:21:59
(INFO ) [13:22:03|tosca_perl] Elapsed time of tosca_opt
: 00:00:04 - Actual time: 13:22:03

The time format is in HH:MM:SS. In this case, we see that Abaqus has run 1 minute and 26 seconds, whereas the optimization module, tosca_opt, only spent 4 seconds.
How is my FE-solver called? All calls of executables are written in the logfile TOSCA.OUT. To see how a certain executable (for example, your FE-solver) is called, search the file for Calling. In the search results you will also see the FE-solver call; for example:

(INFO ) [13:29:59|tosca_perl] Calling(17048): "/store2/
app/bin/abaqus" job=shapeV2 analysis interactive --version 6.10-3

The number in the parenthesis Calling(<pid>) is the process identification number, PID.
Debug output from only one executable Using loglevel debug is very verbose and this might be annoying if only logging from one single executable is of interest. There is a way of getting debugging information only for certain executables:
  • Use the driver configuration, see DRIVER command:
    
    DRIVER
      driver.Modules[ ToscaModules.TOSCA_OPT ].LogLevel = LogLevels.DEBUG
    END_