public static ILogger GetLogger(IServiceEventTracing serviceEventTracing = null, ServiceContext context = null, string sourceName = null) { sourceName = ResolveSourceName(sourceName); if (!Loggers.ContainsKey(sourceName)) { lock (lockSync) { if (!Loggers.ContainsKey(sourceName)) { var logger = new CloudLogger(serviceEventTracing, context, sourceName); Loggers.Add(sourceName, logger); } } } else if (serviceEventTracing != null && context != null) { lock (lockSync) { if (Loggers.ContainsKey(sourceName)) { Loggers[sourceName].SetServiceEventTracing(serviceEventTracing); Loggers[sourceName].SetServiceContext(context); } } } return(Loggers[sourceName]); }
internal CloudLogger(IServiceEventTracing serviceEventTracing, ServiceContext serviceContext, string sourceName) { this.serviceEventTracing = serviceEventTracing; this.serviceContext = serviceContext; this.sourceName = sourceName; var logOutputTemplate = "{NewLine}{NewLine}{NewLine}{Timestamp:yyyy-MM-dd HH:mm:ss.fff} [{Level}]{NewLine}{Message}{NewLine}{Exception}"; var sharedLogFilePath = GetSharedLogFilePath(); var serviceLogFilePath = GetServiceLogFilePath(this.sourceName); var logLevel = GetLogLevel(); var sharedSerilogLogger = new LoggerConfiguration().MinimumLevel.Verbose() .WriteTo.RollingFile(pathFormat: sharedLogFilePath, restrictedToMinimumLevel: sharedLogLevel, outputTemplate: logOutputTemplate, retainedFileCountLimit: null, fileSizeLimitBytes: 52430000, //50 MiB shared: true).CreateLogger(); var serviceSerilogLogger = new LoggerConfiguration().MinimumLevel.Verbose() .WriteTo.RollingFile(pathFormat: serviceLogFilePath, restrictedToMinimumLevel: logLevel, outputTemplate: logOutputTemplate, retainedFileCountLimit: null, fileSizeLimitBytes: 52430000, //50 MiB shared: false).CreateLogger(); this.serilogLoggers = new List <ILogger>() { sharedSerilogLogger, serviceSerilogLogger, }; }
public void SetServiceEventTracing(IServiceEventTracing serviceEventTracing) { this.serviceEventTracing = serviceEventTracing; }
internal CloudLogger(IServiceEventTracing serviceEventTracing, ServiceContext serviceContext, string sourceName) { this.serviceEventTracing = serviceEventTracing; this.serviceContext = serviceContext; this.sourceName = sourceName; }