Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using Serilog;
- using Serilog.Events;
- using Serilog.Formatting.Json;
- using Serilog.Sinks.RollingFileAlternate;
- namespace TestCoreWebApp.Configuration.Logger
- {
- public class ApplicationLoggerConfig
- {
- public ILogger GetApplicationLogger()
- {
- #if DEBUG
- return GetMongoDbLogger();
- #else
- return GetMongoDbLogger()
- #endif
- }
- private ILogger GetMongoDbLogger()
- {
- var logger = new LoggerConfiguration()
- .MinimumLevel.Debug()
- .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
- .WriteTo.MongoDB($"mongodb://{LoggerSettings.mongoDbUser}:{LoggerSettings.mongoDbPassword}@ds113906.mlab.com:13906/bugetto", collectionName: LoggerSettings.mongoDbCollection)
- .CreateLogger();
- return logger;
- }
- private ILogger GetDebugLogger()
- {
- var logger = new LoggerConfiguration()
- .MinimumLevel.Debug()
- .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
- .Enrich.FromLogContext()
- .WriteTo.Debug(new JsonFormatter())
- .CreateLogger();
- return logger;
- }
- private ILogger GetRollingFilesLogger()
- {
- var logger = new LoggerConfiguration()
- .MinimumLevel.Debug()
- .MinimumLevel.Override("Microsoft", LogEventLevel.Warning)
- .Enrich.FromLogContext()
- .WriteTo.RollingFileAlternate(new JsonFormatter(), ".\\logs", fileSizeLimitBytes: 1024 * 1024)
- .CreateLogger();
- return logger;
- }
- }
- }
Add Comment
Please, Sign In to add comment