Esempio n. 1
0
        void _Init()
        {
            LogFileEnabled = ParseBool("LogFileEnabled", false);
            if (!LogFileEnabled)
            {
                return;
            }
            _LogFileAutoFlush = ParseBool("LogFileAutoFlush", false);
            // File reset options.
            LogFileTimeout = ParseSpan("LogFileTimeout", new TimeSpan());
            LogFileName    = ParseString("LogFileName", "");
            // Enable rolling by default if file name looks like daily.
            var defaultRolling = LogFileName.Contains("MMdd}");

            LogFileRolling = ParseBool("LogFileRolling", defaultRolling);
            if (string.IsNullOrEmpty(LogFileName))
            {
                // Suffix pattern.
                var defautlSuffix = LogFileRolling
                                    // Rolling resets daily by default.
                                        ? "{0:yyyyMMdd}.txt"
                                    // Use current date when creating new file.
                                        : "{0:yyyyMMdd_HHmmss}.txt";
                // File prefix to make it unique.
                var defaultPrefix = string.IsNullOrEmpty(_configPrefix)
                                        ? GetAssemblyName() : _configPrefix;
                // Generate unique file name.
                var fileName =
                    string.Format("{0}\\{1}{2}",
                                  GetLogFolder(), defaultPrefix, defautlSuffix
                                  );
                LogFileName = fileName;
            }
        }
        private string CreateFileName()
        {
            string result;
            string ticks = DateTime.Now.Ticks.ToString();

            if (LogFileName.Contains("."))
            {
                string extension = LogFileName.Substring(LogFileName.LastIndexOf("."));
                string fileName  = LogFileName.Substring(0, LogFileName.LastIndexOf("."));
                fileName = string.Format("{0}[{1}]{2}", fileName, ticks, extension);
                result   = fileName;
            }
            else
            {
                string fileName = string.Format("{0}[{1}]", LogFileName, ticks);
                result = fileName;
            }

            SavedLogFileName = result;
            return(result);
        }