.. _Output and logging:

Output and logging
==================

Compilation related information is printed to console during the build process:

**dvt_build.sh**, **verissimo.sh** and **specador.sh** print the information to the **standard output**.

In **DVT IDE for Eclipse** or **DVT IDE for VSCode**, the information is printed to the **integrated build console**.


The **console** contains: 
#.  Build configuration file inclusion tree
#.  For each compiled file, the path and compilation time
#.  Compilation problems summary (max 20 items, in precedence order: build configuration errors, syntax errors, semantic errors)
#.  Compilation problems waiving summary (for dvt_build.sh, verissimo.sh and specador.sh only when the print_compile_waivers_info argument is provided on the commandline)
#.  Statistics such as total number of lines, total build time, and duration of each compilation phase

A **log file** containing more fine-grained information is also generated:

#.  **dvt_build.sh**, **verissimo.sh** and **specador.sh** generate a log file called dvt_build.log when the **-log <log file>** argument is provided on the command line
#.  In **DVT IDE for Eclipse** or **DVT IDE for VSCode** the dvt_build.log file is generated by default in the project's root directory

In addition to the information printed in the console, the **log file** contains:

#.  All compilation errors and warnings in compilation order
#.  Detailed waiving information including all waived problems

**Configuration**

In **DVT IDE for Eclipse** or **DVT IDE for VSCode** you can use the following build configuration directives:

.. list-table::
   :header-rows: 1
   :widths: auto

   * - +dvt_build_log_to_file+<true/false>
     - Enable/disable internal builder logging to file. Default: true.
   * - +dvt_build_log_to_console+<true/false>
     - Enable/disable internal builder logging to console. Default: true.


In **dvt_build.sh**, **verissimo.sh** and **specador.sh** you can use the following command line arguments:

.. list-table::
   :header-rows: 1
   :widths: auto

   * - log <log file>
     - Log to specified file
   * - ignore_build_config_errors
     - Ignore build configuration errors. If this option is used compilation continues despite any build configuration errors and these errors are not printed into the console
   * - ignore_compile_errors
     - Ignore compile errors. If this option is used the compilation errors are not printed into the console. Has precedence over print_all_compile_problems
   * - print_compile_waivers_info
     - Prints how many problems each compile waiver has matched
   * - print_all_compile_problems
     - Print all compile problems. Include waived problems if used with -print_compile_waivers_info
   * - silent
     - Turn on minimal output

