PowerShell Universal
DownloadsIssuesDiscordForums
v1
v1
  • About
  • Get Started
    • Additional Resources
    • Installation
      • Docker
      • Upgrading
    • Licensing
    • System Requirements
    • Supported Browsers
    • Visual Studio Code Extension
  • Cmdlet Help
  • Examples
    • Active Directory
    • Hyper-V
    • Image Processing
    • Monitoring
    • PowerShell Protect
    • Slack
    • SQL
  • API
    • About
    • Development
    • Endpoints
    • Security
    • Error Handling
    • Rate Limiting
  • Automation
    • About
    • Development
    • Scripts
      • Parameters
    • Jobs
    • Schedules
    • Triggers
    • Variables
  • Dashboard
    • About
    • Development
    • Dashboards
      • Migrating From Universal Dashboard 2.9
      • Building Dashboards
      • Custom Variable Scopes
    • Frameworks
    • Components
      • Pages
      • Dynamic Regions
      • Element
      • Error Boundary
      • HTML
      • Building Custom Components
      • Data Display
        • Alert
        • Chip
        • Date and Time
        • Icon
        • List
        • Table
        • Tree View
        • Typography
      • Data Visualization
        • Charts
        • Map
      • Feedback
        • Backdrop
        • Modal
        • Progress
        • Skeleton
      • Inputs
        • Autocomplete
        • Button
        • Checkbox
        • Code Editor
        • Date Picker
        • Floating Action Button
        • Form
        • Radio
        • Select
        • Slider
        • Switch
        • Textbox
        • Time Picker
        • Upload
      • Navigation
        • Drawer
        • Stepper
        • Tabs
      • Layout
        • Grid Layout
        • Grid
        • Hidden
      • Utilities
        • Transitions
      • Surfaces
        • AppBar
        • Card
        • Paper
        • Expansion Panel
    • Interaction
    • Published Folders
    • Themes
      • Cascading Style Sheets
      • Styles
    • Scheduled Endpoints
    • Role Based Access
    • Marketplace
  • Platform
    • Cache
    • Monitoring
  • Configuration
    • About
    • API
    • Environments
    • Hosting
      • IIS
      • Single-File
    • Login Page
    • Management API
    • Settings
    • Security
      • App Tokens
      • OpenID Connect
      • WS-Federation
    • Running as a Service Account
    • Git
  • Debugging
    • Logging
    • Debugging Scripts
  • Changelog
  • Extension Changelog
  • Legacy Universal Dashboard Docs
Powered by GitBook

PowerShell Universal

  • Downloads
  • Pricing
  • Gallery

Community

  • Issues
  • Forums
  • Discord

Support

  • Portal
  • Knowledgebase

Copyright 2025 Ironman Software

On this page
  • Changing the Logging Level
  • Changing the Logging Path
  • Logging in IIS
  • Event Logs
  • Common Logging Scenarios
  • Out of Process Startup Failure in IIS
  • Did not receive port from client process

Was this helpful?

Edit on Git
Export as PDF
  1. Debugging

Logging

Information about logging in PowerShell Universal.

PreviousGitNextDebugging Scripts

Last updated 4 years ago

Was this helpful?

Logging is controlled back the . By default, logging is enabled for the Information level and above. Also by default, logs are written to the %ProgramData%\PowerShellUniversal folder.

Changing the Logging Level

To adjust the logging level, change the values in the appsettings.json file in the Logging LogLevel section.

For example, to enable debug logging, set all the levels to debug.

"Logging": {
    "Path":"%HOME%/.PowerShellUniversal/log.txt",
    "LogLevel": {
    "Default": "Debug",
    "Microsoft": "Debug",
    "Microsoft.Hosting.Lifetime": "Debug"
    }
  },

This setting can also be set using environment variables. These values need to be set before starting the Universal server.

$Env:Logging__LogLevel__Default = "Debug"

Changing the Logging Path

To adjust the logging path, change the values in the appsettings.json file in the Logging Path section.

  "Logging": {
      "Path":"C:\log.txt",
      "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
      }
    },

This setting can also be set using environment variables. These values need to be set before starting the Universal server.

$Env:Logging__Path = "C:\log.txt"

Logging in IIS

In addition to the logs produced by the Universal server, you can also retrieve log files produced by IIS. Log files for IIS are configured in the web.config file that is provided by Universal. By default, these logs are in the base website directory's log folder.

You can disable these logs by setting stdoutLogEnabled to false.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="aspNetCore" path="*" verb="*" modules="AspNetCoreModuleV2" resourceType="Unspecified" />
    </handlers>
    <aspNetCore processPath=".\Universal.Server" arguments="" forwardWindowsAuthToken="false" stdoutLogEnabled="true" stdoutLogFile=".\logs\log" hostingModel="OutOfProcess" />
  </system.webServer>
</configuration>
<!--ProjectGuid: 588ACF2E-9AE5-4DF1-BC42-BCE16A4C4EDE-->

Event Logs

Universal will create event log entries for Warning and Error logs. These logs are typically produced by unhandled exceptions that crash the process or by errors thrown by the Universal web host.

These logs can be found by looking for Warning and Error level messages produced by the .NET Runtime source.

Common Logging Scenarios

Out of Process Startup Failure in IIS

It may also be helpful to run the Universal server outside of IIS to validate that the server can properly run Universal.

Did not receive port from client process

Universal uses gRPC to communicate with external PowerShell processes that are started by the system. These processes run jobs, dashboards and the API server. This error indicates that the PowerShell process did not start correctly.

This error is produced when the IIS server fails to start Universal. The problem can be diagnosed by looking in the and the .

To diagnosis this issue, for the Universal server. Debug logging will record the stdout from the PowerShell process to capture any startup errors that may be occurring in the process.

application settings
logs produced by Universal
stdout logs produced by IIS
enable Debug logging