Logs and unsupported features report

Deployment log

When you deploy an application, the output panel shows all the build and deployment actions occurred during the process.

You may also find the log file at \Program Files (x86)\Appeon\PowerBuilder 21.0\log.

Unsupported features report

If you enable the “During compilation, report unsupported PowerScript features for PowerServer deployment”, PowerServer Compiler will catch and report PowerScript features that are currently unsupported by PowerServer. You can make changes into PowerScript accordingly.

View the unsupported PowerScript features in Output > Unsupported (DWs) tab or Unsupported (PowerServer) tab:

Web file download log

When you launch an installable cloud app at the client side, Cloud App Launcher is first downloaded and installed, and then the app files. The download log of all the web files can be found at the client side, the Cloud App Launcher:

For Cloud App Launcher without background service, the log file CloudAppShell.log is at %LocalAppData%\Launcher\log;

For Cloud App Launcher with background service, the log file CloudAppShell.log is at %LocalAppData%\LauncherWithService\log;

The app file download logs are at %AppData%\PBApps\Applications\\log.

Debugging log in SnapDevelop

If you select Start Debugging in SnapDevelop to start ServerAPIs.exe, when an installable cloud app calls PowerServer services, the Output panel in SnapDevelop will show the relevant debugging information.

Tip: You can look for "SQL:" keyword in the output for the SQL syntax that PowerServer sends to the database for execution.

PowerServer logs

Log4net logging

PowerServer Web APIs adopts the Log4net logging framework for logging. The PowerServer log files are stored in the Web API bin folder (make sure you have permissions to write into the folder), for example, \ServerAPIs\bin\Debug\netcoreapp3.1\log. The log4net.config file controls which folder under \bin\Debug\netcoreapp3.1\log to save the log files in and the log file name. For example:

<file value="log\PowerServerAPI.log" />
//The log file will be rolled based on a size constraint (maximumFileSize)
<maximumFileSize value="100KB" />

The event levels (minor to major) include debug, info, Warn, ERROR, and FATAL (case insensitive). By default, the minimum level to be logged is ERROR. If you need more detailed log, you may change to debug. The level change can be made at runtime (no need to restart the server).

<param name="LevelMin" value="Error" />  <param name="LevelMax" value="FATAL" />

The following is a sample log:

2021-03-05 09:09:09,080 ERROR PowerServerApi.ServerApiController.LogMessage [0] - MESSAGE: RequestId: CE1A2E41-0C93-4ff9-80FB-F98B096D4176, ErrorMessage: The INSERT statement conflicted with the CHECK constraint "check_age". The conflict occurred in database "Qa_datawindow", table "dbo.t_update_forcheck", column 'age'.

The statement has been terminated.

Logging with the settings in appsettings.Development.json

The appsettings.Development.json file contains the settings of the logs to display in the console window when the server APIs start to run. You mainly configure the log level here.

  "Logging": { 
    "LogLevel": { 
      "Default": "DEBUG", 
      "System": " Information "
      "Microsoft": "Information"

For example, if you do not want to output logs at the Information level (more detailed level), you can change the System setting in the file from "Information" to "Error".