mirror of
https://github.com/tgstation/tgstation-server.git
synced 2026-08-31 09:02:41 +01:00
Store logs in /var/log by default on POSIX
This commit is contained in:
@@ -54,20 +54,29 @@ namespace Tgstation.Server.Host.Configuration
|
||||
/// </summary>
|
||||
/// <param name="ioManager">The <see cref="IIOManager"/> to use.</param>
|
||||
/// <param name="assemblyInformationProvider">The <see cref="IAssemblyInformationProvider"/> to use.</param>
|
||||
/// <param name="platformIdentifier">The <see cref="IPlatformIdentifier"/> to use</param>
|
||||
/// <returns>The evaluated log <see cref="Directory"/>.</returns>
|
||||
public string GetFullLogDirectory(IIOManager ioManager, IAssemblyInformationProvider assemblyInformationProvider)
|
||||
public string GetFullLogDirectory(
|
||||
IIOManager ioManager,
|
||||
IAssemblyInformationProvider assemblyInformationProvider,
|
||||
IPlatformIdentifier platformIdentifier)
|
||||
{
|
||||
if (ioManager == null)
|
||||
throw new ArgumentNullException(nameof(ioManager));
|
||||
if (assemblyInformationProvider == null)
|
||||
throw new ArgumentNullException(nameof(assemblyInformationProvider));
|
||||
if (platformIdentifier == null)
|
||||
throw new ArgumentNullException(nameof(platformIdentifier));
|
||||
|
||||
var directoryToUse = platformIdentifier.IsWindows
|
||||
? Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) // C:/ProgramData
|
||||
: "/var/log"; // :pain:
|
||||
|
||||
return !String.IsNullOrEmpty(Directory)
|
||||
? Directory
|
||||
: ioManager.ConcatPath(
|
||||
Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData), // common app data is C:/ProgramData on windows, else /usr/share
|
||||
assemblyInformationProvider.VersionPrefix,
|
||||
"Logs");
|
||||
directoryToUse,
|
||||
assemblyInformationProvider.VersionPrefix);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -330,7 +330,7 @@ namespace Tgstation.Server.Host.Controllers
|
||||
[ProducesResponseType(typeof(ErrorMessage), 409)]
|
||||
public async Task<IActionResult> ListLogs(CancellationToken cancellationToken)
|
||||
{
|
||||
var path = fileLoggingConfiguration.GetFullLogDirectory(ioManager, assemblyInformationProvider);
|
||||
var path = fileLoggingConfiguration.GetFullLogDirectory(ioManager, assemblyInformationProvider, platformIdentifier);
|
||||
try
|
||||
{
|
||||
var files = await ioManager.GetFiles(path, cancellationToken).ConfigureAwait(false);
|
||||
@@ -378,7 +378,7 @@ namespace Tgstation.Server.Host.Controllers
|
||||
throw new ArgumentNullException(nameof(path));
|
||||
|
||||
var fullPath = ioManager.ConcatPath(
|
||||
fileLoggingConfiguration.GetFullLogDirectory(ioManager, assemblyInformationProvider),
|
||||
fileLoggingConfiguration.GetFullLogDirectory(ioManager, assemblyInformationProvider, platformIdentifier),
|
||||
path);
|
||||
try
|
||||
{
|
||||
|
||||
@@ -122,7 +122,10 @@ namespace Tgstation.Server.Host.Core
|
||||
if (postSetupServices.FileLoggingConfiguration.Disable)
|
||||
return;
|
||||
|
||||
var logPath = postSetupServices.FileLoggingConfiguration.GetFullLogDirectory(IOManager, AssemblyInformationProvider);
|
||||
var logPath = postSetupServices.FileLoggingConfiguration.GetFullLogDirectory(
|
||||
IOManager,
|
||||
AssemblyInformationProvider,
|
||||
postSetupServices.PlatformIdentifier);
|
||||
|
||||
var logEventLevel = ConvertSeriLogLevel(postSetupServices.FileLoggingConfiguration.LogLevel);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user