示例#1
0
        private ILogger GetLogger(AntiPlagiarismUpdateDbConfiguration configuration)
        {
            var loggerConfiguration = new LoggerConfiguration()
                                      .Enrich.With <ThreadEnricher>()
                                      .Enrich.With <FlowContextEnricher>()
                                      .MinimumLevel.Debug();

            if (configuration.HostLog.Console)
            {
                loggerConfiguration = loggerConfiguration.WriteTo.Console(
                    outputTemplate: "{Timestamp:HH:mm:ss.fff} {Level:u3} [{Thread}] {Message:l}{NewLine}{Exception}",
                    restrictedToMinimumLevel: LogEventLevel.Information
                    );
            }

            var pathFormat = configuration.HostLog.PathFormat;

            if (!Enum.TryParse <LogEventLevel>(configuration.HostLog.MinimumLevel, true, out var minimumLevel))
            {
                minimumLevel = LogEventLevel.Debug;
            }

            loggerConfiguration = loggerConfiguration
                                  .WriteTo.RollingFile(
                pathFormat,
                outputTemplate: "{Timestamp:HH:mm:ss.fff} {Level:u3} [{Thread}] {Message:l}{NewLine}{Exception}",
                restrictedToMinimumLevel: minimumLevel
                );

            return(loggerConfiguration.CreateLogger());
        }
示例#2
0
        private AntiPlagiarismDb GetDatabase(AntiPlagiarismUpdateDbConfiguration configuration, ILogger logger)
        {
            var optionsBuilder = new DbContextOptionsBuilder <AntiPlagiarismDb>();

            optionsBuilder.UseSqlServer(configuration.Database);
            if (configuration.HostLog.EnableEntityFrameworkLogging)
            {
                optionsBuilder.UseLoggerFactory(new SerilogLoggerFactory(logger));
            }

            return(new AntiPlagiarismDb(optionsBuilder.Options));
        }
示例#3
0
        private AntiPlagiarismDb GetDatabase(AntiPlagiarismUpdateDbConfiguration configuration)
        {
            var optionsBuilder = new DbContextOptionsBuilder <AntiPlagiarismDb>();

            optionsBuilder.UseNpgsql(configuration.Database, o => o.SetPostgresVersion(13, 2));
            if (configuration.HostLog.EnableEntityFrameworkLogging)
            {
                optionsBuilder.UseLoggerFactory(new LoggerFactory().AddVostok(LogProvider.Get()));
            }

            return(new AntiPlagiarismDb(optionsBuilder.Options));
        }
示例#4
0
        private ILogger GetLogger(AntiPlagiarismUpdateDbConfiguration configuration)
        {
            var loggerConfiguration = new LoggerConfiguration()
                                      .Enrich.With <ThreadEnricher>()
                                      .Enrich.With <FlowContextEnricher>()
                                      .MinimumLevel.Debug();

            if (configuration.HostLog.Console)
            {
                loggerConfiguration = loggerConfiguration.WriteTo.Console(
                    outputTemplate: "{Timestamp:HH:mm:ss.fff} {Level:u3} [{Thread}] {Message:l}{NewLine}{Exception}",
                    restrictedToMinimumLevel: LogEventLevel.Information
                    );
            }

            var pathFormat = configuration.HostLog.PathFormat;

            if (!Enum.TryParse <LogEventLevel>(configuration.HostLog.MinimumLevel, true, out var minimumLevel))
            {
                minimumLevel = LogEventLevel.Debug;
            }
            if (Path.IsPathRooted(pathFormat))
            {
                var directory = Path.GetDirectoryName(pathFormat);
                var fileName  = Path.GetFileName(pathFormat);
                pathFormat = Path.Combine(directory, configuration.GraphiteServiceName, fileName);
            }

            loggerConfiguration = loggerConfiguration
                                  .WriteTo.RollingFile(
                pathFormat,
                outputTemplate: "{Timestamp:HH:mm:ss.fff} {Level:u3} [{Thread}] {Message:l}{NewLine}{Exception}",
                restrictedToMinimumLevel: minimumLevel,
                fileSizeLimitBytes: 4 * 1073741824L
                );

            return(loggerConfiguration.CreateLogger());
        }