logo SERENITY
Game Systems Foundation
Search Results for

    Show / Hide Table of Contents

    Class CreateLoggingProfileWindow

    Step-by-step window for creating or updating the Logging aggregate's console sink, file sink, optional structured sink (plus its backend), and profile in one run. LoggingProfileCreator does the actual validation and generation work. The profile's get-or-create resolution goes through Serenity.Global.Infrastructure.Editor.SerenityWizardTargetAsset/Serenity.Global.Infrastructure.Editor.SerenityWizardTargetAssetGui, resolved by Serenity.Logging.Infrastructure.Editor.Builder.CreateLoggingProfileWindow._profileId WITHIN Serenity.Logging.Infrastructure.Editor.Builder.CreateLoggingProfileWindow._outputFolder rather than by type alone (see LoggingProfileCreator's type doc), so Serenity.Logging.Infrastructure.Editor.Builder.CreateLoggingProfileWindow.RefreshTarget also re-runs on an Id or folder change, not only from Open(). The three sinks stay resolved by TYPE as project-wide singletons and draw their status through LoggingProfileSinkStatusGui instead — a set of independent optional assets has no single "target" an object field could pick, mirroring Serenity.AssetPrefetcher.Infrastructure.Editor.Builder.CreatePrefetchPolicyWindow's registry/profiles split. The stepped-wizard scaffolding — the header and breadcrumb, the body scroll, the footer and its error gate, and the select-and-ping a finished run ends with — comes from Serenity.Global.Infrastructure.Editor.SerenityStepWizardWindow`1; this window declares only its own step table and what the primary action does.

    Inheritance
    object
    CreateLoggingProfileWindow
    Namespace: Serenity.Logging.Infrastructure.Editor.Builder
    Assembly: Serenity.UnityLogging.Infrastructure.Editor.dll
    Syntax
    public sealed class CreateLoggingProfileWindow : SerenityStepWizardWindow<CreateLoggingProfileWindow.WizardStep>

    Constructors

    CreateLoggingProfileWindow()

    Declaration
    public CreateLoggingProfileWindow()

    Properties

    PrimaryButtonLabel

    Re-read every repaint off Serenity.Logging.Infrastructure.Editor.Builder.CreateLoggingProfileWindow._target, so the button says "Create" or "Update" from whichever profile the current Id and folder resolve to.

    Declaration
    protected override string PrimaryButtonLabel { get; }
    Property Value
    Type Description
    string

    WindowTitle

    Declaration
    protected override string WindowTitle { get; }
    Property Value
    Type Description
    string

    Methods

    BuildSteps()

    Declaration
    protected override WizardStepDescriptor<CreateLoggingProfileWindow.WizardStep>[] BuildSteps()
    Returns
    Type Description
    WizardStepDescriptor<WizardStep>[]

    OnBeforeDrawStep()

    Adopts a target the reader picked in this same frame, before anything reads it — the seam the old OnGUI spent its first statement on, ahead of the header.

    Declaration
    protected override void OnBeforeDrawStep()

    OnPrimaryAction()

    Lands on Done through the base's UNGATED Serenity.Global.Infrastructure.Editor.SerenityStepWizardWindow`1.PingAndGoTo(System.String,`0,System.Boolean) rather than Serenity.Global.Infrastructure.Editor.SerenityStepWizardWindow`1.FinishWithAsset(System.String,`0): this wizard never latched a terminal run (it has no "Create another" restart, and its Done panel is the end of the road), and the jump it hand-rolled went straight at the controller with no gate installed.

    Declaration
    protected override void OnPrimaryAction()

    Open()

    Declaration
    public static void Open()
    In this article
    © 2026 Serenity. All Rights Reserved