---
title: SAIF.Framework.Logging configuration settings
summary: Configuration keys consumed by this library, retrieval methods, and runtime dependencies.
status: draft
owner: <owner>
last_reviewed: 2026-07-24
library: SAIF.Framework.Logging
reference_type: package
---

# SAIF.Framework.Logging configuration settings

SAIF.Framework.Logging consumes configuration through two live runtime mechanisms: `AppGlobal.EnvironmentService.GetConfigSetting(...)` for service endpoints and `ConfigurationManager.AppSettings` for MSMQ path components. Four unique runtime keys were confirmed (`loggingServiceUrl`, `legacyMailServiceUrl`, `QueueServer`, and `QueueName`), and the generated `wsLogging` proxy also carries a typed `ApplicationSettingsBase` default endpoint setting (`SAIF_Framework_Logging_wsLogging_clsWSLogging`) in `app.config` and `My.Settings`.

## Configuration retrieval methods

| Method | Class / Interface | Namespace | Usage pattern |
| --- | --- | --- | --- |
| `GetConfigSetting(...)` | `AppGlobal.EnvironmentService` | `SAIF.Framework.Security` | `clsLogAudit`, `clsLogError`, and `clsLogTrace` resolve `loggingServiceUrl`; `clsLogError.CreateErrorWithEmail` also resolves `legacyMailServiceUrl`. |
| `ConfigurationManager.AppSettings` | `ConfigurationManager` | `System.Configuration` | `clsLoggingQueues` resolves `QueueServer` and `QueueName`, with hard-coded fallbacks when the keys are absent. |
| `ApplicationSettingsBase` | `My.MySettings` | `SAIF.Framework.Logging.My` | The generated `wsLogging` proxy reads `SAIF_Framework_Logging_wsLogging_clsWSLogging` as its design-time default endpoint. |

## Environment API settings

Settings retrieved via `IEnvironmentService` (centralized environment configuration service).

| Setting key | Method | Data type | Purpose | Consuming class | Source |
| --- | --- | --- | --- | --- | --- |
| `loggingServiceUrl` | `GetConfigSetting` | URL string | Targets the remote `wsLogging` SOAP endpoint used for audit, error, and trace log dispatch. | `clsLogAudit`, `clsLogError`, `clsLogTrace` | `SAIF.Framework.Logging\clsLogAudit.vb`; `SAIF.Framework.Logging\clsLogError.vb`; `SAIF.Framework.Logging\clsLogTrace.vb`; `SAIF.Framework.Security.EnvironmentApi\Services.Common\EnvironmentConfigKeys.cs` |
| `legacyMailServiceUrl` | `GetConfigSetting` | URL string | Supplies the base mail-service endpoint used by `CreateErrorWithEmail`, which appends `?op=SendMail` before invoking the generated SOAP client. | `clsLogError` | `SAIF.Framework.Logging\clsLogError.vb` |

## AppSettings (Web.config)

Settings retrieved via `ConfigurationManager.AppSettings`.

| Setting key | Default value | Purpose | Consuming class | Source |
| --- | --- | --- | --- | --- |
| `QueueServer` | Not declared in `app.config`; code fallback `MQPROD` | Provides the server portion of the formatted MSMQ path returned by `GetQueueName()`. | `clsLoggingQueues` | `SAIF.Framework.Logging\clsLoggingQueues.vb` |
| `QueueName` | Not declared in `app.config`; code fallback `logging` | Provides the queue-name portion of the formatted MSMQ path returned by `GetQueueName()`. | `clsLoggingQueues` | `SAIF.Framework.Logging\clsLoggingQueues.vb` |

## Database connection configuration

Connection strings and database provider settings consumed by this library.

None detected.

## Secure settings

Settings that require decryption or credential retrieval.

None detected.

## Transitive configuration (from dependencies)

Settings required at runtime by referenced libraries or packages, not directly consumed by this library's code.

None detected.

## Configuration dependencies

| Dependency | Type | Required at | Impact if missing |
| --- | --- | --- | --- |
| `loggingServiceUrl` | service endpoint | runtime | Audit, error, and trace logging cannot reach the remote `wsLogging` sink when this value is missing or incorrect. |
| `legacyMailServiceUrl` | service endpoint | runtime | `CreateErrorWithEmail` cannot send notification mail when this value is missing or incorrect. |
| `QueueServer` | AppSettings key | runtime | `clsLoggingQueues` falls back to `MQPROD`, so callers receive a default queue path instead of an environment-specific server name. |
| `QueueName` | AppSettings key | runtime | `clsLoggingQueues` falls back to `logging`, so callers receive a default queue path instead of an environment-specific queue name. |
| `SAIF_Framework_Logging_wsLogging_clsWSLogging` | `applicationSettings` entry | runtime | Provides the generated proxy's design-time default `wsLogging` URL before `loggingServiceUrl` overrides it. |

## Related documentation
- [Library index](index.md)
- [Overview](overview.md)
- [Architecture](architecture.md)
- [Dependencies](dependencies.md)
- [Operations and processes](operations-processes.md)
- [Business rules](business-rules.md)
- [API reference](api/index.md)

<!-- Omit configuration.md — that is this page. -->

## Sources
- `SAIF.Framework.Logging\app.config`
- `SAIF.Framework.Logging\clsLogAudit.vb`
- `SAIF.Framework.Logging\clsLogError.vb`
- `SAIF.Framework.Logging\clsLogTrace.vb`
- `SAIF.Framework.Logging\clsLoggingQueues.vb`
- `SAIF.Framework.Logging\My Project\Settings.Designer.vb`
- `SAIF.Framework.Logging\Web References\wsLogging\Reference.vb`
- `SAIF.Framework.Security.EnvironmentApi\Services.Common\EnvironmentConfigKeys.cs`
