public void LogFormat(UnityEngine.LogType logType, UnityEngine.Object context, string format, params object[] args) { int stackDepth = 4; if (logType == UnityEngine.LogType.Exception) { stackDepth++; } var level = logType.Cast(); string message = string.Format(format, args); string cmessage; PrepareMessageText(ref message, out cmessage); PostfixDeclaringType(ref message, ref cmessage, stackDepth); PostfixLogLevelInfo(ref message, ref cmessage, level); PostfixStackTrace(ref message, ref cmessage, level, context, stackDepth); PrefixTimeStamp(ref message, ref cmessage); lock (_locker) { using (var file = File.AppendText(LogFilePaths[level])) file.WriteLine(message); } LogRotate(level); if (EchoToConsole && (LogLevel & level) > 0) { cmessage = cmessage.Replace("{", "{{").Replace("}", "}}"); if (logType == UnityEngine.LogType.Exception) { logType = UnityEngine.LogType.Error; } #if UNITY_EDITOR _defaultLogHandler.LogFormat(logType, context, @cmessage); #else _defaultLogHandler.LogFormat(logType, context, @message); #endif } #if DEBUG || PROFILE if (level == LoggerLogLevel.Assert || level == LoggerLogLevel.Exception) { if (BreakOnAssert) { UnityEngine.Debug.Break(); } } else if (level == LoggerLogLevel.Error && BreakOnError) { UnityEngine.Debug.Break(); } #endif }
public void LogFormat(UnityEngine.LogType logType, UnityEngine.Object context, string format, params object[] args) { _handler.LogFormat(logType, context, format, args); var level = logType.Cast(); #if DEBUG || PROFILE if (level == LoggerLogLevel.Assert || level == LoggerLogLevel.Exception) { DialogUtility.OpenStackJumpDialog(System.Enum.GetName(typeof(LoggerLogLevel), level) + "!", string.Format(format, args), 3); } #endif }