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);
 | |
|         }
 | |
| 
 | |
|     }
 | |
| 
 | |
| } |