SOT
    • Introduction
    • Release notes
      • Breaking changes
    • User manual
      • Introduction
      • Navigating Industrial Application System
        • Navigation menu
        • Header
        • Managing favorite menu entries
      • Dashboards
        • Creating a dashboard space
        • Sharing a dashboard space
        • Creating a dashboard
        • Editing a dashboard
        • Applying dashboard filters and templates
        • Marking dashboards as favorites
        • Adding Web Portal widgets
      • User profile
      • Support
      • User help
      • Screen display modes
      • System information
      • System Settings
        • Footer and Privacy
        • Skinning
        • Navigation Menu
    • Operations manual
      • Overview
      • System architecture and interfaces
      • System requirements
        • portal/coreservice
      • Migration from previous versions
        • From 5.24 to 5.25
        • From 5.23 to 5.24
        • From 5.22 to 5.23
        • IAS 2025.01.00 (Portal 5.20)
        • From 5.15 to 5.16
        • Helm job for database migration (>5.15)
        • From 5.14 to 5.15
        • From 5.13 to 5.14
        • From 5.12 to 5.13
        • From 5.11 to 5.12
        • From 5.10 to 5.11
        • From 5.9 to 5.10
        • From 5.8 to 5.9
        • From 5.7 to 5.8
        • From 5.6 to 5.7
        • From 5.5 to 5.6
        • From 5.3 to 5.4
        • From 5.1 to 5.2
        • Resource mapping from MES to IAS
      • Setup and configuration
        • Permission and roles
        • Support section
        • Training & documentation section
        • Legal information and footer section
        • Cookies
        • Secure configuration
        • Configuration of sections in menu
        • API documentation - footer configuration
        • Environment variables
          • Global variables
          • portal/coreservice
          • portal/systemtests
          • Application variables exposed in Helm chart
      • Start and shutdown
        • Startup dependencies
        • Background tasks
        • Health and availability APIs
      • Regular operations
        • Removing / deregister / unregister a module
        • User data deletion
      • 09_failure_handling/index.adoc
      • Backup and Restore
      • Logging and monitoring
      • Known limitations
    • Developer documentation
      • Concepts
        • General
        • Navigation
        • Dashboard
        • Cross-module communication
        • Documents
        • Security
        • Limitations
      • How to…​
        • register your module & views
        • implement context contribution
        • develop a Web Portal-compatible frontend
        • use the iframe integration library
        • build widgets
        • check the integration status
        • improve UI performance
      • Troubleshooting
    • API documentation
    • Glossary
Web Portal
  • Smart Operations Toolkit
    • Deviation Processor
    • Multitenant Access Control
    • Notification Service
    • Ticket Management
    • Web Portal
  • Shopfloor Management
    • Andon Live
    • KPI Reporting
    • Operational Routines
    • Shift Book
    • Shopfloor Management Administration
  • Product & Quality
    • Process Quality
    • AI Services
  • Machine & Equipment
    • Condition Monitoring
    • Device Portal
  • Enterprise & Shopfloor Integration
    • Information Router
    • Master Data Management

SOT Learning Portal

  • Web Portal
  • Operations manual
  • Logging and monitoring

Logging and monitoring

The services log to std:out. Monitoring solutions such as Elasticsearch and Kibana elk can be attached.

The logging can be enabled as described for the individual containers in Setup and configuration.

Security logging

The following security related events according the NEXEED logging guidelines are logged: - INPUT_VALIDATION_FAILED - ENDPOINT_DOES_NOT_EXIST - UNAUTHORIZED_ACCESS - UNAUTHENTICATED_ACCESS - TLS_DISABLED* - INVALID_SCOPE - GRANT_UNSUPPORTED

*The TLS_DISABLED event is logged when the Web Portal itself is not configured to listen on HTTPS or does not use a secured communication to the database and message broker

Database migration logging

Database migration logs are now managed through lifecycle logging, ensuring structured and consistent tracking of migration events. These logs provide visibility into the migration process, helping to confirm successful updates or diagnose failures. The following lifecycle log events are recorded:

DATA_MIGRATION_STARTED: Logged at the start of the migration process. DATA_MIGRATION_SUCCESSFUL: Logged upon successful completion of the migration. DATA_MIGRATION_FAILED: Logged when a migration fails, including error details.

IAS logging guidelines configuration

The Web Portal follows IAS logging guidelines with the following logger level configuration:

  • Default -> Warning (guideline level: WARN)

  • SECURITY -> Information (guideline level: INFO)

  • LIFE-CYCLE -> Information (guideline level: INFO)

The SECURITY and LIFE-CYCLE logger levels are required to be set at Information level as per IAS logging guidelines.

Runtime log level changes

Web Portal supports runtime log-level changeswithout restarting the pod.

The following endpoint is available for operators:

  • GET /api/v1/logging reads the current dynamic logging configuration.

  • PUT /api/v1/logging updates the dynamic logging configuration.

The endpoint is protected by resource authorization and requires the logging resource with read and modify privileges.

The ConfigMap name is a constant: dynamic-logging-configmap.

Runtime settings are read from DynamicLogLevelSettings:

  • WatchTimeoutSeconds (default: 1800)

  • MaxRetryDelaySeconds (default: 60)

  • PodNamespace (required in Kubernetes)

The ConfigMap payload key is logging-config.json and must contain DynamicLogLevelConfiguration entries for one or more services.

By default, the delivered Helm configuration keeps DynamicLogLevelConfiguration empty. Add entries only when a temporary runtime log-level override is required.

Each entry has:

  • ServiceName — The service name to match (compared case-insensitively against the service name). Set to null or omit for a default/fallback entry.

  • ValidUntil — DateTimeOffset after which the entry expires and the dynamic log levels are cleared automatically.

  • DynamicLogLevel — Dictionary of category to log level. Supported levels: TRACE, DEBUG, INFO / INFORMATION, WARN / WARNING, ERROR, FATAL / CRITICAL, OFF / NONE.

Service matching logic: the hosted service first looks for an entry whose ServiceName matches the running service. If none is found, it falls back to the first entry with a null or empty ServiceName (the default entry). If neither exists, the dynamic logging configuration is cleared.

Example payload format for an active override:

{
	"DynamicLogLevelConfiguration": [
		{
			"ServiceName": "Bosch.Nexeed.WebPortal.CoreService",
			"ValidUntil": "2026-06-30T23:59:59+00:00",
			"DynamicLogLevel": {
				"Default": "INFO",
				"Microsoft": "INFO",
				"Bosch": "INFO"
			}
		}
	]
}

After troubleshooting, remove the entry again or let it expire via ValidUntil.

Troubleshooting

If runtime log-level updates are not applied:

  • verify Core Service environment variables under DynamicLogLevelSettings are set correctly,

  • verify the dynamic-logging-configmap exists in the service namespace,

  • verify the Core Service service account has get, list, watch, and update permissions for ConfigMaps,

  • verify the request user has a role granting logging resource permissions.

Contents

© Robert Bosch Manufacturing Solutions GmbH 2023-2026, all rights reserved

Changelog Corporate information Legal notice Data protection notice Third party licenses