Exemple #1
0
        ////////////////

        /// <summary>
        /// Outputs a plain log message.
        /// </summary>
        /// <param name="msg"></param>
        public static void Log(string msg = "")
        {
            lock (LogHelpers.MyLock) {
                ModHelpersMod mymod = ModHelpersMod.Instance;
                mymod.Logger.Info(LogHelpers.FormatMessage(msg));
            }
        }
        /// <summary>
        /// Outputs an "alert" log message "once" (or rather, once every log10 % 1 == 0 times).
        /// </summary>
        /// <param name="msg"></param>
        public static void AlertOnce(string msg = "")
        {
            if (LogHelpers.CanOutputOnceMessage(msg, out msg))
            {
                ModHelpersMod mymod  = ModHelpersMod.Instance;
                string        fmtMsg = LogHelpers.FormatMessage(msg, 3);

                mymod.Logger.Error("~" + fmtMsg);
            }
        }
Exemple #3
0
        /// <summary>
        /// Outputs an "alert" log message (TML considers it an error-type message).
        /// </summary>
        /// <param name="msg"></param>
        public static void Alert(string msg = "")
        {
            lock (LogHelpers.MyLock) {
                ModHelpersMod mymod  = ModHelpersMod.Instance;
                string        fmtMsg = LogHelpers.FormatMessage(msg, 3);

                mymod.Logger.Error(fmtMsg);
                //LogHelpers.Log( DebugHelpers.GetCurrentContext( 2 ) + ((msg != "") ? " - " + msg : "") );
            }
        }
Exemple #4
0
        public static void Log(string msg)
        {
            try {
                ModHelpersMod mymod      = ModHelpersMod.Instance;
                var           logHelpers = mymod.LogHelpers;

                double nowSeconds = DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1, 0, 0, 0)).TotalSeconds - logHelpers.StartTime;

                string nowSecondsWhole   = ((int)nowSeconds).ToString("D6");
                string nowSecondsDecimal = (nowSeconds - (int)nowSeconds).ToString("N2");
                string now = nowSecondsWhole + "." + (nowSecondsDecimal.Length > 2 ? nowSecondsDecimal.Substring(2) : nowSecondsDecimal);

                string from   = Main.myPlayer.ToString("D3");
                string logged = Main.netMode + ":" + from + ":" + logHelpers.LoggedMessages.ToString("D5") + " - " + now;
                if (logged.Length < 26)
                {
                    logged += new String(' ', 26 - logged.Length);
                }
                else
                {
                    logged += "  ";
                }

                if (mymod.Config.UseCustomLogging)
                {
                    logHelpers.OutputDirect(logHelpers.GetHourlyLogFileName(), logged + msg);

                    if (mymod.Config.UseCustomLoggingPerNetMode)
                    {
                        logHelpers.OutputDirect(logHelpers.GetModalLogFileName(), logged + msg);
                    }

                    if (mymod.Config.UseAlsoNormalLogging)
                    {
                        lock (LogHelpers.MyLock) {
                            ErrorLogger.Log(logged + msg);
                        }
                    }
                }
                else
                {
                    lock (LogHelpers.MyLock) {
                        ErrorLogger.Log(logged + msg);
                    }
                }

                logHelpers.LoggedMessages++;
            } catch (Exception e) {
                try {
                    lock (LogHelpers.MyLock) {
                        ErrorLogger.Log("FALLBACK LOGGER 2 (" + e.GetType().Name + ") " + msg);
                    }
                } catch { }
            }
        }
        ////////////////

        private static void _Draw(GameTime gameTime)                    // <- Just in case references are doing something funky...
        {
            ModHelpersMod mymod = ModHelpersMod.Instance;

            if (mymod == null || mymod.MenuItemMngr == null)
            {
                return;
            }

            mymod.MenuItemMngr.Draw(gameTime);
        }
        private static void _Update(GameTime gametime)               // <- Just in case references are doing something funky...
        {
            ModHelpersMod mymod = ModHelpersMod.Instance;

            if (mymod?.MenuContextMngr == null)
            {
                return;
            }

            mymod.MenuContextMngr.Update();
        }
        /// <summary>
        /// Outputs a "warning" log message "once" (or rather, once every log10 % 1 == 0 times).
        /// </summary>
        /// <param name="msg"></param>
        public static void WarnOnce(string msg = "")
        {
            if (LogHelpers.CanOutputOnceMessage(msg, out msg))
            {
                lock (LogHelpers.MyLock) {
                    ModHelpersMod mymod  = ModHelpersMod.Instance;
                    string        fmtMsg = LogHelpers.FormatMessage(msg, 3);

                    mymod.Logger.Fatal("~" + fmtMsg);
                }
            }
        }
