Skip to content

SAIF.Framework.Logging dependencies

Internal dependencies

Dependency Type Usage
SAIF.Framework.Mail Internal clsLogError.CreateErrorWithEmail instantiates SAIF.Framework.Mail.SAIFMail.clsSAIFMessage and calls .SendMail(...) to email error notifications.
SAIF.Framework.Security Internal Imports SAIF.Framework.Security; used for clsSecurityPrincipal (New clsSecurityPrincipal(clsSecurityPrincipal.Platform.Web/Windows), .IsAuthenticated, .UserName, .Instance, .CurrentThreadUser) to capture the current user's identity for inclusion in audit/error/trace log records, and for AppGlobal.EnvironmentService.
SAIF.Framework.Security.EnvironmentApi Internal AppGlobal.EnvironmentService.GetConfigSetting(...) / GetApplicationEnvironment() / ToDevelopmentEnvironment(...) resolve environment-specific configuration (notably the wsLogging service URL) used by clsLogAudit, clsLogError, and clsLogTrace. See Configuration for the verified loggingServiceUrl, legacyMailServiceUrl, QueueServer, and QueueName settings catalog.

External dependencies

Dependency Version Usage
System framework-standard Base class library types (Exception, IO.StreamWriter, etc.).
System.Configuration framework-standard ConfigurationManager.AppSettings reads in clsLoggingQueues (QueueServer/QueueName keys).
System.Data framework-standard Referenced in the .vbproj; no direct usage of System.Data types found in scanned code — likely a vestigial reference*.
System.EnterpriseServices framework-standard Referenced in the .vbproj; no direct usage found in scanned code — likely a vestigial reference*.
System.Messaging framework-standard Referenced in the .vbproj; clsLoggingQueues only builds an MSMQ path string and never opens a System.Messaging.MessageQueue — no direct queue I/O found in this library*.
System.Web framework-standard HttpContext.Current used by clsLogCommon.IsWeb and clsLoginLog to detect web hosting context and read request/server info.
System.Web.Services framework-standard Base type (SoapHttpClientProtocol) for the generated wsLogging.clsWSLogging SOAP client proxy.
System.Xml / System.Xml.Linq framework-standard Referenced in the .vbproj; no direct usage found in scanned live code, possibly used only transitively by the generated Reference.vb proxy*.
System.Core / System.Data.DataSetExtensions framework-standard Standard project-template references; no direct usage found in scanned code*.
Microsoft.VisualBasic framework-standard Imported for VB runtime helpers; Microsoft.VisualBasic.Logging.FileLogTraceListener is also referenced in app.config as a standard VB "My.Application.Log" scaffold, not actively invoked by any reviewed class*.

Dependency risks and notes

  • Tight coupling to sibling framework libraries: clsLogAudit, clsLogError, and clsLogTrace directly construct clsSecurityPrincipal and reference AppGlobal.EnvironmentService rather than depending on abstractions, coupling this "framework" library to concrete implementations in SAIF.Framework.Security and SAIF.Framework.Security.EnvironmentApi*.
  • Remote SOAP web-service dependency: the default logging sink is wsLogging.clsWSLogging, a generated SOAP/ASMX client proxy targeting a legacy web service. Its default design-time endpoint (http://webdev01/webservices/wslogging/clswslogging.asmx, from app.config/Settings.Designer.vb) is overridden at runtime via AppGlobal.EnvironmentService.GetConfigSetting(EnvironmentConfigKeys.LoggingServiceUrl). The exact key name/value of LoggingServiceUrl is defined outside this library and was not verified**.
  • Server-side persistence of the wsLogging service is unknown: whether the remote web service ultimately writes audit/error/trace records to a database, flat file, or elsewhere is outside this repository/library and could not be verified**.
  • Vestigial or unused project references: System.Data, System.EnterpriseServices, System.Messaging, System.Xml, and System.Xml.Linq are declared in the .vbproj but no direct usage of their types was found in the scanned live code; these may be vestigial or used only transitively by the generated web-service proxy*.
  • MSMQ path formatting only, no queue I/O: clsLoggingQueues.GetQueueName() formats a FormatName:DIRECT=OS:{server}\{queue} string but never opens or writes to a System.Messaging.MessageQueue; the actual queue producer/consumer is presumably implemented elsewhere and could not be confirmed from this library's source**.
  • Email dependency is conditional: the SAIF.Framework.Mail dependency is only exercised via clsLogError.CreateErrorWithEmail, a secondary entry point; the primary CreateError path does not depend on SAIF.Framework.Mail.
  • Best-effort/fail-silent logging masks dependency failures: all logging entry points wrap execution in Try...Catch with empty/'gobble gobble catch blocks, so failures in any dependency (SOAP call, file I/O, mail send) are silently swallowed and never surfaced to the caller — this reduces reliability visibility when a dependency (e.g., wsLogging or the mail service) is unavailable.

Note: Statements marked with * were inferred from code structure, naming conventions, or contextual evidence where direct confirmation was not available in source artifacts. Statements marked with ** could not be confirmed; treat as unknown until verified.

Sources

  • SAIF.Framework.Logging/clsLogAudit.vb
  • SAIF.Framework.Logging/clsLogCommon.vb
  • SAIF.Framework.Logging/clsLogError.vb
  • SAIF.Framework.Logging/clsLoggingQueues.vb
  • SAIF.Framework.Logging/clsLoginLog.vb
  • SAIF.Framework.Logging/clsLogTrace.vb
  • SAIF.Framework.Logging/Web References/wsLogging/Reference.vb
  • SAIF.Framework.Logging/SAIF.BOF.Framework.Logging.vbproj
  • SAIF.Framework.Logging/app.config
  • SAIF.Framework.Logging/My Project/Settings.Designer.vb