private static void RegisterNLogOnly(string message, ConfigurationDto objConfiguration, EnumNLogStruct.LogType typeOfLog) { var finalMessage = BuildLogInfoWithConfigurationInformation(objConfiguration, false); if (!object.ReferenceEquals(objConfiguration, null)) { if (object.ReferenceEquals(objLogger, null)) { objLogger = new LogManagerContainer().GetAnyInstance<ILoggerConfigurable<Logger>>(); } objLogger.RegisterLogWithCustomInfo(typeOfLog, new LogVo() { CustomMessage = string.Concat(finalMessage, message), CustomType = typeOfLog }); } }
/// <summary> /// register all type of information when AppDynamics extension is running. Also, trace /// all information from execution environment. /// </summary> /// <param name="message"></param> /// <param name="option"></param> public static void RegisterLogFacade(string message, EnumNLogStruct.TypeOfRegister option, EnumNLogStruct.LogType typeOfLog, bool withPrefix) { ConfigurationDto objConfigurationGlobal = default(ConfigurationDto); objLogger = new LogManagerContainer().GetAnyInstance<ILoggerConfigurable<Logger>>(); string prefix = default(string); if (!string.IsNullOrEmpty(message)) { try { objConfigurationGlobal = new ConfigurationManager().LoadInitialConfiguration(); if (!object.ReferenceEquals(objConfigurationGlobal, null)) { prefix = withPrefix ? $"[AppDynamics CCO Extension on " + $"{objConfigurationGlobal.ExecutionInformation.EnvironmentInfo.MachineHostName} \t" + $"({objConfigurationGlobal.ExecutionInformation.TrackingUsingInfo.IpAddress}) at: \t" + $"{DateTime.Now.ToLongDateString()} says: \n" : string.Empty; ; var fixedFinalMessage = string.Concat(prefix, message); switch (option) { case EnumNLogStruct.TypeOfRegister.NLog: RegisterNLogOnly(fixedFinalMessage, objConfigurationGlobal, typeOfLog); break; case EnumNLogStruct.TypeOfRegister.Console: RegisterConsoleLog(fixedFinalMessage, objConfigurationGlobal, typeOfLog); break; case EnumNLogStruct.TypeOfRegister.All: RegisterConsoleLog(fixedFinalMessage, objConfigurationGlobal, typeOfLog); RegisterNLogOnly(fixedFinalMessage, objConfigurationGlobal, typeOfLog); break; default: throw new ArgumentOutOfRangeException(nameof(option), option, null); } } else { objLogger.RegisterLogWithCustomInfo(EnumNLogStruct.LogType.Warning, new LogVo() { CustomMessage = "[AppDynamics CCO Extension]: Cannot load configuration from execution environment" }); } } catch (Exception ex) { objLogger.RegisterLogWithCustomInfo(EnumNLogStruct.LogType.Error, new LogVo() { Exception = ex, CustomMessage = ex.Message }); } } }
private static void RegisterConsoleLog(string message, ConfigurationDto objConfiguration, EnumNLogStruct.LogType typeOfLog) { if (!object.ReferenceEquals(objConfiguration, null)) { var finalMessage = BuildLogInfoWithConfigurationInformation(objConfiguration, false); Console.WriteLine(string.Concat(finalMessage, message)); } }