This commit is contained in:
@@ -20,16 +20,70 @@ namespace AyaNova
|
||||
|
||||
public static void Main(string[] args)
|
||||
{
|
||||
//https://github.com/npgsql/efcore.pg/issues/2045
|
||||
//https://www.npgsql.org/efcore/release-notes/6.0.html#breaking-changes
|
||||
//https://github.com/npgsql/efcore.pg/issues/2045
|
||||
//https://www.npgsql.org/efcore/release-notes/6.0.html#breaking-changes
|
||||
//AppContext.SetSwitch("Npgsql.EnableLegacyTimestampBehavior", true);
|
||||
|
||||
//first output
|
||||
Console.WriteLine($"AYANOVA SERVER {AyaNovaVersion.VersionString} BOOTING ...");
|
||||
|
||||
//Boot lock for generator
|
||||
ServerGlobalOpsSettingsCache.BOOTING = true;
|
||||
|
||||
//Get config
|
||||
var config = new ConfigurationBuilder().AddEnvironmentVariables().AddCommandLine(args).Build();
|
||||
var config = new ConfigurationBuilder().AddJsonFile("config.json", true).AddEnvironmentVariables().AddCommandLine(args).Build();
|
||||
|
||||
//Ensure we have critical config values set, if not need to bail with clear message
|
||||
bool HaveAllCrticalConfigValues = true;
|
||||
ServerBootConfig.SetConfiguration(config);
|
||||
if (string.IsNullOrWhiteSpace(ServerBootConfig.AYANOVA_DB_CONNECTION))
|
||||
{
|
||||
Console.WriteLine($"FAIL: AYANOVA_DB_CONNECTION configuration setting missing and required");
|
||||
HaveAllCrticalConfigValues = false;
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(ServerBootConfig.AYANOVA_FOLDER_BACKUP_FILES))
|
||||
{
|
||||
Console.WriteLine($"FAIL: AYANOVA_FOLDER_BACKUP_FILES configuration setting missing and required");
|
||||
HaveAllCrticalConfigValues = false;
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(ServerBootConfig.AYANOVA_FOLDER_USER_FILES))
|
||||
{
|
||||
Console.WriteLine($"FAIL: AYANOVA_FOLDER_USER_FILES configuration setting missing and required");
|
||||
HaveAllCrticalConfigValues = false;
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(ServerBootConfig.AYANOVA_FOLDER_TEMPORARY_SERVER_FILES))
|
||||
{
|
||||
Console.WriteLine($"FAIL: AYANOVA_FOLDER_TEMPORARY_SERVER_FILES configuration setting missing and required");
|
||||
HaveAllCrticalConfigValues = false;
|
||||
}
|
||||
|
||||
if (!HaveAllCrticalConfigValues)
|
||||
{
|
||||
Console.WriteLine($"Required configuration settings missing; server can not be started");
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// "AYANOVA_FOLDER_USER_FILES":"%programdata\\ayanova\\userfiles",
|
||||
// "":"%programdata\\ayanova\\backupfiles",
|
||||
// "AYANOVA_LOG_LEVEL": "Info",
|
||||
// "AYANOVA_LOG_PATH":"%programdata\\ayanova\\"
|
||||
|
||||
//Human readable config output to console for diagnosis in case server wont' start
|
||||
|
||||
var AyaNovaConfig = config.AsEnumerable().Where(z => z.Key.StartsWith("AYANOVA") && z.Key != "AYANOVA_JWT_SECRET" && z.Key != "AYANOVA_SET_SUPERUSER_PW").Select(z => z.Key + "=" + z.Value).ToList();
|
||||
var DiagConfig = string.Join(",", AyaNovaConfig);
|
||||
DiagConfig = DbUtil.PasswordRedactedConnectionString(DiagConfig);
|
||||
Console.WriteLine($"Config {DiagConfig}");
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -163,20 +217,10 @@ namespace AyaNova
|
||||
|
||||
//This is the first log entry
|
||||
logger.Info($"AYANOVA SERVER {AyaNovaVersion.VersionString} BOOTING");
|
||||
Console.WriteLine($"AYANOVA SERVER {AyaNovaVersion.VersionString} BOOTING ...");
|
||||
|
||||
|
||||
//log configuration
|
||||
try
|
||||
{
|
||||
var AyaNovaConfig = config.AsEnumerable().Where(z => z.Key.StartsWith("AYANOVA") && z.Key != "AYANOVA_JWT_SECRET" && z.Key != "AYANOVA_SET_SUPERUSER_PW").Select(z => z.Key + "=" + z.Value).ToList();
|
||||
var DiagConfig = string.Join(",", AyaNovaConfig);
|
||||
DiagConfig = DbUtil.PasswordRedactedConnectionString(DiagConfig);
|
||||
logger.Info($"Config {DiagConfig}");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
logger.Error(ex, "Error fetching configuration");
|
||||
}
|
||||
logger.Info($"Config {DiagConfig}");
|
||||
logger.Debug($"Full configuration is {config.GetDebugView()}");
|
||||
|
||||
if (ServerBootConfig.AYANOVA_LOG_ENABLE_LOGGER_DIAGNOSTIC_LOG)
|
||||
|
||||
@@ -183,6 +183,7 @@ namespace AyaNova.Util
|
||||
//Log folder
|
||||
AYANOVA_LOG_PATH = config.GetValue<string>("AYANOVA_LOG_PATH");
|
||||
|
||||
|
||||
if (AYANOVA_LOG_PATH == null)
|
||||
{
|
||||
//DEFAULT LOG PATH
|
||||
|
||||
Reference in New Issue
Block a user