docs.unity3d.com
    Show / Hide Table of Contents

    Class SinkSystemBase

    Base Sink class that implements SinkSystemBase

    Inheritance
    Object
    SinkSystemBase
    FileSinkSystem
    StdOutSinkSystem
    StringSink
    UnityDebugLogSink
    UnityEditorConsoleSink
    Inherited Members
    Object.ToString()
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.ReferenceEquals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Namespace: Unity.Logging.Sinks
    Syntax
    [BurstCompile]
    public abstract class SinkSystemBase : IDisposable

    Fields

    Handle

    Logger's handle that owns the sink

    Declaration
    protected LoggerHandle Handle
    Field Value
    Type Description
    LoggerHandle

    IsInitialized

    True if Sink was initialized and can run 'Update'

    Declaration
    protected bool IsInitialized
    Field Value
    Type Description
    Boolean

    SinkId

    Id of this sink in the logger

    Declaration
    public int SinkId
    Field Value
    Type Description
    Int32

    SystemConfig

    SinkConfiguration that was used to setup the sink

    Declaration
    protected SinkConfiguration SystemConfig
    Field Value
    Type Description
    SinkConfiguration

    Methods

    Dispose()

    See IDisposable. Used to dispose all the resources associated with this sink.

    Declaration
    public virtual void Dispose()
    Implements
    IDisposable.Dispose()

    GetMinimalLogLevel()

    Get minimal log level that this Sink is interested in

    Declaration
    public LogLevel GetMinimalLogLevel()
    Returns
    Type Description
    LogLevel

    Minimal log level that this Sink is interested in

    Initialize(Logger, SinkConfiguration)

    Method to initialize the sink

    Declaration
    public virtual void Initialize(Logger logger, SinkConfiguration systemConfig)
    Parameters
    Type Name Description
    Logger logger

    Parent Logger

    SinkConfiguration systemConfig

    SinkConfiguration-inherited class that contains specialized configurations for the sink

    Exceptions
    Type Condition
    Exception

    If logger.Handle.IsValid is false

    NeedsStackTrace()

    Returns true if this sink is interested in the stack traces.

    Declaration
    public bool NeedsStackTrace()
    Returns
    Type Description
    Boolean

    Returns true if this sink is interested in the stack traces.

    OnSinkFatalError(FixedString512Bytes)

    If any error happens - this method will self-log it and set IsInitialized to false, disabling the sink

    Declaration
    protected void OnSinkFatalError(FixedString512Bytes reason)
    Parameters
    Type Name Description
    FixedString512Bytes reason

    User facing error message

    ScheduleUpdate(LogControllerScopedLock, JobHandle)

    Schedule update for this sink. Usually schedules an internal SinkJob.

    Declaration
    public virtual JobHandle ScheduleUpdate(LogControllerScopedLock lock, JobHandle dependency)
    Parameters
    Type Name Description
    Unity.Logging.Internal.LogControllerScopedLock lock

    Lock to access to LogController

    JobHandle dependency

    Input dependency that should be done before this job

    Returns
    Type Description
    JobHandle

    Job handle for the SinkJob

    SetMinimalLogLevel(LogLevel)

    Set minimal log level that this Sink is interested in

    Declaration
    public void SetMinimalLogLevel(LogLevel minimalLevel)
    Parameters
    Type Name Description
    LogLevel minimalLevel

    LogLevel to set as a minimal level

    ToSinkStruct()

    SinkStruct that is burst-compatible struct that represents this sink

    Declaration
    public virtual LogController.SinkStruct ToSinkStruct()
    Returns
    Type Description
    LogController.SinkStruct

    SinkStruct struct of this sink


    Did you find this page useful? Please give it a rating:

    Thanks for rating this page!

    Report a problem on this page

    What kind of problem would you like to report?

    • This page needs code samples
    • Code samples do not work
    • Information is missing
    • Information is incorrect
    • Information is unclear or confusing
    • There is a spelling/grammar error on this page
    • Something else

    Thanks for letting us know! This page has been marked for review based on your feedback.

    If you have time, you can provide more information to help us fix the problem faster.

    Provide more information

    You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:

    You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:

    You've told us there is information missing from this page. Please tell us more about what's missing:

    You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:

    You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:

    You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:

    You've told us this page has a problem. Please tell us more about what's wrong:

    Thank you for helping to make the Unity documentation better!

    Your feedback has been submitted as a ticket for our documentation team to review.

    We are not able to reply to every ticket submitted.

    In This Article
    • Fields
      • Handle
      • IsInitialized
      • SinkId
      • SystemConfig
    • Methods
      • Dispose()
      • GetMinimalLogLevel()
      • Initialize(Logger, SinkConfiguration)
      • NeedsStackTrace()
      • OnSinkFatalError(FixedString512Bytes)
      • ScheduleUpdate(LogControllerScopedLock, JobHandle)
      • SetMinimalLogLevel(LogLevel)
      • ToSinkStruct()
    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023