/// <summary> /// <para>创建一个非托管的异步日志书写器,书写器使用完成应调用LogWriter.Dispose方法释放资源</para> /// <para>此方法适用于日志名称与路径变化频繁,或要求非实时写入,日志数量巨量的场景</para> /// <para>可通过配置Log:AsynBuffer来指定初始缓冲区大小,默认4096</para> /// </summary> /// <param name="path"></param> /// <param name="name"></param> /// <returns></returns> public virtual LogWriter CreateAsyncWriter(string name, string path) { if (name == null) { throw new ArgumentNullException("name"); } var writer = new AsyncLogWriter(name, path, this.asyncQueue); writer.Writing += this.WritingEvent; writer.ToConsole = this.toConsole; writer.ThrowFlushError = this.throwFlushError; writer.BufferSize = GetConfigAsInt("Log:AsynBuffer", 4096); // return(writer); }
public Logger(string loggerName, AsyncLogWriter writer) { _loggerName = loggerName; _writer = writer; Level = ParagonTraceSources.Default.Switch.Level; }