fix: consolidates log messages

This commit is contained in:
Neil Dorin
2023-11-22 16:44:52 -07:00
parent 15024b57f2
commit 3debb30d53

View File

@@ -79,7 +79,7 @@ namespace PepperDash.Core
/// <summary> /// <summary>
/// When this is true, the configuration file will NOT be loaded until triggered by either a console command or a signal /// When this is true, the configuration file will NOT be loaded until triggered by either a console command or a signal
/// </summary> /// </summary>
public static bool DoNotLoadOnNextBoot { get; private set; } public static bool DoNotLoadConfigOnNextBoot { get; private set; }
private static DebugContextCollection _contexts; private static DebugContextCollection _contexts;
@@ -107,6 +107,10 @@ namespace PepperDash.Core
static Debug() static Debug()
{ {
_consoleLoggingLevelSwitch = new LoggingLevelSwitch(initialMinimumLevel: LogEventLevel.Information); _consoleLoggingLevelSwitch = new LoggingLevelSwitch(initialMinimumLevel: LogEventLevel.Information);
_consoleLoggingLevelSwitch.MinimumLevelChanged += (sender, args) =>
{
Debug.Console(0, "Console debug level set to {0}", _consoleLoggingLevelSwitch.MinimumLevel);
};
_websocketLoggingLevelSwitch = new LoggingLevelSwitch(); _websocketLoggingLevelSwitch = new LoggingLevelSwitch();
_websocketSink = new DebugWebsocketSink(new JsonFormatter(renderMessage: true)); _websocketSink = new DebugWebsocketSink(new JsonFormatter(renderMessage: true));
@@ -167,9 +171,9 @@ namespace PepperDash.Core
var context = _contexts.GetOrCreateItem("DEFAULT"); var context = _contexts.GetOrCreateItem("DEFAULT");
Level = context.Level; Level = context.Level;
DoNotLoadOnNextBoot = context.DoNotLoadOnNextBoot; DoNotLoadConfigOnNextBoot = context.DoNotLoadOnNextBoot;
if(DoNotLoadOnNextBoot) if(DoNotLoadConfigOnNextBoot)
CrestronConsole.PrintLine(string.Format("Program {0} will not load config after next boot. Use console command go:{0} to load the config manually", InitialParametersClass.ApplicationNumber)); CrestronConsole.PrintLine(string.Format("Program {0} will not load config after next boot. Use console command go:{0} to load the config manually", InitialParametersClass.ApplicationNumber));
try try
@@ -244,7 +248,7 @@ namespace PepperDash.Core
{ {
if (string.IsNullOrEmpty(levelString.Trim())) if (string.IsNullOrEmpty(levelString.Trim()))
{ {
CrestronConsole.ConsoleCommandResponse("AppDebug level = {0}", Level); CrestronConsole.ConsoleCommandResponse("AppDebug level = {0}", _consoleLoggingLevelSwitch);
return; return;
} }
@@ -252,7 +256,7 @@ namespace PepperDash.Core
} }
catch catch
{ {
CrestronConsole.ConsoleCommandResponse("Usage: appdebug:P [0-2]"); CrestronConsole.ConsoleCommandResponse("Usage: appdebug:P [0-5]");
} }
} }
@@ -276,11 +280,11 @@ namespace PepperDash.Core
{ {
if (string.IsNullOrEmpty(stateString.Trim())) if (string.IsNullOrEmpty(stateString.Trim()))
{ {
CrestronConsole.ConsoleCommandResponse("DoNotLoadOnNextBoot = {0}", DoNotLoadOnNextBoot); CrestronConsole.ConsoleCommandResponse("DoNotLoadOnNextBoot = {0}", DoNotLoadConfigOnNextBoot);
return; return;
} }
SetDoNotLoadOnNextBoot(Boolean.Parse(stateString)); SetDoNotLoadConfigOnNextBoot(Boolean.Parse(stateString));
} }
catch catch
{ {
@@ -376,20 +380,16 @@ namespace PepperDash.Core
{ {
_consoleLoggingLevelSwitch.MinimumLevel = (LogEventLevel)level; _consoleLoggingLevelSwitch.MinimumLevel = (LogEventLevel)level;
if (level <= 5) //if (level <= 5)
{ //{
Level = level;
_contexts.GetOrCreateItem("DEFAULT").Level = level; // CrestronConsole.ConsoleCommandResponse("[Application {0}], Debug level set to {1}",
SaveMemoryOnTimeout(); // InitialParametersClass.ApplicationNumber, _consoleLoggingLevelSwitch.MinimumLevel);
CrestronConsole.ConsoleCommandResponse("[Application {0}], Debug level set to {1}", // //var err = CrestronDataStoreStatic.SetLocalUintValue("DebugLevel", level);
InitialParametersClass.ApplicationNumber, Level); // //if (err != CrestronDataStore.CDS_ERROR.CDS_SUCCESS)
// // CrestronConsole.PrintLine("Error saving console debug level setting: {0}", err);
//var err = CrestronDataStoreStatic.SetLocalUintValue("DebugLevel", level); //}
//if (err != CrestronDataStore.CDS_ERROR.CDS_SUCCESS)
// CrestronConsole.PrintLine("Error saving console debug level setting: {0}", err);
}
} }
/// <summary> /// <summary>
@@ -418,14 +418,14 @@ namespace PepperDash.Core
/// Sets the flag to prevent application starting on next boot /// Sets the flag to prevent application starting on next boot
/// </summary> /// </summary>
/// <param name="state"></param> /// <param name="state"></param>
public static void SetDoNotLoadOnNextBoot(bool state) public static void SetDoNotLoadConfigOnNextBoot(bool state)
{ {
DoNotLoadOnNextBoot = state; DoNotLoadConfigOnNextBoot = state;
_contexts.GetOrCreateItem("DEFAULT").DoNotLoadOnNextBoot = state; _contexts.GetOrCreateItem("DEFAULT").DoNotLoadOnNextBoot = state;
SaveMemoryOnTimeout(); SaveMemoryOnTimeout();
CrestronConsole.ConsoleCommandResponse("[Application {0}], Do Not Start on Next Boot set to {1}", CrestronConsole.ConsoleCommandResponse("[Application {0}], Do Not Load Config on Next Boot set to {1}",
InitialParametersClass.ApplicationNumber, DoNotLoadOnNextBoot); InitialParametersClass.ApplicationNumber, DoNotLoadConfigOnNextBoot);
} }
/// <summary> /// <summary>
@@ -439,15 +439,15 @@ namespace PepperDash.Core
} }
private static void LogMessage(uint level, string message) private static void LogMessage(uint level, string format, params object[] items)
{ {
_logger.Write((LogEventLevel)level, message); _logger.Write((LogEventLevel)level, format, items);
} }
private static void LogMessage(uint level, string message, IKeyed keyed) private static void LogMessage(uint level, IKeyed keyed, string format, params object[] items)
{ {
var log = _logger.ForContext("Key", keyed.Key); var log = _logger.ForContext("Key", keyed.Key);
log.Write((LogEventLevel)level, message); log.Write((LogEventLevel)level, format, items);
} }
@@ -460,6 +460,9 @@ namespace PepperDash.Core
/// <param name="items">Object parameters</param> /// <param name="items">Object parameters</param>
public static void Console(uint level, string format, params object[] items) public static void Console(uint level, string format, params object[] items)
{ {
LogMessage(level, format, items);
if (CrestronEnvironment.DevicePlatform == eDevicePlatform.Server) if (CrestronEnvironment.DevicePlatform == eDevicePlatform.Server)
{ {
var logString = string.Format("[level {0}] {1}", level, string.Format(format, items)); var logString = string.Format("[level {0}] {1}", level, string.Format(format, items));
@@ -468,10 +471,6 @@ namespace PepperDash.Core
return; return;
} }
var message = string.Format(format, items);
_logger.Write((LogEventLevel)level, message);
//if (IsRunningOnAppliance) //if (IsRunningOnAppliance)
//{ //{
// CrestronConsole.PrintLine("[{0}]App {1} Lvl {2}:{3}", DateTime.Now.ToString("HH:mm:ss.fff"), // CrestronConsole.PrintLine("[{0}]App {1} Lvl {2}:{3}", DateTime.Now.ToString("HH:mm:ss.fff"),
@@ -486,7 +485,7 @@ namespace PepperDash.Core
/// </summary> /// </summary>
public static void Console(uint level, IKeyed dev, string format, params object[] items) public static void Console(uint level, IKeyed dev, string format, params object[] items)
{ {
LogMessage(level, string.Format(format, items), dev); LogMessage(level, dev, format, items);
//if (Level >= level) //if (Level >= level)
// Console(level, "[{0}] {1}", dev.Key, message); // Console(level, "[{0}] {1}", dev.Key, message);
@@ -506,7 +505,7 @@ namespace PepperDash.Core
LogError(errorLogLevel, str); LogError(errorLogLevel, str);
} }
LogMessage(level, str, dev); LogMessage(level, dev, format, items);
//var log = _logger.ForContext("Key", dev.Key); //var log = _logger.ForContext("Key", dev.Key);
//var message = string.Format(format, items); //var message = string.Format(format, items);
@@ -519,9 +518,9 @@ namespace PepperDash.Core
//} //}
} }
/// <summary> /// <summary>
/// Logs to Console when at-level, and all messages to error log /// Logs to Console when at-level, and all messages to error log
/// </summary> /// </summary>
public static void Console(uint level, ErrorLogLevel errorLogLevel, public static void Console(uint level, ErrorLogLevel errorLogLevel,
string format, params object[] items) string format, params object[] items)
{ {
@@ -531,7 +530,7 @@ namespace PepperDash.Core
LogError(errorLogLevel, str); LogError(errorLogLevel, str);
} }
LogMessage(level, str); LogMessage(level, format, items);
//if (Level >= level) //if (Level >= level)
//{ //{
// Console(level, str); // Console(level, str);
@@ -545,10 +544,11 @@ namespace PepperDash.Core
/// </summary> /// </summary>
public static void ConsoleWithLog(uint level, string format, params object[] items) public static void ConsoleWithLog(uint level, string format, params object[] items)
{ {
LogMessage(level, format, items);
var str = string.Format(format, items); var str = string.Format(format, items);
//if (Level >= level) //if (Level >= level)
// CrestronConsole.PrintLine("App {0}:{1}", InitialParametersClass.ApplicationNumber, str); // CrestronConsole.PrintLine("App {0}:{1}", InitialParametersClass.ApplicationNumber, str);
LogMessage(level, str);
CrestronLogger.WriteToLog(str, level); CrestronLogger.WriteToLog(str, level);
} }
@@ -559,9 +559,9 @@ namespace PepperDash.Core
/// </summary> /// </summary>
public static void ConsoleWithLog(uint level, IKeyed dev, string format, params object[] items) public static void ConsoleWithLog(uint level, IKeyed dev, string format, params object[] items)
{ {
var str = string.Format(format, items); LogMessage(level, dev, format, items);
LogMessage(level, str, dev); var str = string.Format(format, items);
CrestronLogger.WriteToLog(string.Format("[{0}] {1}", dev.Key, str), level); CrestronLogger.WriteToLog(string.Format("[{0}] {1}", dev.Key, str), level);
} }