예제 #1
0
        /// <summary>
        /// <para>Initialization method, used by constructors, creates folder for tab, inits filenames</para>
        /// <para>Метод инициализации, используемый всеми конструкторами.
        /// Создаёт папку под вкладку, задаёт имена файлов.</para>
        /// </summary>
        /// <param name="type"></param>
        protected void Init(TabTypes type)
        {
            TabType = type;

            if (TabType != TabTypes.CUSTOM)
            {
                TabTypeString = type.ToString();
            }
            else
            {
                TabTypeString = CustomTabType;
            }

            if (IsAllTab())
            {
                _dirname = Log9KCore.Settings.Folder + "/" + Log9KUtil.GetDayMonthYearString() + "/";
            }
            else if (IsInnerLogTab())
            {
                _dirname = Log9KCore.Settings.Folder + "/" + Log9KUtil.GetDayMonthYearString() + "/" + "." + Log9KCore.INNER_LOG_TAB;
            }
            else
            {
                _dirname = Log9KCore.Settings.Folder + "/" + Log9KUtil.GetDayMonthYearString() + "/" + TabTypeString;
            }

            if (IsAllTab())
            {
                Log9KUtil.CreateDirIfNotExists(_dirname);
                _directoryNotCreated = false;
            }

            FilenameLogFile = _dirname + "/" + Log9KUtil.GetDayMonthYearHourMinuteSecondString() + Log9KCore.LOG_EXTENSION;

            try {
                // ReSharper disable once ReturnValueOfPureMethodIsNotUsed
                Path.GetFullPath(FilenameLogFile);
            } catch (Exception e) {
                Log9KCore.InnerLog("Ошибка: что-то не так с именем файла — " + e.Message, true);
            }

            FilenameTempFile = FilenameLogFile + Log9KCore.TEMP_LOG_EXTENSION;

            DuplicationsDictionary = new Dictionary <int, DuplicationNode>();

            InitCollection();

            InitTabHeader();
        }
예제 #2
0
 /// <summary>
 /// Append log entry ToString to current tab's log file
 /// </summary>
 /// <param name="entry"></param>
 private void AppendEntryToFile(Log9KEntry entry)
 {
     if (_directoryNotCreated)
     {
         Log9KUtil.CreateDirIfNotExists(_dirname);
         _directoryNotCreated = false;
     }
     if (Application.Current == null)
     {
         return;
     }
     Application.Current.Dispatcher.BeginInvoke(
         new Action(() => {
         Log9KUtil.AppendStringToFile(FilenameLogFile, entry.ToString());
     }),
         DispatcherPriority.Background
         );
 }