# Troubleshooting

### Troubleshoot Scripts and Workflows

#### What logs are available in the Valuation Editor?

In the Valuation Editor you have have access to the logs that are recorded when a script or a workflow is executed. Depending on how you call those scripts and workflows, the following logs are available.

##### Logs of scripts or workflows launched from the Run Configuration

These are available by running the following command in the Terminal:

tail -f /logs/pricingLogs/pricing.log

The tail command with -f option gives the latest entries of the log file updated in real-time.

##### Logs of a scripts launched from the Test Framework

When executing a test on a script, logs are displayed in the LOGS section of the Log area, as explained in the Test Framework tutorial.

##### Logs of scripts or workflows called with REST calls

After you deploy your library, your scripts and workflows are exposed as REST endpoints that you can call with your custom clients. These calls are logged separately, and you can get them by running the following command in the Terminal:

tail -f /logs/cargo/server.log

#### Can I log events from my workflows?

1. In your box file X.box enter the following code.
...
// create a slf4j logger
def log = org.slf4j.LoggerFactory.getLogger("com.trmsys.X.box")
...
// pass something to the logger
log.info("my first INFO log: {}", 42)
log.error("my first ERROR log: {}", "an error occurred there")
...
1. Execute your workflow and open the corresponding log. A message similar to the following is displayed.
...INFO  com.trmsys.X.box - my first INFO log: 42
...ERROR com.trmsys.X.box - my first ERROR log: an error occurred there
1. In your java class file Y.java enter the following code.
package X
...
//import logger packages
import org.slf4j.Logger;
import static org.slf4j.LoggerFactory.getLogger;
...
public class Y {
public static void main(...) {
// create a slf4j logger
public static final Logger logger = getLogger("com.trmsys.X.Y");
...
// pass something to the logger
logger.info("my first INFO log: {}", 42);
logger.warn("my first WARN log: {}", "a warning occurred there");
...
}
1. Make sure you use the Y class in your box.
2. Execute your workflow and open the corresponding log. A message similar to the following is displayed
...INFO com.trmsys.X.Y - my first INFO log: 42
...WARN com.trmsys.X.Y - my first WARN log: a warning occurred there

### Troubleshoot Excel Valuation Plugin

#### Why are the FPP functions listed multiple times?

Check the files in the directory C:\Users\username\AppData\Roaming\Microsoft\Excel\XLSTART. All the files in this directory are used by Excel, even those without the extension .xlam. You may have multiple versions of the same file that provides the definition of the functions listed more than once.