Exemple #8
0
        /// <summary>
        /// Formats a given message as it would appear in the log output.
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="contextDepth">Indicates whether to also output the callstack context at the specified depth.
        /// No output if -1 is set.</param>
        /// <returns></returns>
        public static string FormatMessage(string msg, int contextDepth = -1)
        {
            ModHelpersMod mymod = ModHelpersMod.Instance;

            if (mymod == null)
            {
                contextDepth = contextDepth == -1 ? 2 : contextDepth;
                return("!Mod Helpers unloaded. Message called from: " + DebugHelpers.GetCurrentContext(contextDepth));
            }

            var    logHelpers = mymod.LogHelpers;
            string output;
            double nowSeconds;

            try {
                var      beginning    = new DateTime(1970, 1, 1, 0, 0, 0);
                TimeSpan nowTotalSpan = DateTime.UtcNow.Subtract(beginning);
                nowSeconds = nowTotalSpan.TotalSeconds - logHelpers.StartTime;
            } catch (Exception e) {
                nowSeconds = 0;
                output     = "FORMATTING ERROR 1 (" + e.GetType().Name + ") - " + msg;
            }

            try {
                string nowSecondsWhole   = ((int)nowSeconds).ToString("D6");
                string nowSecondsDecimal = (nowSeconds - (int)nowSeconds).ToString("N2");
                string now = nowSecondsWhole + "." + (nowSecondsDecimal.Length > 2 ? nowSecondsDecimal.Substring(2) : nowSecondsDecimal);

                string from   = Main.myPlayer.ToString("D3");
                string logged = Main.netMode + ":" + from + " - " + now;
                if (logged.Length < 26)
                {
                    logged += new String(' ', 26 - logged.Length);
                }
                else
                {
                    logged += "  ";
                }

                output = logged + msg;
            } catch (Exception e) {
                output = "FORMATTING ERROR 2 (" + e.GetType().Name + ") - " + msg;
            }

            if (contextDepth >= 0)
            {
                output = DebugHelpers.GetCurrentContext(contextDepth) + ((output != "") ? " - " + output : "");
            }

            return(output);
        }
        ////////////////

        private static void _Update()           // <- Just in case references are doing something funky...
        {
            ModHelpersMod mymod = ModHelpersMod.Instance;

            if (mymod == null || mymod.MusicHelpers == null)
            {
                return;
            }

            if (mymod.MusicHelpers.OnTickGet())
            {
                mymod.MusicHelpers.Update();
            }
        }
Exemple #10
0
        private static void DirectWarn(string msg)
        {
            ModHelpersMod mymod      = ModHelpersMod.Instance;
            var           logHelpers = mymod.LogHelpers;

            try {
                lock (LogHelpers.MyLock) {
                    mymod.Logger.Fatal(msg);
                }
            } catch (Exception e) {
                try {
                    lock (LogHelpers.MyLock) {
                        mymod.Logger.Fatal("FALLBACK LOGGER (" + e.GetType().Name + ") " + msg);
                    }
                } catch { }
            }
        }
Exemple #11
0
        private static void DirectInfo(string msg)
        {
            ModHelpersMod mymod      = ModHelpersMod.Instance;
            var           logHelpers = mymod.LogHelpers;

            try {
                lock (LogHelpers.MyLock) {
                    mymod.Logger.Info(msg);
                    //ErrorLogger.Log( logged + msg );
                }
            } catch (Exception e) {
                try {
                    lock (LogHelpers.MyLock) {
                        mymod.Logger.Info("FALLBACK LOGGER (" + e.GetType().Name + ") " + msg);
                        //ErrorLogger.Log( "FALLBACK LOGGER 2 (" + e.GetType().Name + ") " + msg );
                    }
                } catch { }
            }
        }
        ////////////////

//private static long TICKSTART=0;
//private static int TICKCOUNT=0;
        private static void _Update()            // <- Just in case references are doing something funky...
        {
            ModHelpersMod mymod = ModHelpersMod.Instance;

            if (mymod == null || mymod.Timers == null)
            {
                return;
            }

            if (mymod.Timers.OnTickGet())
            {
//long NOW = DateTime.Now.Ticks;
//TICKCOUNT++;
//if( (NOW - TICKSTART) > 10000000 ) {
//	DebugHelpers.Print("blah", ""+TICKCOUNT,20);
//	TICKSTART = NOW;
//	TICKCOUNT = 0;
//}
                mymod.Timers.Update();
            }
        }