forked from cgvr/DeltaVR
		
	
		
			
				
	
	
		
			121 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			121 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using FishNet.Documenting;
 | 
						|
using FishNet.Managing.Logging;
 | 
						|
using System.Runtime.CompilerServices;
 | 
						|
using UnityEngine;
 | 
						|
 | 
						|
namespace FishNet.Managing
 | 
						|
{
 | 
						|
    public partial class NetworkManager : MonoBehaviour
 | 
						|
    {
 | 
						|
        #region Serialized.
 | 
						|
        /// <summary>
 | 
						|
        /// Logging configuration to use. When empty default logging settings will be used.
 | 
						|
        /// </summary>
 | 
						|
        [Tooltip("Logging configuration to use. When empty default logging settings will be used.")]
 | 
						|
        [SerializeField]
 | 
						|
        private LoggingConfiguration _logging;
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region Const.
 | 
						|
        private const string ERROR_LOGGING_PREFIX = "Error - ";
 | 
						|
        private const string WARNING_LOGGING_PREFIX = "Warning - ";
 | 
						|
        private const string COMMON_LOGGING_PREFIX = "Log - ";
 | 
						|
        #endregion
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Initializes logging settings.
 | 
						|
        /// </summary>
 | 
						|
        private void InitializeLogging()
 | 
						|
        {
 | 
						|
            if (_logging == null)
 | 
						|
                _logging = ScriptableObject.CreateInstance<LevelLoggingConfiguration>();
 | 
						|
            else
 | 
						|
                _logging = _logging.Clone();
 | 
						|
 | 
						|
            _logging.InitializeOnce();
 | 
						|
        }
 | 
						|
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// True if can log for loggingType.
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="loggingType"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        [APIExclude]
 | 
						|
        public static bool StaticCanLog(LoggingType loggingType)
 | 
						|
        {
 | 
						|
            NetworkManager nm = InstanceFinder.NetworkManager;
 | 
						|
            return (nm == null) ? false : nm.CanLog(loggingType);
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// True if can log for loggingType.
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="loggingType">Type of logging being filtered.</param>
 | 
						|
        /// <returns></returns>
 | 
						|
        public bool CanLog(LoggingType loggingType)
 | 
						|
        {
 | 
						|
            return _logging.CanLog(loggingType);
 | 
						|
        }
 | 
						|
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Performs a common log, should logging settings permit it.
 | 
						|
        /// </summary>
 | 
						|
        [APIExclude]
 | 
						|
        [MethodImpl(MethodImplOptions.AggressiveInlining)]
 | 
						|
        public static void StaticLog(string value) => InstanceFinder.NetworkManager?.Log(value);
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Performs a common log, should logging settings permit it.
 | 
						|
        /// </summary>
 | 
						|
        public void Log(string value)
 | 
						|
        {
 | 
						|
            _logging.Log(value);
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Performs a log using the loggingType, should logging settings permit it.
 | 
						|
        /// </summary>
 | 
						|
        public void Log(LoggingType loggingType, string value)
 | 
						|
        {
 | 
						|
            if (loggingType == LoggingType.Common)
 | 
						|
                _logging.Log(value);
 | 
						|
            else if (loggingType == LoggingType.Warning)
 | 
						|
                _logging.LogWarning(value);
 | 
						|
            else if (loggingType == LoggingType.Error)
 | 
						|
                _logging.LogError(value);
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Performs a warning log, should logging settings permit it.
 | 
						|
        /// </summary>
 | 
						|
        /// 
 | 
						|
        [APIExclude]
 | 
						|
        [MethodImpl(MethodImplOptions.AggressiveInlining)]
 | 
						|
        public static void StaticLogWarning(string value) => InstanceFinder.NetworkManager?.LogWarning(value);
 | 
						|
        /// <summary>
 | 
						|
        /// Performs a warning log, should logging settings permit it.
 | 
						|
        /// </summary>
 | 
						|
        public void LogWarning(string value)
 | 
						|
        {
 | 
						|
            _logging.LogWarning(value);
 | 
						|
        }
 | 
						|
 | 
						|
        /// <summary>
 | 
						|
        /// Performs an error log, should logging settings permit it.
 | 
						|
        /// </summary>
 | 
						|
        [APIExclude]
 | 
						|
        [MethodImpl(MethodImplOptions.AggressiveInlining)]
 | 
						|
        public static void StaticLogError(string value) => InstanceFinder.NetworkManager?.LogError(value);
 | 
						|
        /// <summary>
 | 
						|
        /// Performs an error log, should logging settings permit it.
 | 
						|
        /// </summary>
 | 
						|
        public void LogError(string value)
 | 
						|
        {
 | 
						|
            _logging.LogError(value);
 | 
						|
        }
 | 
						|
 | 
						|
    }
 | 
						|
 | 
						|
} |