//        private readonly Messenger _messenger;
        /// <summary>
        /// 创建远程日志会话
        /// </summary>
        /// <param name="instanceName">运行实例名称</param>
        /// <param name="sessionName">运行会话名称</param>
        /// <param name="sessionId">会话ID</param>
        /// <param name="logLevel">日志级别</param>
        /// <exception cref="TestflowRuntimeException"></exception>
        public RemoteLoggerSession(string instanceName, string sessionName, int sessionId, LogLevel logLevel) : base(sessionId, Constants.SlaveLogName)
        {
            //            Type[] _targetType = new Type[] {typeof(LogMessage)};
            //            MessengerOption messengerOption = new MessengerOption(Constants.LogQueueName);
            //            _messenger = Messenger.GetMessenger(messengerOption);
            string testflowHome = Environment.GetEnvironmentVariable(CommonConst.EnvironmentVariable);

            if (string.IsNullOrWhiteSpace(testflowHome))
            {
                testflowHome = "..";
            }
            char   dirSeparator   = Path.DirectorySeparatorChar;
            string logPath        = GetSlaveLogPath(instanceName, sessionName, testflowHome);
            string configFilePath = $"{testflowHome}{dirSeparator}{Constants.SlaveConfFile}";

            try
            {
                log4net.Config.XmlConfigurator.Configure(new FileInfo(configFilePath));
                Repository = LogManager.GetRepository();
                IAppender[]         appenders = Repository.GetAppenders();
                RollingFileAppender appender  = appenders.First(item => item.Name.Equals(Constants.SlaveAppender)) as RollingFileAppender;
                string originalLogFile        = appender.File;

                appender.File = logPath;
                appender.ActivateOptions();
                if (File.Exists(originalLogFile))
                {
                    File.Delete(originalLogFile);
                }
                Logger   = LogManager.GetLogger(Constants.PlatformLogName);
                LogLevel = logLevel;
            }
            catch (LogException ex)
            {
                TestflowRuntimeException exception = new TestflowRuntimeException(ModuleErrorCode.LogQueueInitFailed,
                                                                                  ex.Message, ex);
                throw exception;
            }
        }
        /// <summary>
        /// 内部日志会话
        /// </summary>
        public PlatformLogSession() : base(CommonConst.PlatformLogSession, Constants.PlatformLogName)
        {
            string testflowHome = Environment.GetEnvironmentVariable(CommonConst.EnvironmentVariable);

            if (string.IsNullOrWhiteSpace(testflowHome))
            {
                testflowHome = "..";
            }
            char   dirSeparator   = Path.DirectorySeparatorChar;
            string logPath        = $"{testflowHome}{dirSeparator}{Constants.PlatformLogDir}";
            string configFilePath = $"{testflowHome}{dirSeparator}{Constants.PlatformConfFile}";

            try
            {
                log4net.Config.XmlConfigurator.Configure(new FileInfo(configFilePath));
                Repository = LogManager.GetRepository();
                IAppender[]         appenders = Repository.GetAppenders();
                RollingFileAppender appender  = appenders.First(item => item.Name.Equals(Constants.RootAppender)) as RollingFileAppender;
                string originalLogFile        = appender.File;

                appender.File = logPath;
                appender.ActivateOptions();
                if (File.Exists(originalLogFile))
                {
                    File.Delete(originalLogFile);
                }

                Logger = LogManager.GetLogger(Constants.PlatformLogName);
                SetOriginalLevel();
            }
            catch (LogException ex)
            {
                TestflowRuntimeException exception = new TestflowRuntimeException(ModuleErrorCode.LogQueueInitFailed,
                                                                                  ex.Message, ex);
                throw exception;
            }
        }