Where to search Katalon Execution Run Logs?

Where would I go to find a searchable flat file the output of the Katalon Studio run log?

The script I’m running is intentionally extremely chatty for debugging purposes, and it’s often quite hard to find the exact keyword(s) I’m looking for to determine what cause a particular activity to go wrong.

Given that the LogViewer does not have search capability (a bit crazy if you ask me), is there a flatfile location where I can open the run log up in notepad to run a text search?

Did multiple Google searches and they all ended up at the Katalon Wiki, which makes no mention of this.

I made a Katalo project “test” which contains a test case “chatty”, which is enclosed in a test suite “TS1”. I ran the TS1. I got some files in the “Reports” folder, as follows.

.
├── Checkpoints
├── Data Files
├── Drivers
├── Include
├── Keywords
├── Libs
├── Object Repository
├── Plugins
├── Profiles
├── Reports
│   ├── 20230124_084018
│   │   └── TS1
│   │       └── 20230124_084018
│   │           ├── 20230124_084018.csv
│   │           ├── 20230124_084018.html
│   │           ├── JUnit_Report.xml
│   │           ├── execution.properties
│   │           ├── execution.uuid
│   │           ├── execution0.log     <=== THIS IS IT!
│   │           ├── testCaseBinding
│   │           └── tsc_id.txt
│   └── Self-healing
│       └── broken-test-objects.json
├── Scripts
├── Test Cases
│   ├── chatty.tc
├── Test Listeners
├── Test Suites
│   ├── TS1.groovy
│   └── TS1.ts
├── bin
├── build.gradle
├── console.properties
├── settings
├── test.prj

You would find a file named “execution0.log”. This is the log file you want.

The execution0.log file is in XML like this:

...
<record>
  <date>2023-01-24T08:40:33</date>
  <millis>1674517233420</millis>
  <sequence>3003</sequence>
  <level>INFO</level>
  <class>com.kms.katalon.core.logging.XmlKeywordLogger</class>
  <method>logMessage</method>
  <thread>1</thread>
  <message>998: Hello, world,</message>
  <nestedLevel>1</nestedLevel>
  <escapedJava>false</escapedJava>
</record>
...

The files in the “Reports” folder will be created by running a Test Suite.


A Test Case run won’t produce log files in the “Reports” folder. If you ran the test case “chatty” without Test Suite, where is the execution0.log file? ---- I don’t know. Probablly the file is created in a temporary directory; and its location is not documented.

Perhaps the file will be located in a temporary directory of the Java VM. You can retreive the path of the temp dir by the following code:

import java.nio.file.Files
import java.nio.file.Path

Path tmpDir = Files.createTempDirectory("T");
System.out.println tmpDir.toAbsolutePath().toString()  // e.g. /var/folders/7m/lm7d6nx51kj0kbtnsskz6r3m0000gn/T/T5966623695376206243

I doubt.
Test Case execution messages are handled by a certain logger, which, most probably, does not have a file handler appended, so the information is available in UI only.
Perhaps the data it is cached somewhere (it should be) but I don’t think it is stored as plain text.
I have no idea if (and how) the loggers can be manipulated to add a file handler, but if somebody have enough time and patience to play with this … it is welcomed.

I have a Katalon project named “test”.
The test project has a test case named TC1.
I executed the TC1.

In the projectDir/Libs directory, I found a file named TempTestCase1674562225365.groovy was created. I found that this .groovy file is generated by Katalon Studio out of the source code of TC1. This .groovy file contained a line

...
RunConfiguration.setExecutionSettingFile('/var/folders/7m/lm7d6nx51kj0kbtnsskz6r3m0000gn/T/Katalon/Test Cases/TC1/20230124_211025/execution.properties')
...

I guessed that all information about the runtime environment for the TC1 would be stored in the folder /var/folders/7m/lm7d6nx51kj0kbtnsskz6r3m0000gn/T/Katalon/Test Cases/TC1/.

I looked at the folder. It looked like this:

$ tree .
.
└── TC1
    └── 20230124_211025
        ├── execution.properties
        └── execution0.log                <= HERE IT IS

In there I could find the log of the test case TC1.