/// <summary>
 /// 初始化一个<see cref="FormatProvider"/>类型的实例
 /// </summary>
 /// <param name="format">日志格式化器</param>
 public FormatProvider(ILogFormat format)
 {
     if (format == null)
     {
         throw new ArgumentNullException(nameof(format));
     }
     _format = format;
 }
Example #2
0
 /// <summary>
 /// 初始化一个<see cref="Log"/>类型的实例
 /// </summary>
 /// <param name="providerFactory">日志提供程序工厂</param>
 /// <param name="context">日志上下文</param>
 /// <param name="format">日志格式器</param>
 /// <param name="currentUser">当前用户</param>
 public Log(
     ILogProviderFactory providerFactory,
     ILogContext context,
     ILogFormat format,
     ICurrentUser currentUser)
     : base(providerFactory.Create("", format), context, currentUser)
 {
 }
Example #3
0
 private async Task Import(Uri uri, ILogFormat format)
 {
     await Task.Run(() =>
     {
         var source = format.CreateSource(uri);
         _logSourceService.AddSource(source);
         source.Start();
     });
 }
Example #4
0
        public FileLogSource(string filePath, ILogFormat logFormat) {
            this.BufferSize = 64*1024;

            this.filePath = filePath;

            this.watcher = this.CreateFileWatcher();
            this.watcher.Changed += (sender, args) => this.FileChanged();
            this.watcher.EnableRaisingEvents = true;

            this.segments = new ConcurrentDictionary<int, RecordSegment>();
            this.segmentsStream = OpenSegmentsStream(filePath);
            this.recordsStream = new Lazy<Stream>(this.OpenRecordStream);

            this.logFormat = logFormat;

            Task.Run(() => this.LoadSegmentsAsync(this.tokenSource.Token), this.tokenSource.Token);
        }
Example #5
0
        public FileLogSource(string filePath, ILogFormat logFormat)
        {
            this.BufferSize = 64 * 1024;

            this.filePath = filePath;

            this.watcher                     = this.CreateFileWatcher();
            this.watcher.Changed            += (sender, args) => this.FileChanged();
            this.watcher.EnableRaisingEvents = true;

            this.segments       = new ConcurrentDictionary <int, RecordSegment>();
            this.segmentsStream = OpenSegmentsStream(filePath);
            this.recordsStream  = new Lazy <Stream>(this.OpenRecordStream);

            this.logFormat = logFormat;

            Task.Run(() => this.LoadSegmentsAsync(this.tokenSource.Token), this.tokenSource.Token);
        }
Example #6
0
 /// <summary>
 /// 获取日志操作实例
 /// </summary>
 /// <param name="logName">日志名称</param>
 /// <param name="format">日志格式化器</param>
 /// <param name="context">日志上下文</param>
 /// <param name="session">用户上下文</param>
 /// <param name="class">类名</param>
 internal static ILog GetLog(string logName, ILogFormat format, ILogContext context, ISession session, string @class)
 {
     return(new Log(new NLogProvider(logName, format), context, session, @class));
 }
Example #7
0
 /// <summary>
 /// 初始化日志操作
 /// </summary>
 /// <param name="providerFactory">日志提供程序工厂</param>
 /// <param name="context">日志上下文</param>
 /// <param name="format">日志格式器</param>
 /// <param name="session">用户会话</param>
 public Log(ILogProviderFactory providerFactory, ILogContext context, ILogFormat format, ISession session) : base(providerFactory.Create("", format), context, session)
 {
 }
Example #8
0
 /// <summary>
 /// 初始化一个<see cref="Log"/>类型的实例
 /// </summary>
 /// <param name="providerFactory">日志提供程序工厂</param>
 /// <param name="context">日志上下文</param>
 /// <param name="format">日志格式器</param>
 /// <param name="userContext">用户上下文</param>
 public Log(ILogProviderFactory providerFactory, ILogContext context, ILogFormat format, IUserContext userContext)
     : base(providerFactory.Create("", format), context, userContext)
 {
 }
Example #9
0
 /// <summary>
 /// 初始化日志格式化提供程序
 /// </summary>
 /// <param name="format">日志格式化器</param>
 public FormatProvider(ILogFormat format)
 {
     _format = format ?? throw new ArgumentNullException(nameof(format));
 }
 /// <summary>
 /// 初始化日志
 /// </summary>
 /// <param name="logName">日志名称</param>
 /// <param name="format">日志格式化器</param>
 public NLogProvider(string logName, ILogFormat format = null)
 {
     _logger = GetLogger(logName);
     _format = format;
 }
Example #11
0
 /// <summary>
 /// 创建日志提供程序
 /// </summary>
 /// <param name="logName">日志名称</param>
 /// <param name="format">日志格式化器</param>
 public ILogProvider Create(string logName, ILogFormat format = null)
 {
     return(new NLogProvider(logName, format));
 }
 /// <summary>
 /// 创建日志提供程序
 /// </summary>
 /// <param name="logName">日志名称</param>
 /// <param name="format">日志格式化器</param>
 public ILogProvider Create(string logName, ILogFormat format = null) => new Log4NetProvider(logName, format);
Example #13
0
 /// <summary>
 /// 初始化一个<see cref="SerilogProvider"/>类型的实例
 /// </summary>
 /// <param name="logName">日志名称</param>
 /// <param name="format">日志格式化器</param>
 public SerilogProvider(string logName, ILogFormat format = null)
 {
     LogName = logName;
     _format = format;
 }
Example #14
0
 /// <summary>
 /// 初始化一个<see cref="Log4NetProvider"/>类型的实例
 /// </summary>
 /// <param name="logName">日志名称</param>
 /// <param name="format">日志格式化器</param>
 public Log4NetProvider(string logName, ILogFormat format = null)
 {
     _log    = GetLogger(logName);
     _format = format;
 }
Example #15
0
 /// <summary>
 /// 初始化日志操作
 /// </summary>
 /// <param name="providerFactory">日志提供程序工厂</param>
 /// <param name="context">日志上下文</param>
 /// <param name="format">日志格式器</param>
 /// <param name="session">用户会话</param>
 public NLogger(ILogProviderFactory providerFactory, ILogContext context, ILogFormat format) : base(providerFactory.Create("", format), context)
 {
 }
Example #16
0
 /// <summary>
 /// 创建日志提供程序
 /// </summary>
 /// <param name="logName">日志名称</param>
 /// <param name="format">日志格式化器</param>
 /// <returns></returns>
 public ILogProvider Create(string logName, ILogFormat format = null)
 {
     return(new ExceptionlessProvider(logName));
 }
Example #17
0
 /// <summary>
 /// 创建日志提供程序
 /// </summary>
 /// <param name="logName">日志名称</param>
 /// <param name="format">日志格式化器</param>
 public ILogProvider Create(string logName, ILogFormat format = null) => NullLogProvider.Instance;
 /// <summary>
 /// 创建日志提供程序
 /// </summary>
 /// <param name="logName">日志名称</param>
 /// <param name="format">日志格式化器</param>
 /// <returns></returns>
 public ILogProvider Create(string logName, ILogFormat format = null)
 {
     return(NullLogProvider.Instance);
 }