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
        }
        static int _m_LogFormat(RealStatePtr L)
        {
            ObjectTranslator translator = ObjectTranslatorPool.Instance.Find(L);


            UnityEngine.ILogHandler __cl_gen_to_be_invoked = (UnityEngine.ILogHandler)translator.FastGetCSObj(L, 1);


            try {
                {
                    UnityEngine.LogType logType; translator.Get(L, 2, out logType);
                    UnityEngine.Object  context = (UnityEngine.Object)translator.GetObject(L, 3, typeof(UnityEngine.Object));
                    string   format             = LuaAPI.lua_tostring(L, 4);
                    object[] args = translator.GetParams <object>(L, 5);

                    __cl_gen_to_be_invoked.LogFormat(logType, context, format, args);



                    return(0);
                }
            } catch (System.Exception __gen_e) {
                return(LuaAPI.luaL_error(L, "c# exception:" + __gen_e));
            }
        }
Beispiel #3
0
        static StackObject *LogFormat_0(ILIntepreter __intp, StackObject *__esp, IList <object> __mStack, CLRMethod __method, bool isNewObj)
        {
            CSHotFix.Runtime.Enviorment.AppDomain __domain = __intp.AppDomain;
            StackObject *ptr_of_this_method;
            StackObject *__ret = ILIntepreter.Minus(__esp, 5);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 1);
            System.Object[] @args = (System.Object[]) typeof(System.Object[]).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 2);
            System.String @format = (System.String) typeof(System.String).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 3);
            UnityEngine.Object @context = (UnityEngine.Object) typeof(UnityEngine.Object).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 4);
            UnityEngine.LogType @logType = (UnityEngine.LogType) typeof(UnityEngine.LogType).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            ptr_of_this_method = ILIntepreter.Minus(__esp, 5);
            UnityEngine.ILogHandler instance_of_this_method = (UnityEngine.ILogHandler) typeof(UnityEngine.ILogHandler).CheckCLRTypes(StackObject.ToObject(ptr_of_this_method, __domain, __mStack));
            __intp.Free(ptr_of_this_method);

            instance_of_this_method.LogFormat(@logType, @context, @format, @args);

            return(__ret);
        }
 static public int LogFormat(IntPtr l)
 {
     try {
         UnityEngine.ILogHandler self = (UnityEngine.ILogHandler)checkSelf(l);
         UnityEngine.LogType     a1;
         checkEnum(l, 2, out a1);
         UnityEngine.Object a2;
         checkType(l, 3, out a2);
         System.String a3;
         checkType(l, 4, out a3);
         System.Object[] a4;
         checkParams(l, 5, out a4);
         self.LogFormat(a1, a2, a3, a4);
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
 }
 static public int LogFormat(IntPtr l)
 {
     try {
                     #if DEBUG
         var    method     = System.Reflection.MethodBase.GetCurrentMethod();
         string methodName = GetMethodName(method);
                     #if UNITY_5_5_OR_NEWER
         UnityEngine.Profiling.Profiler.BeginSample(methodName);
                     #else
         Profiler.BeginSample(methodName);
                     #endif
                     #endif
         UnityEngine.ILogHandler self = (UnityEngine.ILogHandler)checkSelf(l);
         UnityEngine.LogType     a1;
         a1 = (UnityEngine.LogType)LuaDLL.luaL_checkinteger(l, 2);
         UnityEngine.Object a2;
         checkType(l, 3, out a2);
         System.String a3;
         checkType(l, 4, out a3);
         System.Object[] a4;
         checkParams(l, 5, out a4);
         self.LogFormat(a1, a2, a3, a4);
         pushValue(l, true);
         return(1);
     }
     catch (Exception e) {
         return(error(l, e));
     }
             #if DEBUG
     finally {
                     #if UNITY_5_5_OR_NEWER
         UnityEngine.Profiling.Profiler.EndSample();
                     #else
         Profiler.EndSample();
                     #endif
     }
             #endif
 }