Application logging


Application logging is useful for resolving unreproducible problems and issues. Thanks to the application logs our developers are able to analyse incorrect application behavior on your computer.

Enabling application logging will help when:

  • It is not possible to send a whole project.
  • Issue occurs only on a specific computer.
  • Issue cannot be reliably reproduced.
Application logging is disabled by default and has to be enabled manually.

Application logs can be send together with the crash report when application crashed or manually to our support email.

Note Because the logs can be easily read you can use them to help you with your own troubleshooting.

How to enable application logging

Skipper supports two ways how to turn logging on. You can use command line switch -log to enable logging

Skipper -log

Or you can use our built-in support for logging in a configuration window:

Open configuration screen

Turn on application logging

Note: In some special cases (like logging whole startup sequence of the application) it may be necessary to use -log switch.

Log and crash report files location

Location of the log files and crash report files depends on the platform:

Windows

C:\Users\USER\AppData\Local\Temp\Skipper\Skipper\log
C:\Users\USER\AppData\Local\Temp\Skipper\Skipper\CrashReports

Linux

/tmp/Skipper/log
/tmp/Skipper/CrashReports

MacOS

/var/folders/rf/xxxx/T/Skipper/log
/var/folders/rf/xxxx/T/Skipper/CrashReports

What is Skipper logging

Log files contain information about operations that Skipper performs during the work with your model. No part of your model files is sent. Skipper report system does not send any of your schema files, PHP; files or project files.

Information contained in a log file is the time-stamp, operation name, names of your files (but not their content) or SQL queries.

You can check the log files for yourself, they are stored as .txt and not encoded. If you want to send us a log file but you want to check it first, feel free to open it, edit/remove any information you want and send us the updated file.

Log file structure

There are two different log files. One contains list of actions which Skipper performed during its execution. The second log contains any executed SQLite queries. Both files are in format

OutputText/Command [YYYY-MM-DD HH-MM-SS code_lcation]

For example here is a part of log file with Skipper initialization:

Starting application [Skipper 2] version [2.1.12.719]
[2013-10-14 16:59:29 int Atomix::CApplication::ExecuteApplication(CApplication \*)]

Breakpad installed.
[2013-10-14 16:59:29 \axQtCrashHandler\CrashHandler.cpp, line: 169]

- ReportPath [C:\Users\LUDEK~1.VOD\AppData\Local\Temp\Skipper\CrashReports]
[2013-10-14 16:59:29 \axQtCrashHandler\CrashHandler.cpp, line: 170]

- ReportApp [T:\Skipper-719\Skipper.exe]
[2013-10-14 16:59:29 \axQtCrashHandler\CrashHandler.cpp, line: 171]

CrashHandler for Windows initialized.
[2013-10-14 16:59:29 \axQtCrashHandler\CrashHandler.cpp, line: 95]

Loading ORMD configuration [Configurations/Frameworks/CakePHP.skipper.cfg.xml]
[2013-10-14 16:59:34 void COrmdCfgLoader::LoadConfiguration(class CXmlManipulator &)]

Loading ORMD configuration [Configurations/Frameworks/Doctrine.skipper.cfg.xml]
[2013-10-14 16:59:34 void COrmdCfgLoader::LoadConfiguration(class CXmlManipulator &)]

As you can see, log files are user-readable and contain only information about our application necessary for troubleshooting.