Пример #1
0
        /// <summary>
        /// Gets the simple logger instance for given Log Date Format.
        /// </summary>
        /// <param name="logDateFormat">The log date format.</param>
        /// <param name="enableMethodGrouping">if set to <c>true</c> [enable method grouping].</param>
        /// <returns>Returns ISimpleLogger instance.</returns>
        public static ISimpleLogger GetSimpleLogger(SimpleLogDateFormats logDateFormat, bool enableMethodGrouping = false)
        {
            ISimpleLogger logger = loggerStorage.GetOrAdd((byte)logDateFormat, (key) =>
            {
                return(new SimpleFileLogger(logDateFormat));
            });

            logger.EnableMethodGrouping = enableMethodGrouping;
            return(logger);
        }
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        /// <summary>   Gets file date format. </summary>
        ///
        /// <remarks>   Msacli, 17.05.2019. </remarks>
        ///
        /// <param name="simpleLogDateFormatType">  Type of the simple log date format. </param>
        ///
        /// <returns>   The file date format. </returns>
        ////////////////////////////////////////////////////////////////////////////////////////////////////
        protected string GetFileDateFormat(SimpleLogDateFormats simpleLogDateFormatType)
        {
            var fileDateFormat = string.Empty;

            switch (simpleLogDateFormatType)
            {
            case SimpleLogDateFormats.None:
                break;

            case SimpleLogDateFormats.Second:
                fileDateFormat = "yyyy-MM-dd-HH-mm-ss";
                break;

            case SimpleLogDateFormats.Minute:
                fileDateFormat = "yyyy-MM-dd-HH-mm";
                break;

            case SimpleLogDateFormats.Hour:
                fileDateFormat = "yyyy-MM-dd-HH";
                break;

            case SimpleLogDateFormats.Day:
                fileDateFormat = "yyyy-MM-dd";
                break;

            case SimpleLogDateFormats.Month:
                fileDateFormat = "yyyy-MM";
                break;

            case SimpleLogDateFormats.Year:
                fileDateFormat = "yyyy";
                break;

            default:
                break;
            }

            return(fileDateFormat);
        }
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 /// <summary>
 /// Constructor that prevents a default instance of this class from being created.
 /// </summary>
 ///
 /// <remarks>   Msacli, 29.04.2019. </remarks>
 ////////////////////////////////////////////////////////////////////////////////////////////////////
 internal SimpleFileLogger(SimpleLogDateFormats logDateFormat, bool enableMethodGrouping = false)
 {
     LogDateFormatType    = logDateFormat;
     EnableMethodGrouping = enableMethodGrouping;
 }