public void ConfigureServices(IServiceCollection services) { services.AddMvc(); services.AddScoped <IKrisLogger, KrisLogger>(); SerilogSettings serilogSettings = new SerilogSettings(); Configuration.GetSection("Serilog").Bind(serilogSettings); services.AddSingleton(serilogSettings); }
public static UnityEditor.SettingsProvider CreateSettingsProvider() { var provider = new UnityEditor.SettingsProvider("Project/Serilog", SettingsScope.Project) { label = "Serilog", activateHandler = (searchContext, rootElement) => { m_Settings = SerilogSettings.Instance; var logLevelField = new EnumField("Log Level", m_Settings.LogLevel); logLevelField.RegisterCallback <ChangeEvent <Enum> >(SerilogSettings_OnValueChanged); rootElement.Add(logLevelField); }, keywords = new HashSet <string>(new[] { "Logging", "Serilog", "Log Level" }) }; return(provider); }
private bool LoadFileSettings(string localSettingFileName, bool optional) { if (File.Exists(localSettingFileName)) { try { var settings = new JsonSerializerSettings { ObjectCreationHandling = ObjectCreationHandling.Replace }; string data = File.ReadAllText(localSettingFileName); Settings = JsonConvert.DeserializeObject <SerilogSettings>(data, settings); if (string.IsNullOrEmpty(Settings.FileOpenDialogFilters)) { Settings.FileOpenDialogFilters = "All Supported formats (*.Clef;*.log;*.gz)|*.clef;*.log;*.gz|Clef format (*.clef)|*.clef|Plain log text file (*.log)|*.log|GZIP file (*.gz)|*.gz"; } return(true); } catch (Exception ex) { LogManager.Instance.LogWarning($"Error loading user setting file: {ex.Message}", "Analogy Serilog Parser"); Settings = new SerilogSettings(); if (string.IsNullOrEmpty(Settings.FileOpenDialogFilters)) { Settings.FileOpenDialogFilters = "All Supported formats (*.Clef;*.log;*.gz)|*.clef;*.log;*.gz|Clef format (*.clef)|*.clef|Plain log text file (*.log)|*.log|GZIP file (*.gz)|*.gz"; } return(true); } } else { if (!optional) { Settings = new SerilogSettings(); if (string.IsNullOrEmpty(Settings.FileOpenDialogFilters)) { Settings.FileOpenDialogFilters = "All Supported formats (*.Clef;*.log;*.gz)|*.clef;*.log;*.gz|Clef format (*.clef)|*.clef|Plain log text file (*.log)|*.log|GZIP file (*.gz)|*.gz"; } return(false); } } return(false); }
static void TryCreateSettings() { m_Settings = AssetDatabase.LoadAssetAtPath <SerilogSettings>(SettingsFile); if (m_Settings == null) { m_Settings = ScriptableObject.CreateInstance <SerilogSettings>(); string settingsPath = Application.dataPath + "/" + SettingsDirectory; if (!Directory.Exists(settingsPath)) { Directory.CreateDirectory(settingsPath); } AssetDatabase.CreateAsset(m_Settings, SettingsFile); AssetDatabase.SaveAssets(); var preloadedAssets = PlayerSettings.GetPreloadedAssets().ToList(); preloadedAssets.Add(m_Settings); PlayerSettings.SetPreloadedAssets(preloadedAssets.ToArray()); } }
private static SerilogSettings GetOrCreateSettings() { settings = GetSettings(); if (settings == null) { settings = SerilogSettings.CreateInstance <SerilogSettings>(); string settingsPath = Application.dataPath + "/" + SETTINGS_DIRECTORY; if (!Directory.Exists(settingsPath)) { Directory.CreateDirectory(settingsPath); } AssetDatabase.CreateAsset(settings, SETTINGS_FILE); AssetDatabase.SaveAssets(); var preloadedAssets = UnityEditor.PlayerSettings.GetPreloadedAssets().ToList(); preloadedAssets.Add(settings); UnityEditor.PlayerSettings.SetPreloadedAssets(preloadedAssets.ToArray()); } return(settings); }
public KrisLogger(SerilogSettings settings) { string template = "{Timestamp:yyyy-MM-dd HH:mm:ss.ff} | {Level:u3} | {Message:lj}{Exception} | Action: '{ActionName}'{NewLine}"; _log = new LoggerConfiguration() .MinimumLevel.Debug() .MinimumLevel.Override("Microsoft", LogEventLevel.Information) .Enrich.FromLogContext() //.WriteTo.Console() .WriteTo.File( path: settings.FileDebugPath, outputTemplate: template, restrictedToMinimumLevel: LogEventLevel.Verbose, rollingInterval: RollingInterval.Day, rollOnFileSizeLimit: true, shared: true, flushToDiskInterval: TimeSpan.FromSeconds(1)) .WriteTo.File( path: settings.FileErrorPath, outputTemplate: template, restrictedToMinimumLevel: LogEventLevel.Error, rollingInterval: RollingInterval.Day, rollOnFileSizeLimit: true, shared: true, flushToDiskInterval: TimeSpan.FromSeconds(1)) .WriteTo.Elasticsearch(new ElasticsearchSinkOptions(new Uri(settings.Uri)) { AutoRegisterTemplate = true, MinimumLogEventLevel = Enum.Parse <LogEventLevel>(settings.LogLevel), CustomFormatter = new ExceptionAsObjectJsonFormatter(renderMessage: true), // for Kibana IndexFormat = settings.IndexFormat }) .CreateLogger(); }
public UserSettingsManager() { if (File.Exists(SerilogFileSetting)) { try { var settings = new JsonSerializerSettings { ObjectCreationHandling = ObjectCreationHandling.Replace }; string data = File.ReadAllText(SerilogFileSetting); Settings = JsonConvert.DeserializeObject <SerilogSettings>(data, settings); } catch (Exception ex) { LogManager.Instance.LogException(ex, "Analogy Serilog Parser", "Error loading user setting file"); Settings = new SerilogSettings(); } } else { Settings = new SerilogSettings(); } }
public WeatherForecastController(ILogger <WeatherForecastController> logger, IOptions <SerilogSettings> serilogSettings) { _serilogSettings = serilogSettings.Value; _logger = logger; }
/// <summary> /// Habilita el proveedor de errores Serilog. /// </summary> /// <param name="settings">La configuración del proveedor de errores Serilog.</param> /// <returns>La interface ILoggerService.</returns> private static ILoggerService UseSerilog(SerilogSettings settings) => new SerilogProvider(settings);