Initial Commit

This commit is contained in:
Sebastian Cabrera 2021-08-02 05:44:37 -04:00
parent 53eb92e9af
commit 270ab7d11f
15341 changed files with 700234 additions and 0 deletions

View file

@ -0,0 +1,28 @@
namespace MLAPI.Logging
{
/// <summary>
/// Log level
/// </summary>
public enum LogLevel
{
/// <summary>
/// Developer logging level, most verbose
/// </summary>
Developer,
/// <summary>
/// Normal logging level, medium verbose
/// </summary>
Normal,
/// <summary>
/// Error logging level, very quiet
/// </summary>
Error,
/// <summary>
/// Nothing logging level, no logging will be done
/// </summary>
Nothing
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: b97845a27cb50d44da22aae51800abfe
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -0,0 +1,86 @@
using MLAPI.Configuration;
using MLAPI.Messaging;
using MLAPI.Serialization.Pooled;
using MLAPI.Transports;
using UnityEngine;
namespace MLAPI.Logging
{
/// <summary>
/// Helper class for logging
/// </summary>
public static class NetworkLog
{
/// <summary>
/// Gets the current log level.
/// </summary>
/// <value>The current log level.</value>
internal static LogLevel CurrentLogLevel => NetworkManager.Singleton == null ? LogLevel.Normal : NetworkManager.Singleton.LogLevel;
// MLAPI internal logging
internal static void LogInfo(string message) => Debug.Log($"[MLAPI] {message}");
internal static void LogWarning(string message) => Debug.LogWarning($"[MLAPI] {message}");
internal static void LogError(string message) => Debug.LogError($"[MLAPI] {message}");
/// <summary>
/// Logs an info log locally and on the server if possible.
/// </summary>
/// <param name="message">The message to log</param>
public static void LogInfoServer(string message) => LogServer(message, LogType.Info);
/// <summary>
/// Logs a warning log locally and on the server if possible.
/// </summary>
/// <param name="message">The message to log</param>
public static void LogWarningServer(string message) => LogServer(message, LogType.Warning);
/// <summary>
/// Logs an error log locally and on the server if possible.
/// </summary>
/// <param name="message">The message to log</param>
public static void LogErrorServer(string message) => LogServer(message, LogType.Error);
private static void LogServer(string message, LogType logType)
{
// Get the sender of the local log
ulong localId = NetworkManager.Singleton != null ? NetworkManager.Singleton.LocalClientId : 0;
switch (logType)
{
case LogType.Info:
LogInfoServerLocal(message, localId);
break;
case LogType.Warning:
LogWarningServerLocal(message, localId);
break;
case LogType.Error:
LogErrorServerLocal(message, localId);
break;
}
if (NetworkManager.Singleton != null && !NetworkManager.Singleton.IsServer && NetworkManager.Singleton.NetworkConfig.EnableNetworkLogs)
{
using (var buffer = PooledNetworkBuffer.Get())
using (var writer = PooledNetworkWriter.Get(buffer))
{
writer.WriteByte((byte)logType);
writer.WriteStringPacked(message);
InternalMessageSender.Send(NetworkManager.Singleton.ServerClientId, NetworkConstants.SERVER_LOG, NetworkChannel.Internal, buffer);
}
}
}
internal static void LogInfoServerLocal(string message, ulong sender) => Debug.Log($"[MLAPI_SERVER Sender={sender}] {message}");
internal static void LogWarningServerLocal(string message, ulong sender) => Debug.LogWarning($"[MLAPI_SERVER Sender={sender}] {message}");
internal static void LogErrorServerLocal(string message, ulong sender) => Debug.LogError($"[MLAPI_SERVER Sender={sender}] {message}");
internal enum LogType
{
Info,
Warning,
Error,
None
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 2b33d7f8ddec3b140a4ff09659174e8d
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: