public static ILogger GetMultiTargetLogger(ILogger logger) { if (multiTargetLogger == null) { MultiTargetLogger multiLogger = new MultiTargetLogger(); TextFileLogger fileLogger = new TextFileLogger(); fileLogger.Folder = new DirectoryInfo(ContentRoot); multiLogger.AddLogger(fileLogger); multiLogger.AddLogger(logger); multiLogger.StartLoggingThread(); multiTargetLogger = multiLogger; } return(multiTargetLogger); }
public void AddLogger(ILogger logger) { MultiTargetLogger mtl = new MultiTargetLogger(); if (MainLogger != null) { if (MainLogger.GetType() == typeof(MultiTargetLogger)) { mtl = (MultiTargetLogger)MainLogger; } else { mtl.AddLogger(MainLogger); } } mtl.AddLogger(logger); MainLogger = mtl; }
public static ILogger GetMultiTargetLogger(ILogger logger) { if (multiTargetLogger == null) { MultiTargetLogger multiLogger = new MultiTargetLogger(); multiLogger.AddLogger(logger); multiLogger.StartLoggingThread(); multiTargetLogger = multiLogger; } return(multiTargetLogger); }
/// <summary> /// Generates a Dao Assembly for the underlying /// storable types if it has not yet been generated /// </summary> /// <returns></returns> public Assembly EnsureDaoAssemblyAndSchema(bool useExisting = true) { if (_daoAssembly == null) { _daoAssembly = GenerateDaoAssembly(useExisting); } Args.ThrowIfNull(Database, "Database"); if (SchemaStatus == EnsureSchemaStatus.Invalid) { MultiTargetLogger logger = new MultiTargetLogger(); Subscribers.Each(l => logger.AddLogger(l)); SchemaStatus = Database.TryEnsureSchema(_daoAssembly.GetTypes().First(type => type.HasCustomAttributeOfType(out TableAttribute attr) && attr.ConnectionName.Equals(SchemaName)), logger); } return(_daoAssembly); }