Logging

IPKISS can log information to the console. This information can be useful to find out which version of IPKISS you are running, or to find problems in your code that are not shown in the default logging level. In order to set the level of debugging, you can set the LUCEDA_LOG_LEVEL environmental variable. The following levels are possible (in order of no verbosity to very verbose): ‘ERROR’, ‘WARN’, ‘DEBUG’.

Setting the LUCEDA_LOG_LEVEL variable

There are several ways to set the variable. Either on the terminal, in your IDE, or in the Python script itself.

On Windows, you can do so on the terminal using set LUCEDA_LOG_LEVEL=DEBUG before running your script. On Linux, you can use export LUCEDA_LOG_LEVEL=DEBUG.

From Wing IDE, you can go to Project–>Project Properties, and set it in the environment:

Setting LUCEDA_LOG_LEVEL in the project settings of Wing IDE.

Setting LUCEDA_LOG_LEVEL in the project settings of Wing IDE.

Or, you can do the following in your Python code BEFORE importing IPKISS:

import os
os.environ['LUCEDA_LOG_LEVEL'] = 'WARN'

from ipkiss3 import all as i3

What the log can tell you

The following list explains what you can expect after enabling the logging:

  1. Version and packages used (DEBUG): When DEBUG is enabled, IPKISS will print the version of each of the top-level packages that it uses (i.e., IPKISS, PICAZZO, SPECTRAL_TOOLBOX, …).

    IPKISS version X.Y.Z - copyright Luceda N.V., 2002-YYYY (i-depot BBIE 7396, 7556, 7748, 058652)
    This software package is part of a commercial product.
    It contains components and functionalities which are confidential.
    Do not distribute this code under any circumstances.
    Refer new users to sales@lucedaphotonics.com to obtain a valid license.
    
  2. Code checking (WARN): starting from the WARN level, IPKISS will give warnings about inconsistent/deprecated code. For example, when you have a property ‘length’, and use the function ‘define_length’, IPKISS will tell you that it is better to use the function name ‘_default_length’.

    Deprecation: Please use _default_length instead of define_length in class <class 'mylibrary.filters.ring.RingResonator'>