Logging/LogFile.cs

(开头部分) 5KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Threading;



namespace ComLib.Logging
{
    /// <summary>
    /// File based logger.
    /// </summary>
    public class LogFile : LogBase, ILog, IDisposable
    {
        private string _filepath;
        private string _filepathUnique;
        private StreamWriter _writer;
        private int _iterativeFlushCount = 0;
        private int _iterativeFlushPeriod = 4;
        private object _lockerFlush = new object();
        private int _maxFileSizeInMegs = 10;
        private bool _rollFile = true;
        

        /// <summary>
        /// Initialize with path of the log file.
        /// </summary>
        /// <param name="name">Name of application.</param>
        /// <param name="filepath">File path, can contain substitutions.</param>
        public LogFile(string name, string filepath) : 
            this(name, filepath, DateTime.Now, "")
        {           
        }


        /// <summary>
        /// Initialize log file.
        /// </summary>
        /// <param name="name">Name of application.</param>
        /// <param name="filepath">File path, can contain substitutions. e.g. "%yyyy%.</param>
        /// <param name="date">Date to use in the name of the log file.</param>
        /// <param name="env">Environment name to put into the name of the log file.</param>
        public LogFile(string name, string filepath, DateTime date, string env)
            : this(name, filepath, date, env, true, 20)
        {
        }


        /// <summary>
        /// Initialize log file.
        /// </summary>
        /// <param name="name">Name of application.</param>
        /// <param name="filepath">File path, can contain substitutions. e.g. "%yyyy%.</param>
        /// <param name="date">Date to use in the name of the log file.</param>
        /// <param name="env">Environment name to put into the name of the log file.</param>
        /// <param name="rollFile">True to roll file once max size is reached.</param>
        /// <param name="maxSizeInMegs">Maximum size in megabytes.</param>
        public LogFile(string name, string filepath, DateTime date, string env, bool rollFile, int maxSizeInMegs)
后面还有 119 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。