.. _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::

   * - ``+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::

   * - ``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
