Beispiel #1
0
        public static void Init()
        {
            LoggingElement logging = Current.RdcManSection.Logging;

            Enabled = logging.Enabled;
            if (Enabled)
            {
                string text   = Environment.ExpandEnvironmentVariables(logging.Path);
                string format = "RDCMan-{0}.log";
                foreach (FileInfo item in (from n in Directory.GetFiles(text, format.InvariantFormat("*"), SearchOption.TopDirectoryOnly)
                                           select new FileInfo(n) into i
                                           orderby i.CreationTime descending
                                           select i).Skip(logging.MaximumNumberOfFiles - 1))
                {
                    try
                    {
                        item.Delete();
                    }
                    catch
                    {
                    }
                }
                string text2  = DateTime.Now.ToString("yyyyMMddHHmm");
                string path   = Path.Combine(text, format.InvariantFormat(text2));
                Stream stream = File.Open(path, FileMode.Create, FileAccess.Write, FileShare.Read);
                Writer = new StreamWriter(stream);
            }
            Write("RDCMan v{0} build {1}", Program.TheForm.VersionText, Program.TheForm.BuildText);
            Write(Environment.OSVersion.ToString());
            Write(".NET v{0}".InvariantFormat(Environment.Version));
            Write("mstscax.dll v{0}".InvariantFormat(RdpClient.RdpControlVersion));
        }
Beispiel #2
0
        public void SetLoggingElement()
        {
            var loggingElement = new LoggingElement();

            var section = new Section();

            section.Logging = loggingElement;

            Assert.Equal(loggingElement, section.Logging);
        }
        public void GetSetLevel()
        {
            var level = LoggingLevel.Trace;

            var element = new LoggingElement();

            element.Level = level;

            Assert.Equal(level, element.Level);
        }
Beispiel #4
0
        /// <summary>
        /// Creates a LoggingMgr instance using the configuration values referred to by the given config key
        /// into the LoggingConfigurations section of the app.config file
        /// </summary>
        /// <param name="loggingConfigKey">Key into LoggingConfigurations section to obtain settings</param>
        public LoggingMgr(string loggingConfigKey)
        {
            _loggingKey = loggingConfigKey;
            _configuredOptions.AppendFormat("LogKey: {0}{1}", loggingConfigKey, Environment.NewLine);
            LoggingConfiguration loggingConfigSection
                = AppConfigMgr.GetSection <LoggingConfiguration>(LoggingConfiguration.ConfigSectionName);
            LoggingElement loggingConfig = loggingConfigSection.GetLoggingConfig(loggingConfigKey);

            _backupFileLog = new FileLog(loggingConfig.BackupLogFileName
                                         , loggingConfig.BackupLogFileDirectory
                                         , enumEventPriority.All);
            _configuredTraceLevel = GetTraceLevelFromString(loggingConfig.TraceLevel);
            _configuredOptions.AppendFormat("BackupLogFile: {0}{1}", loggingConfig.BackupLogFileName, Environment.NewLine);
            _configuredOptions.AppendFormat("BackupLogFileDir: {0}{1}", loggingConfig.BackupLogFileDirectory, Environment.NewLine);
            InitLoggingTargets(
                BuildLoggingTargetsFromConfig(_backupFileLog, loggingConfig));
        }
Beispiel #5
0
 /// <summary>
 /// 初始化一个<see cref="LoggingConfig"/>类型的新实例
 /// </summary>
 internal LoggingConfig(LoggingElement element)
 {
     EntryConfig = new LoggingEntryConfig(element.LoggingEntry);
     //DataLoggingConfig = new DataLoggingConfig(element.DataLogging);
     BasicLoggingConfig = new BasicLoggingConfig(element.BasicLogging);
 }
Beispiel #6
0
        private List <ILoggingTarget> BuildLoggingTargetsFromConfig(ILoggingTarget backupLog
                                                                    , LoggingElement loggingConfig)
        {
            List <ILoggingTarget> loggingTargets = new List <ILoggingTarget>();

            foreach (LoggingTargetElement logTarget in loggingConfig.LoggingTargets.Cast <LoggingTargetElement>())
            {
                string priorities = logTarget.Priorities;

                enumEventPriority[] eventPriorities = GetEvenPrioritiesFromString(priorities.ToLower());

                string targetType = logTarget.TargetType.ToLower();
                _configuredOptions.AppendFormat("Target: {0}{1}", logTarget.TargetType, Environment.NewLine);

                string logName = logTarget.LogName;

                switch (targetType)
                {
                case "windowseventlog":
                    loggingTargets.Add(new WindowsEventLog(logName,
                                                           logTarget.Params.GetParamValue(Constants.EventLogSource).ToString()
                                                           , backupLog, eventPriorities));
                    _configuredOptions.AppendFormat("Param: {0}; Value: {1}{2}"
                                                    , Constants.EventLogSource
                                                    , logTarget.Params.GetParamValue(Constants.EventLogSource)
                                                    , Environment.NewLine);
                    break;

                case "msmq":
                    loggingTargets.Add(new MSMQLog(logName,
                                                   logTarget.Params.GetParamValue(Constants.MSMQPath).ToString()
                                                   , backupLog, eventPriorities));
                    _configuredOptions.AppendFormat("Param: {0}; Value: {1}{2}"
                                                    , Constants.MSMQPath, logTarget.Params.GetParamValue(Constants.MSMQPath)
                                                    , Environment.NewLine);
                    break;

                case "file":
                    loggingTargets.Add(new FileLog(logName,
                                                   logTarget.Params.GetParamValue(Constants.LogFileDirectory).ToString(), eventPriorities));
                    _configuredOptions.AppendFormat("Param: {0}; Value: {1}{2}"
                                                    , Constants.LogFileDirectory
                                                    , logTarget.Params.GetParamValue(Constants.LogFileDirectory)
                                                    , Environment.NewLine);
                    break;

                case "memoryfile":
                    loggingTargets.Add(new MemoryFileLog(logName,
                                                         logTarget.Params.GetParamValue(Constants.LogFileNamePrefix).ToString(),
                                                         logTarget.Params.GetParamValue(Constants.LogFileDirectory).ToString(),
                                                         Int32.Parse(logTarget.Params.GetParamValue(Constants.LogFileSize).ToString())
                                                         , eventPriorities));
                    _configuredOptions.AppendFormat("Param: {0}; Value: {1}{2}"
                                                    , Constants.LogFileNamePrefix
                                                    , logTarget.Params.GetParamValue(Constants.LogFileNamePrefix)
                                                    , Environment.NewLine);
                    _configuredOptions.AppendFormat("Param: {0}; Value: {1}{2}"
                                                    , Constants.LogFileDirectory, logTarget.Params.GetParamValue(Constants.LogFileDirectory)
                                                    , Environment.NewLine);
                    _configuredOptions.AppendFormat("Param: {0}; Value: {1}{2}"
                                                    , Constants.LogFileSize, logTarget.Params.GetParamValue(Constants.LogFileSize)
                                                    , Environment.NewLine);
                    break;

                default:
                    throw new ExceptionEvent(enumExceptionEventCodes.InvalidParameterValue,
                                             "Unkown logging target string: " + targetType);
                }
            }

            return(loggingTargets);
        }
        public void ReturnDefaultLoggingLevel()
        {
            var element = new LoggingElement();

            Assert.Equal(LoggingLevel.Off, element.Level);
        }